Ist Low-Code etwas für professionelle Entwickler? Warum ich mich dafür entschieden habe
„Low-Code ist eine Blackbox und wird mich nur bis zu einem bestimmten Punkt bringen. Die Technologie ist begrenzt und funktioniert nur, wenn man einer Vorlage folgt. Mit Programmieren hat das Ganze nichts zu tun.“
So etwa waren meine Gedanken vor zehn Jahren, bevor ich beschloss, Low-Code eine Chance zu geben. Ich war sehr skeptisch, aber wollte mich näher mit dem Thema befassen, um besser argumentieren zu können. Und wer hätte es gedacht: Ich habe meine Meinung geändert und bin heute eine große Verfechterin von Low-Code.
Einige Jahre später und nachdem ich mich mehr mit dem kontroversen Thema auseinandergesetzt habe, ist mir klar geworden, dass viele Bedenken gegenüber Low-Code darauf zurückzuführen sind, dass der Begriff sehr unterschiedlich verwendet wird. Viele „Low-Code“-Tools zielen auf verschiedene Herausforderungen ab und erfordern unterschiedliche technische Kenntnisse, wie Website-Generatoren, Formular-Generatoren, API-Konnektoren, Datenbank-Generatoren, Workflow-Automatisierung und mehr.
In letzter Zeit hören wir immer öfter auch von Low-Code für professionelle Entwickler, da Tools wie OutSystems, Mendix, Appian, SalesForce und PowerApps immer beliebter werden.
Wir könnten Low-Code-Tools wahrscheinlich anhand ihres Anwendungsfalls bewerten. Je generischer er ist, desto näher kommt das Tool an eine Programmiersprache heran.
Mit Salesforce erhalten Sie z. B. das CRM-Ökosystem, mit Appian die Workflows/Geschäftsprozesse und so weiter.
Mit Tools wie OutSystems oder Mendix sind Sie dagegen in der Lage, den gesamten Lebenszyklus der App-Entwicklung zu verwalten – und zwar für Enterprise-Apps aller Art, ob Mobile oder Web.
Als professionelle Entwicklerin möchte ich die Gründe teilen, warum ich mich für Low-Code und insbesondere für OutSystems entschieden habe.
1. Code-Erweiterbarkeit
Weil ich gerne „die Kontrolle“ behalte, ist mir die Nutzung der visuellen Sprache zunächst schwer gefallen. Doch weil ich die Möglichkeit habe, sie mit meinem eigenen Code zu erweitern, konnte ich mich darauf einlassen.
OutSystems ist von vornherein offen konzipiert, sodass alle Applikationsschichten mit benutzerdefiniertem „traditionellem“ Code erweitert werden können: Frontend, Backend, Datenbank und Integration.
Statt mich auf das visuelle Widget zu verlassen, habe ich meine SQL-Abfragen manuell erstellt. Don't judge me! Ich habe versucht, in meiner Komfortzone zu bleiben. Ich erinnere mich auch daran, wie ich eine Dateiupload-Funktion mit JavaScript auf OutSystems entwickelt habe. Weil ich nicht wusste, dass ich auch einfach per Drag & Drop ein Widget einsetzen und einige Parameter eingeben kann, um zum gleichen Ergebnis zu gelangen. Doch letztlich hat mir das Ganze gezeigt, wie flexibel OutSystems ist.
2. Einfache Integration
Keine Softwareprodukte existieren in Silos. Immer wieder müssen wir Open-Source-Bibliotheken, APIs von Drittanbietern, ältere Datenspeichern und vieles mehr integrieren. Mit jeder Integration kommt neuer Boilerplate-Code für die spezifischen Anforderungen jeder Abhängigkeit. Und dieser Code muss bei jeder Änderung der Abhängigkeit aktualisiert werden.
Meine erste Integration war mit einer bestehenden Datenbank (ich hatte meine Daten bereits) und eine unglaubliche Erfahrung.
OutSystems abstrahiert alle standardmäßigen Aufgaben, indem es Vorlagen und vorgefertigte Verbindungen zu gängigen Diensten und Datenbanken wie Salesforce, SAP, Microsoft usw. bereitstellt. All die sofort einsatzbereiten Konnektoren sind auf Wiederverwendbarkeit, Wartungsfreundlichkeit und einfache Änderungen ausgelegt. Neben den Konnektoren bietet die OutSystems Community in Forge (dem Code-Repository von OutSystems) eine Vielzahl weiterer vorgefertigter Konnektoren an. Dank Code-Erweiterbarkeit und API-Integration ist es zudem auch möglich, eigene Konnektoren zu erstellen.
Nicht zu vergessen: REST-APIs lassen sich ganz einfach nutzen oder bereitstellen, und Swagger- oder OpenAPI-Spezifikationen können mühelos aus einer Datei oder einer URL importiert werden. Im Grunde müssen Sie nur die gewünschten Methoden auswählen. Auch die API-Authentifizierung können Sie konfigurieren – entweder in der einfachen Variante oder mit erweiterten Standards wie oAuth oder JWT.
3. Weniger repetitive Arbeit
Softwareentwicklung ist eine Form der Selbstentfaltung und kann unglaublich erfüllend sein – besonders dann, wenn Sie die Hindernisse überwinden. Es gibt nichts Aufregenderes als „Das habe ich gebaut!“-Momente. Der Nachteil ist, dass Softwareentwicklung manuelle Arbeit ist und sehr repetitiv sein kann. Das zehrt an unserer Energie und führt leicht zu Frustration.
Als ich anfing, mich mit OutSystems zu beschäftigen, habe ich festgestellt, dass die meisten offensichtlichen/standardmäßigen Entwicklungsaufgaben „out-of-the-box“ erledigt wurden: Authentifizierung, Autorisierung, Formularvalidierung, grundlegende Sicherheit, Fehlerbehandlung, CRUD-Bildschirme usw.
Das liegt daran, dass OutSystems – als Plattform – eine visuelle Sprache ist, die andere Sprachen abstrahiert, ähnlich wie Java oder C# Assembler abstrahieren.
So können wir als Entwickler uns auf das „Was“ konzentrieren statt auf die technischen Details des „Wie“.
4. Effiziente Arbeit
Die Drag-and-Drop-Methode von Low-Code und seine schnellen Bereitstellungsfunktionen ermöglichen es Entwicklern, innerhalb kürzester Zeit nicht nur einen Prototyp, sondern auch eine funktionierende Lösung zu erstellen. Warum das wichtig ist? In den meisten Fällen verzögert sich der Softwareentwicklungsprozess durch:
- Kunden, die nicht wissen, was sie wollen, oder ihre Ideen nicht in die Sprache der Entwickler übersetzen können.
- Anwender, die immer wieder ihre Meinung ändern (aka „sich wandelnde Anforderungen“).
Das bedeutet: Wenn wir schnell einen Prototyp fertigstellen, können Nutzer besseres Feedback geben – und wir, die Entwickler, können diesen „Prototyp“ dann schneller in ein Endprodukt umwandeln, das die Bedürfnisse der Nutzer von Anfang an erfüllt. Dies hat einen enormen Einfluss darauf, wie effizient wir unsere Arbeit erledigen können.

