Unternehmen wollen mehr Zeitersparnis und Entwickler wollen weniger Code schreiben müssen. Dadurch werden Low-Code-Plattformen immer attraktiver. Doch was ist Low-Code eigentlich? Was sind die Vorteile? Und welche Herausforderungen sind damit verbunden?
Autor: Roman Isheim, 12.08.2018, Thema: Low-Code-Plattformen
Kurznavigation in diesem Beitrag:
Seite 1 Beitrag / Diskussionsgrundlage
Seite 2 Am nächsten persönlichen Erfahrungsaustausch teilnehmen
Seite 3 Kostenloses PDF-Angebot zum Artikel
Was ist Low-Code?
Bei dem Begriff Low-Code handelt es sich um eine relativ neue Begrifflichkeit. Im Jahr 2014 führte Forrester Research den Begriff für diese spezielle Art der Softwareentwicklung ein. Zunächst einmal bedeutet Low-Code „wenig Code“ oder „wenig Programmieren“. Im Grunde geht es um eine Software, welche eine 100%-ige Programmierung vermeiden soll. Bei der Erstellung einer Benutzeroberfläche, der Business-Logik und des Datenmodells kommen visuelle Design-Werkzeuge zum Einsatz. Low-Code-Plattformen beschleunigen die Entwicklungs- und Bereitstellungszeit, da nur geringe Vorabinvestitionen für Setup, Training und Deployment notwendig sind. Low-Code-Plattformen werden in der Regel auf Subscription-Basis (Monats-Abonnement) lizenziert. Ein Beispiel für eine Low-Code-Plattform ist ein Content-Management-System wie WordPress.
Wie entstand die Low-Code Bewegung?
Ziel war es schon immer, die Bedienung von einem komplexen System zu vereinfachen. So ist es bei dem Beispiel WordPress die Erstellung von Webseiten. Die Low-Code-Bewegung begann in den 1980er Jahren. Damals begann der Trend mit den sog. „Fourth-Generation-Languages“ (4GL). Der Begriff stammt aus der Softwareentwicklung und beschreibt die Programmiersprache aus der vierten Generation. 4GL hat das Ziel, möglichst wenig Codezeilen zu benutzen. Die 1GL bezeichnet die Maschinensprache. Diese ist prinzipiell binär und relativ unübersichtlich. Bei der 2GL werden zu den binären Codes sog. „Mnemonics“ Kürzel zugeordnet. Hierbei wird der Quelltext durch einen Assembler direkt in ausführbare Maschinensprache umgewandelt. Die dritte Generation (3GL) beschäftigt sich damit, die Sprache in die nächst Niedere zu übersetzen. Beispiele hierfür sind die Programmiersprachen C++, Java oder JavaScript. Die einzelnen Generationen sehen zusammengefasst wie folgt aus:
- 1GL = Maschinensprache
- 2GL = Assemblersprache
- 3GL = Prozedurale Programmierung
- 4GL = Deklarative Programmierung
- 5GL = Künstliche Intelligenz
Hinweis: Unsere Berichte sind oft sehr ausführlich. Daher bieten wir an dieser Stelle eine Zusendung des Artikels im PDF-Format zur späteren Sichtung an. Nutzen Sie das Angebot um sich die Praxis-Impulse in Ruhe durchzulesen, Sie können hierfür auch einfach auf das PDF-Symbol klicken.
Was sind die Anforderungen für Low-Code-Plattformen?
Es gibt vier wichtige Merkmale für Low-Code-Plattformen:
Wiederverwendbarkeit
Ein Merkmal sind die sofort einsatzbereiten Vorlagen, Plug-ins, Widgets, die zur Verfügung stehen, um immer wieder verwendet werden zu können. Es können aber auch einige private App Stores in Low-Code-Plattformen integriert werden. Dadurch können unternehmensspezifische IPs zur Wiederverwendung an Entwicklungsteams verteilt werden.
Modellgetriebene Entwicklung
Durch Low-Code-Plattformen entstehen im Gegensatz zur herkömmlichen Programmierung intuitivere Möglichkeiten zur Erstellung von Anwendungen. Bei der modellgetriebenen Entwicklung kommen visuelle Modelle für die Definition von Datenmodellen oder Benutzeroberflächen zum Einsatz.
Bereitstellung auf Cloud-Basis
Bei einigen Low-Code-Plattformen ist es möglich Anwendungen in der präferierten Cloud zu verwalten. Dadurch ist eine sofortige Verfügbarkeit und die Unterstützung umfangreicher Implementierungen möglich.
Support nach Entwicklungsphase
Low-Code-Entwicklungsplattformen sind in der Regel so entworfen, dass sie den gesamten Lebenszyklus von Anwendungen unterstützen können. Das heißt von der Gestaltung über die Bereitstellung bis hin zu einer eventuellen Wiederaufnahme oder Fortsetzung von Projekten.
Was sind die Herausforderungen von Low-Code-Plattformen?
Eine Einführung von Low-Code-Plattformen sollte gut geplant sein. Es wird empfohlen, in der Einführungsphase eine spezielle Schulung durchzuführen. Einige Plattformen können nur von Entwicklern oder Arbeitskräften mit hohem Schulungsaufwand benutzt werden, da sie sehr komplex sind. Deswegen sollte hier festgelegt werden, wie welche Anforderungen am besten im Unternehmen umzusetzen sind. Eine nicht zu vernachlässigende Rolle spielt auch das Thema Vendor Loch-in. Bei manchen Anbietern besteht jederzeit Zugriff auf das gesamte Projekt, inklusive der eingesetzten Open-Source-Bibliotheken und des verwendeten Codes. Andere Anbieter hingegen verlangen zusätzliche Kosten bei dem Export des Source Codes. Bei manchen Anbietern ist das sogar nicht möglich. Zudem sollte man das Lizenzmodell berücksichtigen. Welche Kosten fallen für den laufenden Betrieb an und wie viele Benutzer werden benötigt? Dies ist nur eine von vielen Fragen, die man sich stellen muss.
Hinweis: Unsere Berichte sind oft sehr ausführlich. Daher bieten wir an dieser Stelle eine Zusendung des Artikels im PDF-Format zur späteren Sichtung an. Nutzen Sie das Angebot um sich die Praxis-Impulse in Ruhe durchzulesen, Sie können hierfür auch einfach auf das PDF-Symbol klicken.
Was sind die Vorteile von Low-Code-Plattformen?
Ein Vorteil ist die effiziente Zusammenarbeit zwischen den einzelnen Fachbereichen. Außerdem kann der Backlog in Entwicklungsteams durch den Einsatz von Low-Code abgearbeitet und schneller geliefert werden. Dabei fallen keine zusätzlichen Entwickler-Ressourcen an. Des Weiteren unterstützen die Plattformen Ressourcenengpässe und erhöhen die gelieferte Softwarequalität. Dies geschieht, da Testzyklen umfangreich durchgeführt werden können. Die höhere Softwarequalität reduziert zudem die Wartungsaufwendungen im laufendem Betrieb. Ein weiterer Vorteil ist, dass sowohl die Komplexität als auch die Fehleranfälligkeit des Source Codes reduziert wird. Dadurch können weniger qualifizierte Entwickler schnell Aufgaben übernehmen und umsetzen.