1. Startseite
  2. Wissen kompakt
  3. No-Code-Entwicklung

No-Code-Entwicklung

Wissen kompakt: Die No-Code-Entwicklung adressiert die Erzeugung von Anwendungen ohne manuelle Programmierung durch einfaches Zusammenklicken vorgefertigter Softwarebausteine.

No-Code – Die Erzeugung von Anwendungen ohne Programmierung

Wäre es nicht schön, wenn es eine Möglichkeit gäbe, Anwendungen schneller, effizienter und sogar ohne Programmierkenntnisse zu erzeugen? Eine Antwort auf diesen Wunsch lautet: No-Code-Entwicklung.

Die No-Code-Entwicklung – auch als Klick-Entwicklung oder Point-and-Click-Entwicklung bezeichnet – adressiert die Erzeugung von Anwendungen ohne jegliche Programmierung durch einfaches Zusammenklicken vorgefertigter Softwarebausteine. Die Idee von No-Code ergibt sich aus dem Namen: bei der Erzeugung einer Anwendung wird „kein Code“ benötigt. Der Code steckt bereits in den Komponenten, die sich wie bei einem Baukasten auswählen und zusammenklicken lassen.

No-Code-Entwicklung - Die Erzeugung von Anwendungen ohne Programmierung

Abgrenzung von Low-Code zu No-Code

Im Kontext der No-Code-Entwicklung fällt sehr häufig auch der Begriff Low-Code-Entwicklung. Auf den ersten Blick scheinen sich beide Entwicklungsansätze zu ähneln.

Bereits in den frühen 1990er Jahren gab es das sogenannte Rapid Application Development. Es handelte sich um Programmierumgebungen, mit denen als Erstes die grafische Oberfläche einer Desktop-Anwendung erzeugt und erst im Anschluss eine entsprechende Geschäftslogik implementiert wurde.

2014 prägte das US-amerikanische Marktforschungsunternehmen Forrester Research den Begriff Low-Code, wobei sich der Begriff nicht auf die Qualität des Codes, sondern auf die Code-Erstellung bezieht. Der überwiegende Anteil einer Software wird bei der Low-Code-Entwicklung durch Konfiguration von Komponenten mithilfe einer Low-Code-Plattform erzeugt. Der Anteil manueller Code-Entwicklung ist im Vergleich zur konfigurierten Code-Menge „low“, also gering.

Das Versprechen bei einer No-Code-Entwicklung lautet hingegen: Die gesamte Anwendung wird konfiguriert und eine manuelle Codeerstellung ist unnötig. Damit dieses Versprechen eingehalten werden kann, adressieren entsprechende Plattformen vorgefertigte Komponenten für ausgewählte, vom Hersteller der Plattformen durchdachte Anwendungsfälle, wobei die manuelle Erweiterung des vorhandenen Funktionsumfangs nicht möglich oder vorgesehen ist.

Kurzum: Beide Ansätze unterscheiden sich in einem sehr wesentlichen Punkt:

  • Low-Code ermöglicht – zumindest teilweise – die manuelle Anpassung einer zusammengeklickten Komponentenlösung mittels individueller Programmierung,
  • No-Code unterstützt die Erzeugung einer Baukastenlösung ohne manuelle Programmierung.¹

In der Unternehmenspraxis ist dieser Unterschied sehr wichtig, denn jegliche Funktionalität, die im Baukasten fehlt, fehlt auch später in der Anwendung.²

Was ist eine No-Code Plattform?

Basis für die Erzeugung von Anwendungen ohne individuelle Programmierung sind sogenannte No-Code-Plattformen. Diese Plattformen – manchmal auch als No Code Development Plattform oder No Code Automation Plattform bezeichnet – ermöglichen es Anwendern aus Fachbereichen, nicht-technischen Nutzern oder Mitarbeitenden ohne jegliche Programmierkenntnisse, Anwendungen über eine grafische Benutzeroberfläche mittels Drag-and-Drop zusammenzuklicken.

Es gibt eine Reihe von Anbietern, u. a.

Diese Liste an Plattformen lässt sich leicht ergänzen, zumal Hersteller häufig andere Vermarktungsschwerpunkte setzen, und unterschiedliche Branchen oder Unternehmensbereiche ansprechen. Grundsätzlich bieten aber alle Plattformen

  • vorgefertigte Module, Komponenten oder Bausteine,
  • die visuelle Modellierung der gewünschten Anwendung
  • und Drag-and-Drop.

 

Vorteile und Nachteile der No-Code-Entwicklung

