Quo Vadis No-Code & Low-Code?

Einer der Trends des Jahres 2023 sind No-Code- und Low-Code-Plattformen. Bei diesen Plattformen handelt es sich um eine Art von Software, die es den Nutzern ermöglicht, Anwendungen zu erstellen und zu entwickeln, ohne dass sie über größere Programmierkenntnisse verfügen müssen. Beim Einsatz dieser Plattformen entfallen jedoch nicht alle Aspekte der Anwendungsentwicklung.
No-Code erklärt
Der Begriff No-Code bezieht sich auf die Erstellung von Anwendungen ohne programmieren zu müssen. Häufig handelt es sich dabei um Webanwendungen, die über einen Browser erstellt und genauso verwendet werden können. Dazu verfügen No-Code-Plattformen in der Regel über eine benutzerfreundliche Oberfläche, die es den Nutzern leicht macht, per Drag-and-drop verschiedene Elemente zur Erstellung ihrer eigenen Anwendungen zu verwenden. Diese Plattformen werden entweder über das Internet als SaaS-Lösung genutzt oder im Unternehmensnetzwerk bereitgestellt.
Zunächst sind No-Code-Plattformen eigentlich nichts Neues. Zur Erstellung von Webseiten gab es bereits um die Jahrtausendwende WYSIWYG-Editoren (What you see is what you get), wie z. B. Apple iLife 2006, mit denen auch interaktive Elemente wie Google Maps integriert werden konnten, ohne dazu programmieren zu müssen. In vielen Anwendungen gibt es auch bereits grafisch konfigurierbare Elemente, wie Workflow-Designer, Regelwerke oder Formeln. Nun hat sich No-Code jedoch zum Trendwort entwickelt und viele Produkte bewerben dynamisch anpassbare Funktionen als No-Code-Feature.
No-Code-Plattformen umfassen Landing-Page-Designer, Erweiterungen von Anwendungen und komplette Applikationsbaukästen. Insbesondere in den Applikationsbaukästen wird aktuell ein Vorteil zur schnelleren Entwicklung gesehen. Ein Beispiel für eine No-Code-Plattform bietet die Plattform SaaS.do [1]. In der Plattform werden über eine Weboberfläche Datenobjekte, sogenannte Entitäten, modelliert (s. Abb. 1). Zur späteren Manipulation der Entitäten durch den Anwender werden automatisch Oberflächen bestehend aus Tabellen und Formularen generiert. Durch Workflows können Aktionen ausgelöst werden. So kann beispielsweise bei Anlage eines neuen Datensatzes eine E-Mail versendet werden.
Wie unterscheiden sich Low-Code-Plattformen?
Während No-Code ohne Code auskommen soll, wird im Fall von Low-Code ein wenig programmiert. Die Softwareplattformen ermöglichen es den Benutzern, mit geringen oder gar keinen Programmierkenntnissen, Anwendungen zu erstellen. Diese Plattformen werden in der Regel mit vorgefertigten Vorlagen und Tools geliefert, die es den Nutzern leicht machen, ihre eigenen benutzerdefinierten Anwendungen durch Drag-and-drop verschiedener Elemente zu erstellen. Funktionen können per GUI, Javascript-Methoden oder SQL Queries definiert werden. Durch den größeren Funktionsumfang bei Low-Code können komplexere Abläufe und Vorhaben als bei No-Code abgebildet werden.
Der entstehende Quellcode besteht zunächst aus einfachen Methoden, die eben ohne große Vorkenntnisse geschrieben werden können. Die Entwickler dieser Funktionen werden als Citizen-Developer bezeichnet. Wird die Anwendung umfangreicher und somit komplexer, wächst auch die Quellcode-Basis und wird somit auch entsprechend umfangreicher in der Pflege und Wartung. Praktiken wie Versionierung, Peer-Reviews, Staging-Umgebungen oder automatisierte Tests finden auch bei Low-Code Anwendung.
Low-Code-Plattformen werden ebenfalls als Software-as-a-Service- (SaaS) oder On-Premise-Lösungen angeboten. Je nach Produkt ist es jedoch notwendig, die eigene Datenverwaltung einzubringen. Diese kann unterschiedliche Formen vom Google-Spreadsheet bis zur Datenbankinstanz in der Cloud oder on-premise sein. So ergeben sich für einige Anwender bereits erste Hürden in der Nutzung dieser Plattformen.
Ein Exemplar einer Low-Code-Plattform ist Oracles Application Express, kurz APEX [2]. Die Historie des Produktes geht über 20 Jahre zurück, damit ist auch deutlich, dass Low-Code kein ganz neues Thema ist. APEX erlaubt die Erstellung sehr umfangreicher, dynamischer Web-Applikationen. Im Betrieb des Autors wird die Plattform u. a. für Webanwendungen zur Projektabwicklung, Personalaufgaben und Budgetplanung eingesetzt. Erstellt werden diese mit einer webbasierten Entwicklungsumgebung mit zahlreichen Funktionen. Eine komplette Übersicht würde den Rahmen dieses Artikels sprengen, Abb. 2 verdeutlicht gut den Unterschied im Vergleich zur vorgestellten No-Code-Plattform.
Gründe für No-/Low-Code
Der Hauptvorteil von No-/Low-Code-Plattformen ist, dass sie es auch Nutzern ohne Softwareentwicklungsfähigkeiten ermöglichen, ihre eigenen Anwendungen zu erstellen. Das bedeutet, dass Einzelpersonen oder Unternehmen ihre eigenen benutzerdefinierten digitalen Lösungen erstellen können. Dies kann Zeit und Geld sparen, da kein Entwicklerteam eingestellt werden muss, um eine Anwendung von Grund auf zu erstellen.
Ein weiterer Vorteil von Low-Code-Plattformen besteht darin, dass sie für die Entwicklung einer breiten Palette unterschiedlicher Anwendungen genutzt werden können. Einige beliebte Beispiele für Anwendungen, die mit Low-Code-Plattformen erstellt werden können, sind Websites, Online-Shops und Datenbanken. Außerdem bieten Low-Code-Plattformen eine schnelle und einfache Möglichkeit für Privatpersonen und Unternehmen, ihre eigenen maßgeschneiderten digitalen Prozesse zu erstellen. Dies ist für die fortschreitende Digitalisierung förderlich.
Die Plattformen sind in der Regel integrativ. Sie erlauben über API oder Datei-Schnittstellen die Kommunikation mit anderen Anwendungen und Diensten. Für die Digitalisierung von bestehenden Prozessen ist es förderlich, wenn bereits viele Dienste ohne große Umstände direkt nutzbar sind. Für weitere Dienste sind konfigurierbare Schnittstellenadapter für die gängigen Typen (z. B. REST & OAuth) relevant.
Die Nachteile der No-/Low-Code-Plattformen sind nicht eindeutig zu definieren, denn oft kommt es auf das konkrete Szenario an. So kann der Funktionsumfang bei einer wachsenden Applikation in dem einen Szenario sehr einschränken, bei einem anderen ist dieser jedoch mehr als ausreichend. Sicher ist jedenfalls, dass der Einsatz eine Abhängigkeit vom Plattform-Anbieter erzeugt. Geht dieser technische Neuerungen nicht mit oder ändert sein Preismodell, muss die Anwendung ggf. auf eine andere Plattform transferiert werden, was möglicherweise einer Neuentwicklung gleichkommt. Einen Standard, der eine Transferierbarkeit ermöglicht, gibt es bisher nicht.
In einer Gesamtkostenbetrachtung sollte der Einsatz der Plattformen günstiger sein. Andernfalls stellt sich die Frage, ob sich die Abhängigkeit vom Anbieter oder ein einschränkender Funktionsumfang im Vergleich zur Individualentwicklung lohnen. Die Antwort darauf kann, wie erwähnt, ein fehlendes Entwicklungsteam oder ein Geschwindigkeitsvorteil sein.
Einsatzmöglichkeiten und Herausforderungen
No-Code- und Low-Code-Plattformen bieten ein breites Spektrum an Einsatzmöglichkeiten, da sie für die Entwicklung einer Vielzahl unterschiedlicher Anwendungen genutzt werden können. Low-Code-Plattformen können auch dazu verwendet werden, bestimmte Aufgaben zu automatisieren, z. B. das Versenden von E-Mails oder Benachrichtigungen, was sie zu einem nützlichen Werkzeug für Unternehmen macht, die ihre Abläufe rationalisieren möchten. Weitere häufige Anwendungsfälle für No-Code- und Low-Code-Plattformen sind die Erstellung von Geschäftsanwendungen. Sie können als Microservice in ein größeres System integriert werden oder als eigenständige Anwendungen für Datenhaltungsaufgaben (z. B. ein Inventar) eingesetzt werden. Insbesondere zu letzterem wird in Unternehmen oft eine Tabellenkalkulation eingesetzt, nicht selten auch für unternehmenskritische Aufgaben. So entsteht eine Schatten-IT, also Anwendungen, die der IT unbekannt sind und oft nicht auf Ausfallsicherheit, Backup, Datenschutz und IT-Sicherheit geprüft sind. Solche Szenarien können gut durch No-Code- oder Low-Code-Plattformen ersetzt werden. Die Mitarbeiter können sich ohne oder mit wenigen Programmierkenntnissen maßgeschneiderte digitale Lösungen erstellen und die Anwendung kann durch die eigene IT oder den Plattformbetreiber betrieben, gesichert und gewartet werden.
Die Plattformen werden häufig eingesetzt, um schnell und einfach Lösungen zu erstellen, ohne in ein Entwicklerteam investieren zu müssen. Auch wenn bei den Plattformen keine aufwändige Programmierung notwendig ist, ist dennoch ein Anwendungskonzept erforderlich. Die Basis-Aufgaben der Anwendungsentwicklung sind zu berücksichtigen. So sind z. B. in den Datenmodellen die Konsistenz zu prüfen und Datenschutzregeln zu beachten. IT-Sicherheit und Betriebsaspekte sind ebenfalls Teil des Anwendungskonzeptes.
Eine Empfehlung beim Einsatz dieser Plattformen ist die gemeinschaftliche Entwicklung zwischen Citizen Developern und der IT. Dadurch werden die relevanten Themen bedacht und entstehende Anwendungen sind nicht von Einzelpersonen abhängig, die unter Umständen das Unternehmen verlassen und die Anwendung der IT über den Zaun werfen. Je komplexer die Anwendung wird, desto mehr muss auch in Versionierung, Releasemanagement und Code-Reviews investiert werden.
Der Geschwindigkeitsvorteil in der Entwicklung wird auch häufig in der schnellen Erstellung von Prototypen oder ersten Produktversionen (Minimum Viable Product) gesehen. Für Prototypen eignen sich die Plattformen, schließlich ist das Ziel eines Prototyps die Umsetzung eines Konzeptes, nicht die dauerhafte Nutzung. Bei ersten Produktversionen ist es hingegen eine Frage der Komplexität der Gesamtapplikation. Es ist abzuwägen, ob die eingesetzte Plattform langfristig ausreicht und falls nicht, ob der erste Geschwindigkeitsvorteil die spätere Implementierung aufwiegt.
Die Zukunft der No-/Low-Code-Plattformen
Ein weiterer Trend sind aktuelle KI-Werkzeuge zur Generierung von Text, Bildern und Quellcode. Insbesondere die generative KI ChatGTP [3] macht gerade von sich reden. Die Ableger bzw. Vorgängerversionen GTP-2 und GTP-3 können durch Texteingaben eines Benutzers einfache Code-Schnipsel generieren. Dieses Verfahren kann und wird in Low-Code-Plattformen eingesetzt. Erste Varianten hat Microsoft in seinem Produkt Power Apps integriert [4]. Citizen Developer können beispielsweise ein Formular textuell beschreiben und die KI generiert den passenden Quellcode und verknüpft die Funktionen miteinander.
Analysten wie Gartner oder Forrester zufolge soll der Einsatz von No-/Low-Code-Plattformen stetig zunehmen [5]. Angesichts des Fachkräftemangels sind diese Prognosen nicht unrealistisch. Auch erfahrene Entwicklungsteams werden wahrscheinlich damit beginnen, routinemäßige Programmieraufgaben mit No-/Low-Code-Plattformen zu lösen. Der Softwareberater Thoughtworks führt in der jüngsten Ausgabe seines Technology Radars auch eine Low-Code-Plattform in der Kategorie Trial [6].
Fazit
Insgesamt sind No-Code- und Low-Code-Plattformen also nützliche Werkzeuge für die Erstellung einer breiten Palette digitaler Lösungen. Somit ist dieser Trend ernstzunehmen und der Einsatz der Plattformen in Betracht zu ziehen. Doch ein Selbstläufer sind sie nicht. Der Einsatz sollte wohl überlegt und konzipiert sowie von Fachkräften betreut werden. Unter diesen Voraussetzungen kann die Entwicklung einer Lösung schnell und langfristig erfolgreich umgesetzt werden.
- Necara GmbH: SaaS.do
- Oracle Application Express
- OpenAI Chat-GTP
- R. Cunningham: Introducing Power Apps Ideas: AI-powered assistance now helps anyone create apps using natural language
- Gartner: Gartner Forecasts Worldwide Low-Code Development Technologies Market to Grow 20% in 2023
Chris Gardner: Forrester Predictions 2023: Citizen Development And The Metaverse Stir Up Software Development - Thoughtworks: Retool - Technology Radar
Neuen Kommentar schreiben