Low Code

Eine Low-Code-Entwicklungsplattform ist eine Softwarelösung, die darauf ausgelegt ist, die Erstellung von Anwendungen durch grafische Benutzeroberflächen und Konfiguration anstelle der traditionellen handprogrammierten Computerprogrammierung zu erleichtern. Dieser Ansatz ermöglicht es Einzelpersonen ohne umfassende Programmierkenntnisse, Anwendungen zu erstellen oder zu erweitern, wodurch der Entwicklungsprozess schneller und effizienter wird und einem breiteren Personenkreis zugänglich ist. Low-Code benötigt daher eine zugrundeliegende, domänenspezifische Modellierungssprache (DSML), die es den Benutzern ermöglicht, ihre Wünsche in ihrer Komfortzone auszudrücken.

Hauptaspekte von
Low-Code-Plattformen

Visuelle Konfiguration und Entwicklungsumgebung

Low-Code-Plattformen bieten in der Regel eine visuelle Benutzeroberfläche, auf der Benutzer Anwendungskomponenten per Drag & Drop verschieben, die Benutzeroberfläche gestalten und Arbeitsabläufe durch grafische Elemente definieren können. Dieser visuelle Ansatz vereinfacht komplexe Kodierungsaufgaben, insbesondere für Benutzer, die nur gelegentlich eine solche Entwicklungsplattform verwenden.

Wir haben jedoch die Erfahrung gemacht, dass ein rein visueller Ansatz auch einige Nachteile hat. (1) für erfahrene Benutzer ist die Texteingabe effizienter; (2) Text kann leicht wiederverwendet werden („copy/paste“ aus Bibliotheken); (3) größere Refactorings sind effizienter; (4) die Versionierung und das Verständnis evolutionärer Änderungen sind einfacher zu erreichen. Wir stellen uns daher kombinierte visuelle/textuelle Entwicklungsumgebungen für Low-Code-Ansätze vor.

Rapid Development

Durch die Minimierung des manuellen Programmieraufwands beschleunigt eine Low-Code-Plattform den Entwicklungsprozess. Die Benutzer können in einem Bruchteil der Zeit, die sie mit herkömmlichen Entwicklungsmethoden benötigen würden, Prototypen erstellen und Anwendungen bereitstellen. Diese schnelle Entwicklungsfähigkeit ist besonders nützlich für Unternehmen, die sich schnell an Marktveränderungen anpassen oder neue Ideen testen wollen.

Zugänglichkeit

Einer der Hauptvorteile der Low-Code-Entwicklung ist ihre Zugänglichkeit. Sie öffnet die Anwendungsentwicklung für ein breiteres Publikum, darunter Geschäftsanalysten, Fachexperten und andere nichttechnische Benutzer. Dies kann die Innovation fördern und es Unternehmen ermöglichen, das Fachwissen ihrer Teams effektiver zu nutzen.

Zu diesem Zweck ist es wichtig, dass Nicht-Programmierer während des gesamten evolutionären Prozesses auf die Low-Code-Modelle zugreifen und sie verstehen können, während der möglicherweise notwendige zusätzliche Code von den Entwicklern in den späteren Phasen eingefügt oder in DSL-Komponenten für die Black-Box-Wiederverwendung wie Bibliothekskomponenten gekapselt wird. Eine klare Trennung der beiden Schichten mit voneinander unabhängigen Entwicklungsmöglichkeiten ist erforderlich.

Integration und Skalierbarkeit

Wie bereits erwähnt, müssen Low-Code-Plattformen integrierte Funktionen für die Integration von Datenbanken, APIs und anderen Diensten enthalten, um die Anbindung von Anwendungen an bestehende Systeme zu erleichtern. Solche Integrationen müssen vorgenommen werden können, ohne dass die Anwender von diesen technischen Details etwas mitbekommen.

Darüber hinaus sollte die verborgene Technik von Low-Code-Anwendungen in der Lage sein, zunächst klein anzufangen, aber auch eine Skalierung zu ermöglichen, um die Entwicklung von Unternehmensanwendungen zu unterstützen, die eine große Anzahl von Benutzern und komplexe Arbeitsabläufe bewältigen können.

Anpassbarkeit und Erweiterbarkeit

Low-Code-Plattformen bieten nicht nur eine Fülle von vorgefertigten, geschäftsspezifischen Komponenten, die die Entwicklung beschleunigen, sondern ermöglichen auch die Anpassung und Erweiterung von Anwendungen. Entwickler können Anwendungen mit benutzerdefiniertem Code erweitern und so sicherstellen, dass spezifische Anforderungen erfüllt werden können und die Anwendungen im Laufe der Zeit weiterentwickelt werden können.

Wartung und Updates

Da die zugrundeliegende Plattform einen Großteil der Infrastruktur und der Abhängigkeiten verwaltet, lassen sich die Anwendungen relativ einfach aktualisieren und skalieren. Aufgrund der hohen Abstraktionsebene der Low-Code-Modelle sind Migrationen und technische Aktualisierungen viel einfacher zu handhaben. Allerdings müssen die Plattform und die zugrunde liegende Hardware auch weiterhin gewartet und aktualisiert werden.

Herausforderungen und Überlegungen

Low-Code-Plattformen bieten zwar zahlreiche Vorteile, aber es gibt auch Herausforderungen, die zu berücksichtigen sind. Dazu gehören potenzielle Einschränkungen bei der Applikations-Anpassung, die durch die Beschränkungen der angebotenen Sprache gegeben sind.

Die Einführung einer Low-Code-Plattform mit einer DSML für ihre Konfiguration geht in der Regel mit dem Nachteil einher, dass das Unternehmen zwar effektiver und effizienter arbeitet und die Markteinführungszeit verbessert wird, die zugrunde liegende Plattform jedoch langfristig gewartet werden muss. Daher erweist sich Low-Code in der Regel als sinnvoll, wenn (a) neue Benutzergruppen Software entwickeln sollen oder (b) sehr viele Softwarekomponenten auf derselben zugrunde liegenden Infrastruktur betrieben werden sollen. Die gleiche wirtschaftliche Abwägung gilt für die Wahl einer generischen Plattform, eines externen Entwicklers oder einer projektspezifischen Plattform. Die Auswahl der richtigen Plattform und das Verständnis ihrer Grenzen sind entscheidende Schritte, um die Low-Code-Entwicklung effektiv zu nutzen.

Zusammenfassend lässt sich sagen, dass Low-Code-Entwicklungsplattformen die Art und Weise, wie Anwendungen erstellt und bereitgestellt werden, erheblich verändern. Durch die Verringerung der Abhängigkeit von manueller Programmierung ermöglichen diese Plattformen eine schnellere Entwicklung, eine bessere Zugänglichkeit und die Fähigkeit zur schnellen Anpassung an sich ändernde Geschäftsanforderungen.