Folgende Vorteile kann eine No-Code-Entwicklung bieten:

  • Die Erzeugung einer Anwendung funktioniert meist zügig und ist durch nicht-technische User bzw. Mitarbeitende ohne Programmierkenntnisse möglich.
  • Zahlreiche Plattformen werden per PaaS – Plattform as a Service – bereitgestellt; entsprechend entfällt eine Vor-Ort-Installation oder Inbetriebnahme. Dies reduziert Aufwände und Kosten.
  • Die visuelle Modellierung einer Anwendung mittels Drag-and-Drop ist häufig intuitiv und funktioniert einfach.
  • Der Aufwand, den Funktionsumfang einer entsprechenden Plattform zu verstehen, ist überschaubar. Oder anders formuliert: Die individuelle Lernkurve der Anwender ist steil. Zudem wird die IT-Abteilung entlastet.
  • Der Ansatz eignet sich kontextabhängig für die Erstellung von Prototypen oder als Proof-of-Concept.
  • No-Code-Lösungen finden sich in vielen Bereichen und Branchen.

Und folgende Nachteile gehen häufig mit einer No-Code-Entwicklung einher:

  • No-Code-Plattformen bieten keinerlei Möglichkeiten, den Funktionsumfang oder das Look-and-Feel der erzeugten Anwendung wirklich an eigene, individuelle Bedürfnisse, die über die bereitgestellten Komponenten hinausgehen, anzupassen. Selbst das Corporate Design lässt sich nicht immer hinterlegen.
  • Im Gegensatz zu einer individuellen Anwendungsentwicklung oder der Verwendung einer Low-Code-Plattform hängt der Funktionsumfang der erzeugten Anwendung von den bereitgestellten Bausteinen, Funktionen und Optionen des Anbieters ab. Hat dieser in einer Komponente für einen konkreten Use Case ein Szenario übersehen oder eine dringend benötigte Funktionalität nicht integriert, wird dieses Szenario nicht unterstützt oder die Funktionalität nicht angeboten. Somit sind die Anwender genauso wie beim Erwerb einer Standard-Software vom Hersteller abhängig.
  • Die IT-Abteilung wird nur vordergründig entlastet, oftmals muss sie die erzeugten Anwendungen betreuen, Fragen beantworten und mögliche Probleme beseitigen.
  • Anwendungen lassen sich häufig nicht oder nur unzureichend skalieren. Auch die Einbindung in komplexe Systeme ist kaum möglich.
  • In der Tendenz eignet sich der Ansatz nur für einfachere Anwendungen.
  • Die Auswahl einer geeigneten Plattform kann sehr zeitintensiv und aufwändig sein.

Oftmals werden neben der schnellen Erzeugung von Anwendungen die damit einhergehenden niedrigen bzw. niedrigeren Kosten als Vorteil deklariert. Einerseits stimmt dies, da interne oder externe Entwicklungskapazitäten nicht immer günstig sind (und auch nicht immer im ausreichenden Maße zur Verfügung stehen). Andererseits kosten natürlich auch die No-Code-Plattformen Geld, und Anwendungen, die lediglich einen Teil der benötigen Anwendungsfälle abdecken, können in vielerlei Hinsicht kontraproduktiv wirken: alternative Anwendungen werden gesucht oder genutzt, was ebenfalls Aufwände und Kosten verursacht, die Zufriedenheit der Anwender sinkt, ggf. werden für ähnliche Dinge mehrere verschiedene Lösungen genutzt, etc. Kurzum: Die Argumentation der niedrigen Kosten ist etwas mit Vorsicht zu genießen.³

Impuls zum Diskutieren:

Wie wichtig ist wohl das Thema Sicherheit bei der Auswahl einer No-Code-Plattform?

Hinweise:

[1] In manchen Publikationen wird die No-Code-Entwicklung als das „Programmierung von Anwendungen durch die Verwendung von vorgefertigten Bausteinen über ein grafisches User Interface“ beschrieben. Da die Erstellenden der Anwendung jedoch gar nicht programmieren, ist eine solche Definition eher irreführend.
[2] Ein Unterschied kann auch in der Zielgruppe der Anwender liegen: Eine Low-Code-Entwicklung wird häufig von Entwicklern oder sogenannten Citizen Developers vorgenommen, eine No-Code-Entwicklung hingegen tendenziell von Menschen ohne Entwicklungskenntnisse oder -erfahrungen.   
[3] Auch die Argumentation mit Effizienzvorteilen ist zwiespältig. Kurzfristig mag es Effizienzvorteile geben, fehlt aber die individuelle Umsetzung von Anforderungen, führt dies oftmals zu Alternativkosten.

Hier finden Sie ergänzende Informationen aus unserer Rubrik Wissen kompakt:

Wissen kompakt: Was ist Clean Code?

Was ist Clean Code?

Wissen kompakt: Was ist die UML?

Was ist die UML?

Wissen kompakt: Wie funktioniert Pair Programming?

Wie funktioniert Pair Programming?