5. Frontend, Backend und Bereitstellung auf einer Plattform
Wenn Sie sich nicht auf einen bestimmten Bereich spezialisiert haben, sind Sie als Softwareentwickler ein Generalist und arbeiten mit verschiedenen Tools, Technologien und Programmiersprachen, um Frontend, Backend und die Bereitstellung zu handhaben. Das kann überwältigend sein. Denn die IT-Welt entwickelt sich ständig weiter, und wir müssen ständig neue Dinge lernen.
Mit OutSystems habe ich nur ein einziges Tool, mit dem ich Benutzeroberflächen, relationale Datenbanken, Datenstrukturen, Logik und Integrationen mit externen Systemen erstellen kann. Das alles visuell – aber mit der Flexibilität, bei Bedarf eigenen Code hinzuzufügen.
In einem Low-Code-Tool wird das visuelle Modell in Standardtechnologien wie HTML, CSS, JavaScript oder C# übersetzt. Der Code wird nach Bedarf kompiliert und bereitgestellt.
In OutSystems ist die Art und Weise, wie Sie Ihren Code ausdrücken, ob für Frontend oder Backend, so gut wie identisch. Es spielt keine Rolle, ob es sich am Ende um reines JavaScript, REACTjs oder C# handelt.

6. Einheitliche Erlebnisse bei der Entwicklung für verschiedene Plattformen
Softwareentwicklung ist eine komplexe Welt. Neben den bereits genannten Aspekten müssen Entwickler mehrere Plattformen abdecken – Web, Desktop, Hybrid, Mobile, iOS, Android und mehr.
Dank seiner Ausrichtung am Web sowie hybrider Mobiltechnologien (Hybridtechnologien ermöglichen es Entwicklern, native mobile Applikationen mit HTML und JavaScript zu erstellen) ist Low-Code einzigartig positioniert, um Desktop- und mobile Applikationen aus einer einzigen Codebasis heraus zu erstellen.
Es ist erstaunlich, dass ich nie Xcode lernen musste, um eine iOS-App zu erstellen. Und dass ich aus demselben Code die API- oder APK-Pakete (iOS oder Android) extrahieren und sie mit den üblichen Verfahren in den App Store einreichen konnte.

