Low-Code Architektur
10.01.2022
Sarah Berger

Wie kannst du Bubble als Backend verwenden?

Eine flexible Low-Code Architektur bietet dir die Möglichkeit, die Vorteile der verschiedenen Plattformen miteinander zu verknüpfen und skalierbare Anwendungen zu entwickeln. In diesem Artikel beschreiben wir, wie du für deine Softwareapplikation Bubble als Backend verwenden kannst. Das ist beispielsweise sehr hilfreich, wenn du verschiedene Interfaces (Webanwendung, Native App) entwickeln und dabei die Vorteile von einem  No-Code Backend nutzen möchtest.

Viel Spaß und los geht's.

Warum verschiedene Low-Code Plattformen miteinander verknüpfen?

Es gibt unzählige Low-Code und No-Code Plattformen auf dem Markt. Dabei hat jede Plattform gewisse Vor- und Nachteile und ist für spezifische Anwendungsfälle entwickelt. Die Anforderungen an dein Softwareprojekt können ebenfalls sehr speziell sein oder sich auch über die Zeit verändern. Bubble.io ist eine No-Code Plattform, welche es dir erlaubt eine komplette Webapplikation zu entwickeln. Dazu gehört die integrierte Datenbank, ein Userinterface, sowie Workflows, um die Business-Logik zu entwickeln. Abgerundet wird dies durch Integrationsmöglichkeiten durch Plug-ins oder API-Schnittstellen.

Allerdings gibt es Situationen, in denen du dein eigenes Frontend entwickeln möchtest. Dabei kann es sich um eine Webapplikation handeln, oder auch um eine native App. Eine Low-Code Architektur, welche häufig verwendet, wird in diesem Zusammenhang ist die Integration von Bubble und Adalo bzw. Appgyver.

Vielleicht möchtest du auch mehrere Interfaces mit dem gleichen Backend entwickeln. Das ist beispielsweise sehr sinnvoll, wenn du deine Webapplikation und eine mobile App hast für verschiedene Zielgruppen und Anwendungsfälle.

Daneben bietet dir diese Low-Code Architektur zusätzlich die Möglichkeit Prozesse und Workflows zu automatisieren. Beispielsweise kannst du mit dem Bubble-Backend alleine schon einige Automatisierungen entwickeln. Du kannst es aber natürlich auch mit Low-Code Plattformen wie Integromat oder n8n integrieren. Damit hast du die volle Bandbreite an verschiedenen Möglichkeiten, um deine Prozesse zu automatisieren.

Jede Low-Code Architektur ist einzigartig und muss auf den entsprechenden Anwendungsfall angepasst werden. Sprich uns gerne an, wir bieten No-Code und Low-Code Beratung an.

Welche Funktionen bietet mir Bubble als Backend?

Integration von Bubble Backend Funktionen in andere Low-Code oder Custom Code Systeme

Datenbank

Wenn du deine Anwendung mit Bubble entwickeln möchtest, musst du keine externe Datenbank verwenden. Bubble bietet dir die Möglichkeit, die integrierte Datenbank zu nutzen. Damit ist es möglich, die Datenstruktur zu modellieren und Daten manuell zu editieren, sowie einzusehen. Es ist ebenfalls möglich Files wie (Audiofiles, Bilder oder andere Dateien) abzulegen. Diese werden im S3 Bucket gespeichert und als Link hinterlegt.

Gerade bei Anwendungen mit vielen großen Dateien (z.B. Bilder oder Audiofiles) kann es jedoch schnell teuer werden. Hier ist es anzuraten einen eigenen S3 Bucket oder ähnliches aufzusetzen und dort die Dateien zu speichern.

Sprich uns gerne an, wenn du dazu Fragen hast. In einer unseren Anwendungen haben wir diese Architektur konzipiert und erfolgreich umgesetzt.

Workflows

Mit dem Bubble-Backend ist es möglich eigene Automatisierungsprozesse zu konzipieren. Das gilt sowohl für Anwendungsinterne Prozesse, als auch für externe Integrationen. Je nach Anwendungsfall benötigst du keine Drittsysteme wie Zapier oder Integromat. Workflows können genutzt werden, um Prozesse zu automatisieren oder Logik zu verarbeiten. Diese Workflows werden über die bereitgestellten APIs zur Verfügung gestellt. Hierbei wird zwischen der Daten-API und der Workflow-API unterschieden. Während die Daten API die CRUD-Operationen für vorhandene Datentypen erlaubt, bietet dir die Workflow-API volle Flexibilität.

Es ist ebenfalls möglich externe Webhooks zu integrieren. Beispielsweise, um automatisiert Stripe Zahlungen zu verarbeiten.

Roles & Permissions

Es ist möglich, mit Bubble sehr sichere oder sehr unsichere Anwendungen zu entwickeln. Der Unterschied ist dabei der Entwickler und die Verwendung der Data Privacy Regeln. Diese ermöglichen es genau zu definieren welche Rolle / Person / andere Merkmale, welche Datentypen bzw. deren Attribute sehen darf. Das Bubble-Backend bietet dir dazu die Möglichkeit das Userobjekt völlig frei zu definieren. Du kannst so viele Rollen und Berechtigungen modellieren wie du benötigst.

Die Data Privacy Regeln gelten ebenfalls bei der Nutzung der Daten-API und Workflow-API. Allerdings nur, wenn du NICHT den allgemeinen API-Key verwendest, sondern nutzerbasierte Token. In diesem Tutorial erfährst du mehr über den Unterschied zur Verwendung von API-Keys und Bearer Token innerhalb deiner Bubble-Anwendung.

Authentication

