Wir lieben sie. Seit über 10 Jahren entwickeln wir sie. Und auch unser Unternehmensname hat schon lange eine: Wir reden von Apps. Kein Wunder also, dass wir eigentlich alle Arten von Apps schon einmal kennengelernt haben. Denn es gibt sie für viele unterschiedliche Hardware, Zwecke und Inhalte – die Möglichkeiten sind quasi unendlich. Eine tragende Rolle spielt dabei immer die Technologie dahinter: Nur sie ermöglicht es nämlich, Apps zu bauen, die reibungslos funktionieren und beeindruckende Benutzererfahrungen bieten.
Das Beste: Es gibt für jedes App-Projekt die richtige Technologie. Doch manchmal fällt es schwer zu verstehen, welche davon für Dein Projekt am meisten Sinn macht. In dieser Reihe werden wir deshalb alle Stärken und Schwächen jeder Technologie beleuchten und Dir dabei helfen, die beste Wahl für Dein nächstes App-Projekt zu treffen.
Bisher haben wir Dir in unserer Reihe die Native App Entwicklung und Cross-Plattform Entwicklung nahegebracht. Heute dreht sich alles um LowCode Apps.
LowCode
Transparenz spielt bei appmotion eine besonders große Rolle. Deshalb sind wir gleich zu Beginn transparent: Wir selbst setzen keine LowCode Apps um, da unser Fokus auf dem Design und der Entwicklung von sehr komplexen Apps liegt. Aber natürlich kennen wir die Technologie und wollen Dir hier einmal ausführlich beleuchten, was es mit LowCode Apps so auf sich hat.
LowCode ist eine Methode, um Computerprogramme und Apps zu erstellen, ohne viel programmieren zu müssen. LowCode-Apps sind in der Regel weniger komplex als herkömmlich handcodierte Anwendungen. Dies liegt daran, dass LowCode-Plattformen visuelle Entwicklungsumgebungen sind – wie z.B. OutSystems und Mendix – und daher schon vorgefertigte Komponenten bieten, die den Entwicklungsprozess vereinfachen. Damit kannst Du also einfache bis mittelkomplexe Apps bauen, selbst wenn Du keine umfassenden Programmierkenntnisse hast.
Hört sich alles ziemlich entspannt und super an, allerdings stoßen LowCode-Apps an ihre Grenzen, wenn es um sehr spezialisierte oder komplexe Anforderungen geht. In solchen Fällen kann herkömmliche Handcodierung notwendig sein, um die erforderliche Flexibilität und Kontrolle zu gewährleisten. Die Komplexität von LowCode-Apps hängt daher stark von den spezifischen Anforderungen des Projekts ab.
LowCode wird in einer breiten Palette von Anwendungsbereichen eingesetzt, darunter in Startups, für Bildungs-Apps oder Anwendungen für Finanzdienstleistungen.
Vorteile der LowCode App-Entwicklung
🤓 Kaum Programmier-Expertise erforderlich
Die Erstellung von einfachen Apps ist mit LowCode klappt dank vorgefertigter Komponenten, Modulen und Vorlagen auf diesen Plattformen recht schnell. Programmiert wird das Ganze dennoch, nur dass die Algorithmen mit Graphen statt mit Programmiersprachen umgesetzt werden. Trotzdem sollte Dir bewusst sein, dass Du Dich in die Funktionsweisen der Plattform einarbeiten und Dir Gedanken über Datenstrukturen machen musst. Spätestens wenn Du Deine App veröffentlichen willst, musst Du Dich mit den Eigenheiten und Abläufen der Android- und iOS-Welt auskennen. Daher ist es auch bei LowCode ratsam, mit Entwickler:innen zusammenzuarbeiten.
💫 Schnelle Prototypen und einfache Anwendungen
Prototypen und MVPs (Minimum Viable Products) kann man ziemlich gut mit LowCode bauen. Wenn Du erst einmal eine LowCode-Lösung beherrscht, kannst Du recht flott eine offline fähige CRUD-App zusammen klicken, mit der Deine Nutzer:innen Daten anzeigen, bearbeiten und in die Cloud synchronisieren können. Aber Achtung, “Rapid Prototyping” wird dann zum Risiko oder Nachteil, wenn Du Deinen Prototyp zu einem vollen Produkt weiterentwickeln möchtest, da LowCode dann recht schnell begrenzt ist und Du auf eine andere Technologie umsteigen musst.
Nachteile der LowCode App-Entwicklung
🫣 Wenn es kompliziert wird...
Wie oben schon erwähnt, ist LowCode begrenzt. Bei komplexen Aufgaben stößt es an seine Grenzen und ist damit nicht flexibel ausbaubar. Bei komplexen Anforderungen stoßen LowCode-Plattformen an ihre Grenzen. Sie bieten möglicherweise nicht die erforderliche Flexibilität und Funktionalität für hoch spezialisierte oder tief integrierte Anwendungen.
🔗 Abhängigkeit von Plattformfunktionen
Du kannst nur bauen, was die Plattform Dir ermöglicht. Du, die Entwickler:innen und Dein Unternehmen sind stark auf die Funktionen und Roadmaps der Plattformen angewiesen.
🛠️ Eingeschränkte Umsetzung komplexer Aufgaben
Wenn Du eine tiefe technische Integration, Software Development Kits (SDKs), die Implementierung nativer Features oder moderne Softwareentwicklungspraktiken wie Continuous Integration/Continuous Deployment (CI/CD), Code-Reviews, Unit-Tests und Versionskontrolle brauchst, stößt Du bei LowCode recht schnell auf eine Grenze. Diese sind nur eingeschränkt und oft unpraktikabel umsetzbar.
🔒 Einmal LowCode, immer LowCode
LowCode kann nachträglich nicht mehr ausgebaut oder schrittweise durch andere Technologien ersetzt werden. Das bedeutet, Du müsstest Deine App von Grund auf neu aufsetzen.
👨💻 Expert:innen sind rar
Es ist schwer, gezielt Entwickler:innen für eine spezifische LowCode-Lösung einzustellen. Das bedeutet, Entwickler:innen mit anderem Schwerpunkt werden für LowCode-Plattformen speziell geschult. Da jede Plattform eigene Entwicklungsumgebungen, Bibliotheken, Dokumentationsarten und Tools hat, kann nicht im Allgemeinen auf LowCode geschult werden, sondern für die jeweils ausgewählte Plattform. Die Entwickler:innen-Communities sind deswegen oft sehr klein, was bedeutet, dass Entwickler:innen in erster Linie auf die Herstellerdokumentation und gelegentlich auf kostenpflichtige Community-Plugins angewiesen sind.
Wenn es im schlimmsten Fall, dann zum Ausfall der geschulten Entwickler:innen während des Projektes kommt, kann das für die Umsetzung des Projektes katastrophal sein.
Herangehensweise an die LowCode-Entwicklung
Anforderungsanalyse
Beginne damit, die Anforderungen Deines Projekts klar zu definieren. Welche Art von Anwendung möchtest Du erstellen, welche Funktionen soll sie haben, und wer sind die Benutzer? Dies ist ein entscheidender Schritt, um den Umfang Deines Projekts zu verstehen und zu erkennen, ob die Umsetzung mit LowCode möglich ist und sich lohnt. Am besten lässt Du Dich hier auch schon beraten.
Auswahl der LowCode-Plattform
Dein Projekt kann mit LowCode umgesetzt werden? Dann kannst Du nun die passende Plattform wählen. Vergleiche die verschiedenen Plattformen, um sicherzustellen, dass die Plattform Deiner Wahl auch wirklich die benötigten Funktionen und Integrationen unterstützt. Berücksichtige auch Faktoren wie Lizenzkosten, Skalierbarkeit und Benutzerfreundlichkeit.
Schulung der Entwickler:innen
Du möchtest das Ganze nicht selbstständig entwickeln? Dann musst Du checken, ob die Entwickler:innen Erfahrung mit der Plattform haben. Falls nicht, ist eine Schulung auf jeden Fall erforderlich. Dies geht online oder mit den vom Plattformanbieter bereitgestellten Schulung Ressourcen.
Design und Prototyp
Nutze die visuellen Entwicklungstools der Plattform, um das Benutzererlebnis (UX) und das Design Deiner Anwendung zu gestalten. Dir muss klar sein, dass Du hier auf die Optionen der Plattform angewiesen bist und je nach Ansprüchen begrenzt in der Designauswahl sein könntest. Erstelle Prototypen, um das geplante Erscheinungsbild und die Funktionalität zu überprüfen, bevor Du in die eigentliche Entwicklung einsteigst.
Entwicklung
Beginne mit der eigentlichen Entwicklung der Anwendung. Nutze die visuellen Tools und vorgefertigten Komponenten der Plattform, um die Funktionalität Deiner Anwendung zu erstellen. Dies umfasst das Hinzufügen von Benutzeroberflächenelementen, Geschäftslogik und die Integration von Datenbanken oder anderen externen Diensten.
Testen und Debuggen
Teste die Anwendung ausgiebig, um sicherzustellen, dass sie den Anforderungen entspricht und fehlerfrei funktioniert. Stelle sicher, dass alle Szenarien abgedeckt sind und führe Debugging durch, um Fehler zu beheben.
Deployment und Skalierung
Veröffentliche Deine Anwendung auf den gewünschten Plattformen (z.B. Web, Mobilgeräte). Überwache die Leistung und Skalierbarkeit der Anwendung, um sicherzustellen, dass sie den Benutzeranforderungen gerecht wird.
Wartung und Aktualisierung
Halte Deine Anwendung aktuell und führe regelmäßige Wartungsarbeiten durch. Dies umfasst die Behebung von Fehlern, die Aktualisierung von Komponenten und die Implementierung neuer Funktionen entsprechend den sich ändernden Anforderungen.
Der Trugschluss hinter LowCode Anwendungen
Das hört sich alles recht unkompliziert und schnell umsetzbar an. Kann es in einigen Fällen auch sein, doch wir wollen Dir trotzdem ein paar Trugschlüsse erklären, die hinter LowCode stecken, sodass Du ein besseres Verständnis dafür hast.
Der Hintergrund liegt darin, dass das Marktkonzept vieler LowCode-Lösungen sich nicht wie bei anderen technischen Frameworks an Entwickler:innen richtet, sondern an Mitarbeiter:innen im Management oder Sales, die sich damit erhoffen Ressourcen zu sparen. Es wird in der Regel als einfache Technologie angepriesen, doch das notwendige technische Hintergrundwissen kann von Laien schnell übersehen oder missverstanden werden. Wir plädieren daher dafür, dass Technologie-Entscheidungen von Experten:innen, also Entwickler:innen oder Manager:innen mit Entwicklungserfahrung getroffen werden sollten, die sowas besser einschätzen können.
Trugschluss 1: Der Code ist das Problem
Ein häufiger Irrtum besteht darin, anzunehmen, dass weniger Code immer besser ist, da Code für Nicht-Entwickler:innen oft kompliziert aussieht. In Wirklichkeit ist Code eine detaillierte Form von Anweisungen, die benötigt wird, um komplexe Anforderungen umzusetzen. Entwickler:innen können diese Anweisungen in Textform oder mithilfe von grafischen Werkzeugen erstellen, aber die zugrunde liegende Komplexität bleibt gleich. LowCode sieht so einfach aus, weil die Komponenten, die verwendet werden können, bereits programmiert wurden und Du als Anwender:in der Plattform beim Bauen Deiner App den Code im Hintergrund gar nicht mitbekommst. Code ist jedoch für Entwickler:innen leichter lesbar, bearbeitbar und nachvollziehbar, weshalb er für die Umsetzung komplexer Anforderungen unverzichtbar ist.
Trugschluss 2: Mit LowCode ist man schneller
Mit LowCode kann man recht simpel CRUD-Apps anlegen und scheint deswegen schneller umsetzbar zu sein. Doch gibt es viele Tutorials, wie man mit Flutter und Firebase eine CRUD-App in kurzer Zeit anlegen kann. LowCode ist da tatsächlich nicht viel schneller. Aufwändig sind immer die zusätzlichen Anforderungen und externe Abhängigkeiten, die hinzukommen.
Trugschluss 3: Mit LowCode braucht man weniger erfahrene Entwickler:innen
Entwickler:innen programmieren bei LowCode nicht mit Code, sondern mit Graphen. Das ändert nicht die Tatsache, dass wir uns bei Projekten auf den "Spider-Sense" unserer Entwickler:innen verlassen müssen, um versteckte Komplexität, Probleme und Sicherheitsrisiken zu erkennen und Best Practices anzuwenden. Die Erfahrungswerte aus unserer Arbeit sind wichtig und notwendig, wenn Du eine gute App bauen möchtest.
Nicht-Entwickler:innen werden sich nicht aktiv um Backups, Datenschutz, Migrationen, Edge-Cases, Mehrsprachigkeit, Barrierefreiheit, Responsiveness, Dokumentation, Modularisierung, Wartbarkeit, automatisierte Tests oder kurze Releasezyklen kümmern. Das alles ist super wichtig, wenn Du eine langfristig gut laufende App bauen möchtest.
Ist LowCode der richtige Ansatz für Deine App?
Hand aufs Herz – wir würden Dir LowCode nicht unbedingt empfehlen. Der Grund liegt überwiegend darin, dass Du damit recht beschränkt bist und die App sich nicht in etwas Größeres mit mehr Komplexität entwickeln kann. Sollte Deine Idee also in der Zukunft wachsen, müsstest Du das Ganze neu bauen und das ist nochmal richtig Aufwand. Das liegt aber auch daran, dass wir Dir großartige Apps in kurzer Zeit bauen können, die Code verwenden. Möchtest Du Dein Projekt klein halten, schnell einen Prototyp oder ein MVP bauen, dann kann sich LowCode aber doch lohnen. Wie immer – es kommt ganz auf Dein Projekt an. Wir stehen Dir gerne zur Seite, um die richtige Entscheidung für Dein App-Projekt zu treffen.
Dir hat der Artikel gefallen?
Dann schau doch gerne mal bei den anderen Artikeln aus dieser Reihe vorbei, die dir die Native App Entwicklung, Cross-Plattform Entwicklung, Progressive Web Apps und Hybrid Apps näher bringen.
Du bist ein Unternehmen und möchtest mit uns zusammenarbeiten? Melde Dich gerne!
Du bist ein:e krasse:r Digital-Expert:in und möchtest ein Homie werden? Hier entlang!
Über die appmotion GmbH
Digitale Lösungen für die beste Customer Experience: Mit einem starken Fokus auf smarte Kundenerlebnisse und einem hohen Designanspruch unterstützt appmotion moderne Unternehmen bei der Entwicklung und Optimierung von langfristigen Kundenbeziehungen durch einzigartige digitale Kundenerfahrungen. Das Remote-first Unternehmen versteht sich als ganzheitlicher strategischer Berater, Umsetzer und Integrator bei digitalen Transformationsprozessen. Das vielfach ausgezeichnete und zertifizierte Unternehmen ist seit 2022 Teil der internationalen MYTY Gruppe.