Suchen

Programmieren Low-Code vs. No-Code: Gemeinsamkeiten, Unterschiede und Einsatzszenarien

Autor / Redakteur: Falk Kukat* / Sebastian Human

In vielen IT-Abteilungen finden sich bereits Low-Code- und No-Code-Plattformen. Diese modernen Entwicklungsumgebungen machen das manuelle Programmieren von Code für viele Anwendungsteile unnötig. Doch wird es deswegen gleich ganz überflüssig?

Firmen zum Thema

Kaum gedacht und schon gecodet: Neue Entwicklungstechnologien wie Low-Code oder auch No-Code ermöglichen eine schnellere Reaktion auf sich verändernde Kundenanforderungen.
Kaum gedacht und schon gecodet: Neue Entwicklungstechnologien wie Low-Code oder auch No-Code ermöglichen eine schnellere Reaktion auf sich verändernde Kundenanforderungen.
(Bild: gemeinfrei / Pixabay )

Im Gegensatz zur Meinung mancher Diskursteilnehmer handelt es sich dabei nicht um eine Evolution mit dem Ziel, möglichst wenig zu coden, sondern um völlig verschiedene Ansätze für unterschiedliche Anwendungszwecke. Dennoch wollen beispielsweise einige No-Code-Anbieter glaubhaft machen, dass es eine Evolution von Hand-Coding über Low-Coding zu No-Coding gebe – wobei es sich bei No-Coding um die höchste Evolutionsstufe handele.

Diese Annahme ist allerdings falsch. Denn Low-Code-Anbieter haben sich ganz bewusst für diese Form der Anwendungsentwicklung entschieden, die es erlaubt, bedarfsgerecht auch eigenen Code in der Programmierung hinzuzufügen. Fast jeder Low-Code-Anbieter wäre auch problemlos in der Lage, eine No-Code-Umgebung anzubieten.

Unterschiede zwischen den Entwicklungsmethoden

Schon vor vielen Jahren gab es die Idee, Anwendungen grafisch zu modellieren, anstatt jede Code-Zeile manuell zu programmieren. Doch das Wesentliche bei der App-Entwicklung ist nicht die grafische Modellierung, sondern vielmehr die visuelle Programmierung.

Bei ursprünglichen Entwicklungsformen wie dem Hand-Coding entwickeln Developer üblicherweise jeden Screen, Logik, Integrationen und weiteres einer (Web-)Anwendung manuell. Selbst bei Verwendung vorhandener Entwicklungs-Frameworks müssen Entwickler einen Großteil der Programmierung noch von Hand erledigen. Insbesondere wenn es darum geht, Änderungen an einer App vorzunehmen, ist dies nur mit einem hohen Aufwand möglich. Das Problem verstärkt sich, wenn der ursprüngliche Entwickler nicht mehr zur Verfügung steht oder heute ein anderes Framework favorisiert.

So vergeht enorm viel Zeit, bis eine Anwendung marktreif ist. Auch auf Updates nach dem Release müssen Nutzer sehr lange warten. Währenddessen wächst der Innovationsstau – sogenannte Backlogs, mit denen derzeit viele Unternehmen zu kämpfen haben – ins Unermessliche. Da sie nur noch damit beschäftigt sind, Bugs zu beheben oder Legacy-Systeme zu pflegen, bleibt keine Zeit dafür, neue Innovationen voranzutreiben.

No-Code: Keine Programmierkenntnisse notwendig

Das andere Extrem, das genau umgekehrt funktioniert, ist No-Code. Bei sogenannten No-Code-Plattformen sind praktisch keine Programmierkenntnisse erforderlich.
Die Entwicklung einer Anwendung geschieht ausschließlich per Drag-and-Drop. Gegenüber dem Hand-Coding haben Nutzer einer No-Code-Plattform einen massiven Geschwindigkeitsvorteil. Neue mobile oder Web-Anwendungen lassen sich binnen kurzer Zeit erstellen. Das klingt auf den ersten Blick vielversprechend.

In der Praxis ist No-Code aber nicht immer vorteilhaft, da diese Plattformen nicht differenziert genug sind und kaum Spielraum für Anpassungsmöglichkeiten lassen. Das bedeutet, dass Anwender auf vorgefertigte Bausteine zurückgreifen müssen, die sie dann wie in einer Art Baukasten nach ihren Wünschen anordnen können. Wenn es allerdings darum geht, individuelle Anpassungen vorzunehmen, stößt No-Code schnell an seine Grenzen, etwa wenn Unternehmen eine Anwendung an ihr Corporate Design anpassen oder Wünsche von Nutzern ergänzen wollen, wenn sie bestimmte Alleinstellungsmerkmale in die Anwendungen einbringen und sich im Markt differenzieren möchten. Ähnliches gilt, wenn die Unternehmen den Wünschen der Nutzer nach einer hervorragenden User Experience nachkommen wollen. Durch die vorgefertigten Bausteine ist das nur bedingt möglich.

No-Code-Plattformen können Risiken bergen

Ungeachtet dessen, dass die Anwendungen durch die vordefinierten und unveränderlichen Komponenten unflexibel sind, birgt eine No-Code-Plattform auch eine große Gefahr: Während sie einerseits die Sicherheit bietet, Anwendungen sehr schnell zu erstellen, besteht andererseits das Risiko, dass die Schatten-IT zunimmt.