Möchtest du dein Bubble-Backend mit einem Frontend Framework wie React oder Vue verknüpfen, musst du dir keine Gedanken um die Authentifizierung machen. Du kannst dein Bubble-Backend als Identity Provider nutzen. Es gibt zwei Möglichkeiten für die Implementierung.

  1. Interne Workflow Prozesse für die Registrierung / Password Reset / Login Funktionalität
  2. Nutzung vom Bubble SSO Service mit OAuth Standard

Je nach Anwendungsfall ist es nicht möglich, die Standardvariante (Fall 2) zu verwenden, dann muss zwangsläufig auf die erste Variante zurückgegriffen werden. Wir empfehlen die Standard OAuth Variante.

Wenn du OAuth für dich böhmische Dörfer sind, empfehlen wir dieses Video von uns. Es beschreibt OAuth und wie du es mit Bubble integrieren kannst.

Automation

Wie bereits beschrieben kann das Backend deiner Bubble-Anwendung nicht nur externe APIs via Rest oder GraphQL konsumieren oder nutzen. Es ist ebenfalls möglich eigene API-Endpunkte mit entsprechenden Workflows zu entwickeln. Hinter einem API-Endpunkt können dann eine ganze Reihe an automatisierter Prozessschritte stecken. Beispielsweise zum Anlegen oder Modifizieren neuer Datenobjekte. Natürlich können interne Prozessschritte (innerhalb deiner Anwendung) mit externen kombiniert werden. Das gilt auch für die automatisierte Versendung von E-Mails, SMS oder anderen Chatnachrichten (z.B. Slack oder Discord).

Mit deinem Bubble-Backend und Kenntnisse im Umgang mit APIs sind keine Grenzen gesetzt.

User management

Da das Userobjekt komplett frei modelliert werden, ist es möglich, die komplette Userverwaltung mit dem Bubble-Backend zu realisieren. Komplett ohne Drittsysteme. Persönliche Einstellungen, Zahlungspräferenzen oder interne Informationen zum User können innerhalb eines Systems modelliert und abgespeichert werden.

Welche Vorteile bietet mir die Integration vom Bubble-Backend?

Nachdem du einen Überblick bekommst hast, welche Funktionen dir das Bubble-Backend bietet, geht es jetzt um die Vorteile, welche damit realisiert werden können. Die Vorteile sind je nach Anwendungsfall unterschiedlich zu gewichten.

Mehr Flexibilität

Ein Vorwurf an Low-Code oder No-Code Plattformen ist, dass diese nicht flexibel genug sind und die Entwickler zu stark einschränken. Mehr noch, wird häufig das Argument genutzt, dass gewissen komplexe Applikationen nicht mit Low-Code Plattformen entwickelt werden können. Das war in der Vergangenheit sicherlich der Fall. Allerdings haben sich die Plattformen in den letzten Jahren massiv weiterentwickelt. Mit der Integration vom Bubble-Backend mit anderen Low-Code Plattformen oder Eigenentwicklungen hast du mehr Flexibilität. Das Frontend kann mit Bubble entwickelt werden, muss es aber nicht.

Du kannst andere Frontendframeworks verwenden, welche dir mehr Gestaltungsfreiraum geben oder andere Vorteile haben (z.B. Performance). Gleichzeitig kannst du trotzdem die Vorteile von Low-Code nutzen und die Entwicklungsgeschwindigkeit steigern.

Wiederverwendung der Business-Logik

Bis vor einigen Jahren war es völlig normal eine große Anwendung als Monolith zu entwickeln. Mit dem Einzug von Microservices soll es unter anderem möglich sein, die Business-Logik flexibel zu gestalten und vor allem wiederzuverwenden. Das bedeutet ganz konkret, dass unterschiedliche Anwendungen die gleiche Business-Logik mittels Standardschnittstellen verwenden können. Das spart Zeit bei der initialen Entwicklung, als auch beim Maintenance.

Unterschiedliche Interfaces

Mit Bubble lassen sich Webapplikationen und PWAs entwickeln. Es gibt auch diverse Drittanbieter, mit denen es anschließend möglich ist eine mobilfähige App zu entwickeln. Allerdings ist nicht möglich alle Funktionen der nativen Appentwicklung zu nutzen. Es gibt Situationen (gerade im IoT-Umfeld) in denen man nicht um eine nativen Appentwicklung drum rumkommt. Das bedeutet jedoch nicht, dass überhaupt kein Einsatz von Low-Code oder No-Code möglich ist. Viel mehr geht es darum zu identifizieren, welche Komponenten mit Custom Code oder anderen Low-Code Plattformen (z.B. Appgyver, FlutterFlow) entwickelt werden können. Immer mit dem Ziel, das beste Produkt mit dem geringsten Zeitaufwand zu entwickeln.

Das Bubble-Backend kann von verschiedenen Interfaces genutzt werden. Beispielsweise können die Adminfunktionen über eine Weboberfläche (entwickeln in Bubble) genutzt und eine native App für User entwickelt werden.

Ich hoffe, du hast einen ersten Überblick bekommen, welche Möglichkeiten es gibt Bubble als Backend für deine Softwareapplikation zu benutzen. Solltest du Beratung bei der Entwicklung deiner Low-Code Architektur benötigten, kannst du uns sehr gerne kontaktieren.

Du hast Fragen zu diesem Thema?

Kontakt aufnehmen
Biberei Icon

Kategorien

Low Code Architektur
Tutorial
Bubble.io

Lass uns über dein Projekt reden

Erzähle uns in einem kostenlosen Erstgespräch mehr über dein individuelles Projekt. Wir helfen dir bei den nächsten Schritten und teilen unser Wissen.

Nachricht schreiben