7. Sicherheit
Bei der Entwicklung von Enterprise-Software steht die Sicherheit an erster Stelle – und das bedeutet eine Menge Arbeit an verschiedenen Fronten.
Als ich an den Punkt war, an dem ich Low-Code als ernstzunehmendes Tool in Betracht zog, kamen Sorgen um die Sicherheit auf:
„Low-Code bietet viel Abstraktion und Automatisierung, aber wie sicher sind die Apps, die wir mit Low-Code erstellen? Wo liegen die Schwachstellen?“
Bei der Verwendung von Low-Code-Tools habe ich gelernt, dass Dinge wie die Verwendung aktueller, sicherer Bibliotheken und Frameworks, der sichere Zugriff auf Datenbanken, der Umgang mit Ausnahmen und Fehlern, Authentifizierung und Autorisierung, Codierungs- und Escape-Techniken, Applikations- und Systemaudits nebenbei von vorkonfigurierten Mechanismen ausgeführt und abgewickelt werden. Darüber hinaus habe ich gelernt, dass sich diese „grundlegenden“ Sicherheitsstufen mit angepasstem Code zu erweitern lassen, um höhere Sicherheitsstufen zu erreichen.
8. Community
Abschließend muss ich gestehen, dass ich anfangs das Gefühl hatte, die Entwickler-Community zu verraten. Doch dann entdeckte ich die OutSystems Community und sah, wie viele professionelle Entwickler den gleichen Schritt getan hatten.
Obwohl die Zahl der Entwickler, die mit Low-Code arbeiten, von Jahr zu Jahr weiter steigt, stellen traditionelle Entwicklern noch immer die Mehrheit dar. Die Gemeinschaften, die sich um die Low-Code-Plattformen bilden, sind deshalb besonders stark und unterstützend.
Als Neueinsteigerin war ich bei Fragen auf Foren angewiesen – und erhielt stets schnelle Antworten mit verschiedenen Perspektiven und Lösungen für meine Probleme. Dadurch entwickelte ich mich so schnell weiter, dass bald ich diejenige war, die anderen half. Heute fühlt sich die Community wie eine Familie an, in der ich Gleichgesinnte finde und mich mit weiter Low-Code auseinandersetze. Für Außenstehende ist es manchmal schwer zu begreifen, wie die Community-Mitglieder alle mit einer solchen Leidenschaft bei der Sache sein können.
Abschließende Bemerkung
Low-Code macht nicht alles einfach, aber unbestreitbar schneller und effizienter. Um auf einer Low-Code-Plattformen erfolgreich zu sein und Enterprise-Applikationen zu erstellen, sind nach wie vor fundierte technische Kenntnisse erforderlich. Im Laufe der Jahre hat Low-Code an Zugkraft gewonnen – und immer mehr Unternehmen haben die Vorteilen gegenüber traditionellen Programmierungspraktiken entdeckt. Low-Code ermöglicht Ihnen, die entscheidenden Elemente traditioneller Programmierlösungen wie etwa Flexibilität und Anpassung beizubehalten und dennoch viel Zeit zu sparen.
Falls Sie noch nicht überzeugt sind: Warum probieren Sie Low-Code nicht einfach selbst aus? Die Free Edition von OutSystems ist kostenlos und eine großartige Möglichkeit, um die Entwicklung mit Low-Code selbst zu erleben.