rh2010 - stock.adobe.com
Was Low-Code- von traditioneller Entwicklung unterscheidet
Manchmal verschwimmen die Grenzen zwischen Low-Code- und traditioneller Entwicklung. Ein Vergleich der Vor- und Nachteile hilft zu erkennen, was für welchen Bedarf sinnvoll ist.
Low-Code-Entwicklung und traditionelle Entwicklung werden meistens als Entweder-Oder-Vorschlag betrachtet. Doch die Realität ist komplexer. Low-Code und traditionelle Programmieransätze haben manches gemeinsam und können auch zusammen genutzt werden.
Im Folgenden erfahren Sie, was Low-Code bedeutet, wie es sich von der traditionellen Anwendungsentwicklung unterscheidet und wie Sie Low-Code in die allgemeine Entwicklungsstrategie Ihres Unternehmens integrieren können.
Grundlagen der Low-Code-Entwicklung
Bei der Low-Code-Entwicklung implementieren Entwickler Elemente einer Anwendung mit Unterstützung von vorprogrammierten Modulen. Um die gewünschte Funktionalität zu erstellen, werden diese Module oft über eine Drag-and-Drop-Schnittstelle ausgewählt. Normalerweise ist ein gewisses Maß an benutzerdefinierter Codierung erforderlich, um Module zu optimieren oder die Beziehungen zwischen ihnen anzupassen. Ein Low-Code-Ansatz hingegen erlaubt es den Entwicklern, dass sie viel weniger Zeilen echten Codes schreiben müssen als bei der herkömmlichen Anwendungsentwicklung.
Der wichtigste und offensichtlichste Vorteil der Low-Code-Entwicklung – insbesondere für erfahrene Programmierer – ist, dass sie schnell ist. Die vorgefertigten Module verkürzen die Zeit für die Implementierung von Anwendungsfunktionen. Damit können sich Entwickler auf Aufgaben konzentrieren, die mehr Kreativität und Originalität erfordern oder für das Unternehmen eine höhere Priorität haben. Low-Code-Tools können Entwicklern auch dabei helfen, eine App in eine externe Plattform zu integrieren, ohne dass sie sich in alle Einzelheiten dieser Plattform einarbeiten müssen.
Einige Low-Code-Befürworter preisen diese Art der Instant-Entwicklung als Möglichkeit an, Nicht-IT-Mitarbeiter zu sogenannten Citizen Developern zu machen. In der Tat kann Low-Code das Programmieren für die breite Masse leichter und zugänglicher machen. Allerdings machen es Low-Code-Techniken allein nicht für jeden einfach, benutzerdefinierte Apps zu programmieren. Denn selbst Low-Code erfordert zumindest einen gewissen manuellen Programmieraufwand – und ein Verständnis für die Grundlagen des Anwendungsdesigns und der Funktionalität.
Während also die Demokratisierung der Entwicklung ein potenzieller, aber eher marginaler Vorteil von Low-Code ist, können Unternehmensentwickler und Mitarbeiter mit Programmierkenntnissen wohl am meisten von Low-Code profitieren.
Low-Code versus traditionelle Entwicklung
Die Grenzen zwischen Low-Code-Entwicklung und traditioneller Entwicklung sind aus mehreren Gründen etwas verschwommen.
Die meisten Unternehmensentwickler haben Low-Code-Techniken schon lange in bestimmte Teile ihrer Arbeitsabläufe integriert – auch wenn sie sich selbst nicht als Low-Code-Entwickler betrachten. Wenn eine integrierte Entwicklungsumgebung (Integrated Development Environment, IDE) zum Beispiel Codezeilen automatisch vervollständigt oder Variablennamen automatisch ausfüllt, kommt diese Funktionalität der Low-Code-Entwicklung nahe. Traditionelle Anbieter von Entwicklungswerkzeugen positionieren ihre Tools allerdings selten so.
Externe Module oder APIs von Drittanbietern, die bestimmte Funktionalitäten in eine Anwendung integrieren, sind ebenfalls grundsätzlich mit Low-Code-Programmierung verwandt. Sogar Softwarebibliotheken – seit Jahrzehnten ein Eckpfeiler der Anwendungsentwicklung – können als eine Art von Low-Code-Entwicklung betrachtet werden. Die Bibliotheken erlauben es Entwicklern, eine komplexe Anwendung mit sehr wenigen Zeilen manuellen Codes zu erstellen.
Content-Management-Plattformen wie WordPress und Drupal verwischen ebenfalls die Grenze zwischen traditioneller Entwicklung und Low-Code, da sie beide Techniken unterstützen. Beispielsweise können Sie auf diesen Plattformen einfache Websites mit wenig benutzerdefiniertem Code entwickeln – oder eine einfache Website mit nur wenigen Klicks auch ganz ohne Code erstellen. Inzwischen bauen sogar einige anspruchsvolle E-Commerce-Sites und Medien-Hubs Websites ihre Plattformen mit Low-Code-Tools auf.
Für die meisten Entwicklungsstrategien dürfte eine Mischung aus beiden Ansätzen interessant sein. Obwohl einige Plattformen speziell für die Low-Code-Entwicklung vermarktet werden, erfüllen sie die Entwicklungsanforderungen allein wahrscheinlich nicht vollständig.
Vor- und Nachteile traditioneller Entwicklung
Die traditionelle Entwicklung bietet mehrere Vorteile:
- Kontrolle. Entwickler haben hier den größten Grad an Kontrolle darüber, wie ihr Code geschrieben wird und wie Anwendungen strukturiert sind.
- Flexibilität. Die traditionelle Entwicklung kann mit praktisch jeder Programmiersprache und Entwicklungsplattform erfolgen.
- Überall einsatzfähig. Apps, die mit einem traditionellen Ansatz entwickelt werden, können an jedem beliebigen Zielort bereitgestellt werden, den der Entwickler unterstützen möchte.
Es gibt allerdings auch zwei Hauptnachteile der traditionellen Entwicklung:
- Zeit. Die manuelle Programmierung ist zeitaufwendiger als die Softwareerstellung mit automatisch generiertem Code. Es dauert auch länger, den Code manuell anzupassen, um mehrere Plattformen zu unterstützen und Sockets und andere Schnittstellen zwischen Anwendungen und Diensten zu erstellen.
- Fachwissen. Die herkömmliche Entwicklung erfordert mehr Fachwissen zu einer bestimmten Programmiersprache oder Entwicklungsplattform. Allerdings erfordert auch die Low-Code-Entwicklung spezielle Fähigkeiten.
Vor- und Nachteile von Low-Code
Zu den Hauptvorteilen von Low-Code gehören:
- Geschwindigkeit. Programmierer können Apps mit einem Low-Code-Ansatz schneller erstellen, da manuelle Programmierarbeiten weitgehend entfallen. Der Anbieter von Low-Code-Plattformen, Mendix, behauptet, dass fast drei Viertel der Entwickler, die Low-Code-Tools verwenden, Projekte in weniger als drei Monaten abschließen. Der traditionelle Ansatz würde hingegen doppelt so lange oder noch länger Zeit in Anspruch nehmen.
- Wiederverwendung. Low-Code-Module lassen sich leicht wiederverwenden. Sie können leicht zwischen Anwendungen ausgetauscht werden, auch wenn dies möglicherweise auf dieselbe Low-Code-Plattform beschränkt ist.
- Kosten. Da die Low-Code-Entwicklung schneller ist, können die Gesamtkosten für das Unternehmen gesenkt werden.
Low-Code ist jedoch auch mit mehreren potenziellen Nachteilen verbunden:
- Qualität. Low-Code-Anwendungen sind möglicherweise nicht so leistungsfähig oder zuverlässig wie gut konzipierte Anwendungen, die mit dem traditionellen Ansatz erstellt wurden. Ihr automatisch generierter Code ist in der Regel für eine Vielzahl von Plattformen und Anwendungsfällen ausgelegt – nicht aber für die spezifische Einsatzumgebung oder Anwendungsarchitektur, die ein IT-Team vor Augen hat.
- Anpassungen. Low-Code-Plattformen bieten weniger Möglichkeiten, eine Anwendung anzupassen oder deren Ausführung individuell zu steuern.
- Bereitstellungsoptionen. Einige Low-Code-Plattformen erlauben es Entwicklern nur, Anwendungen auf bestimmten Plattformen bereitzustellen – zum Beispiel in bestimmten Cloud-Umgebungen.
Anwendungsfälle für Low-Code
Um die Vorteile von Low-Code zu nutzen, müssen Sie sich nicht auf den Low-Code-Ansatz fixieren und die traditionelle Entwicklung hinter sich lassen. Stattdessen sollten Sie die richtige Balance zwischen den beiden Entwicklungsansätzen finden und herausfinden, wo es Sinn macht, Low-Code-Tools in Arbeitsabläufe einzubinden.
Hier sind einige häufige Anwendungsfälle, in denen Low-Code den größten Wert bietet:
- Integrationen. Low-Code-Tools können die Integration einer App, die Sie mit externen Tools oder Plattformen erstellt haben, erleichtern.
- Einfache Websites. Es gibt selten einen guten Grund, HTML-, PHP- und CSS-Code für eine einfache Website, die hauptsächlich aus statischen Inhalten besteht, von Hand zu schreiben.
- Business Analytics. Ein Low-Code-Ansatz ist ideal, um Dashboards oder Reporting Tools zur Unterstützung von Geschäftsanalysen zu erstellen. Tatsächlich bieten viele ERP- und BPM-Plattformen integrierte Low-Code-Tools.
- Geschäftsprozesse. Auch Business-Anwendungen, die einfache Geschäftsprozesse wie die Erfassung von Kundendaten oder die Genehmigung von Lieferantenverträgen unterstützen, sind gute Kandidaten für die Low-Code-Entwicklung. Durch die Integration von Low-Code in BPM-Plattformen können diese Apps auch von Benutzern, die keine professionellen Programmierer sind, einfach erstellt werden.
Wann Low-Code nicht passt
Um das Optimum aus Low-Code herauszuholen, müssen Sie auch wissen, wann und wo die traditionelle Entwicklung der bessere Ansatz ist.
- Sicherheit. Low-Code ist nicht per se unsicher. Allerdings kann es schwierig sein, zu gewährleisten, dass Low-Code-Anwendungen nach strengen Sicherheitsstandards entwickelt werden. Sie können auch aufwendiger zu auditieren sein, weil der Quellcode unter den Low-Code-Abstraktionen verborgen ist.
- Performance. Low-Code-Apps bieten wahrscheinlich nicht das höchste Maß an Leistung. Wenn Sie Top-Performance erzielen wollen, sollten Sie besser jede einzelne Codezeile optimieren. Dafür brauchen Sie einen traditionellen Entwicklungsansatz.
- Wartbarkeit. Wenn das Low-Code-Tool, das Sie zur Entwicklung einer App verwenden, vom Hersteller eingestellt wird, ist die langfristige Wartung eine Herausforderung.
- Lock-in. Eine Abhängigkeit von Low-Code kann für Entwickler das Risiko erhöhen, an eine bestimmte Low-Code-Plattform und ihr Ökosystem gebunden zu sein. Anwendungen können möglicherweise nur in den von der Plattform unterstützten Umgebungen bereitgestellt werden oder Sie haben Schwierigkeiten, Ihre Codebasis auf die Plattform eines anderen Anbieters zu migrieren.