Das bedeutet, dass sich informationstechnische Systeme, Prozesse oder Organisationseinheiten innerhalb von Fachabteilungen neben der durch die IT verwaltete Infrastruktur ansiedeln. Das Wissen, um welche Systeme, Prozesse oder Einheiten es sich dabei handelt, ist in der eigentlich zuständigen IT-Abteilung nicht vorhanden. Dadurch müssen Unternehmen oftmals nicht nur – wie zuvor häufig üblich – mit Tausenden Excel-Sheets hantieren, sondern plötzlich noch mehr No-Code-Anwendungen verwalten, da sie diese nicht zentral in eine Plattform integrieren können.

Low-Code als die goldene Mitte

Sobald Unternehmen das Baukasten-Schema verlassen wollen, um individuelle Anpassungen vorzunehmen, die über die einfachsten Möglichkeiten hinausgehen, ist es notwendig, eigenen Code hinzuzufügen.

All dies ist mit einer No-Code-Plattform nicht oder nur eingeschränkt möglich: ein komplexes User-Interface genau nach den Business-Anforderungen zu erstellen, die Standard-Integration in einen Enterprise-Web-Service vorzunehmen oder Business-Prozesse schnell per Drag-and-Drop zu modellieren.
Ähnlich verhält es sich, wenn Unternehmen einen hoch performanten Algorithmus in ihre Anwendung aufnehmen wollen. Das bedeutet im Umkehrschluss allerdings nicht, dass innerhalb einer Low-Code-Plattform massive, individuelle Anpassungen je Anwendung notwendig wären.

All die Funktionalitäten einer No-Code Plattform kann auch eine gute Low-Code Plattform bieten. Und wenn Coding zur Anpassung aufgrund der Business-Anforderungen notwendig wird, können Entwickler selbst Bausteine definieren, speichern und diese später in einer anderen Anwendung erneut nutzen – indem sie sie aus der Bibliothek wiederverwendbarer Komponenten einfach per Drag-and-Drop in ihre App einfügen.
Man kann also mit spezialisiertem Coding die Möglichkeiten der Low-Code Entwickler erweitern - auch auf die spezifischen Bedürfnisse des jeweiligen Unternehmens hin. Zudem ist bereits der erste Entwurf einer Applikation binnen kurzer Zeit entwickelt und lässt sich durch Stakeholder, Mitarbeiter und auch Endnutzer problemlos testen – in allen Phasen der Entwicklung: vom Anforderungsmanagement bis hin zu einer Feedback-Möglichkeit innerhalb der produktiven Anwendung.

Low-Code-Plattform auf Enterprise-Niveau

Wer sich für eine Low-Code-Plattform auf Enterprise-Level entscheidet, erhält damit nicht nur eine Lösung, um Anwendungen grafisch zu modellieren, sondern ein umfassendes System, mit dem sich der komplette Lebenszyklus einer Anwendung begleiten lässt.

So können Unternehmen nicht nur das Prototyping und die Entwicklung, sondern auch die Qualitätssicherung und das Testing bis hin zur Produktiv-Version abbilden. Die produktive Anwendung lässt sich über die Low-Code-Plattform darüber hinaus auch monitoren und managen. Es handelt sich also um eine Entwicklungsplattform, mit der Unternehmen qualitativ hochwertige mobile und Web-Applikationen realisieren. Auf Basis des zeitnahen Feedbacks durch die Nutzer ist es zudem möglich, rasch Anpassungen vorzunehmen. Falls es mal besonders schnell gehen muss, können Entwickler in einer Low-Code-Plattform Updates binnen Tagen oder sogar Stunden bequem per Mausklick umsetzen. Außerdem gibt es keinen Bruch in der Entwicklung, da Developer den ersten Prototypen einer Anwendung direkt weiterentwickeln können.
Eine Low-Code-Plattform ist somit in der Lage, den kompletten Prozess abzudecken. Nicht umsonst bezeichnet man diese Form der Entwicklung auch als „Low-Code with no walls“.

Andere Technologien haben trotzdem Daseinsberechtigung

Low-Code kann in vielerlei Hinsicht seine Vorteile gegenüber dem traditionellen Hand-Coding und No-Code ausspielen. Das bedeutet allerdings nicht, dass man diese anderen Entwicklungsmethoden verteufeln sollte.

No-Code bietet gerade für kleinere Unternehmen Vorteile, die kleinere Anwendungen ohne Entwickler realisieren wollen und wenig bis keine Komplexität in ihren Anforderungen haben. Allerdings gilt es dabei zu beachten, dass die Individualisierungsmöglichkeiten stark eingeschränkt sind.
Demgegenüber sollten Unternehmen berücksichtigen, dass für gewöhnlich auch in Low-Code kein allzu großer Einarbeitungsaufwand notwendig ist, sondern vielerorts Mitarbeiter aus dem Marketing oder dem Vertrieb erste Prototypen einer Anwendung damit selbst umsetzen können. Dies tun sie unter automatischer Einbeziehung von firmenspezifischen Richtlinien und der Möglichkeit der IT, eine Governance über die erstellten Anwendungen zu realisieren.

Fest steht: Um den wachsenden Anforderungen von Kunden nach einer hervorragenden User-Experience und einer gelungenen Customer-Journey gerecht zu werden – und das vor allem innerhalb kurzer Zeit – werden viele Unternehmen über kurz oder lang nicht um neue Entwicklungstechnologien herumkommen. Gerade Low-Code vereint den Vorteil der hohen Geschwindigkeit bei der App-Entwicklung mit der Möglichkeit, individuelle Anpassungen vorzunehmen – innerhalb einer Plattform.

* Falk Kukat arbeitet als Senior Solution Architect Central Europe bei OutSystems.

(ID:46632901)