25.08.2023
Autor: Khoa Nguyen, Florian Dendorfer
Mendix
Low-Code-Plattformen gewinnen heute immer mehr an Bedeutung. Gartner erwartet beispielsweise, dass der Low-Code-Plattform Markt im 2023 um 20% wächst. Aber was genau ist Low-Code und wie kann ein Unternehmen davon profitieren? Im folgenden Blog Beitrag zeigen wir anhand von Mendix, einer der bekanntesten Low-Code-Plattform auf, was die Vor- und Nachteile einer Low-Code-Plattform sind und zeigen auf, wie wir bei jls Mendix eingesetzt haben.
Was ist Low-Code
Low-Code bezieht sich auf eine Entwicklungsmethode oder Plattform, welche es Entwickler:innen ermöglicht, Anwendungen mit minimalen handgeschriebenem Code zu erstellen. Deshalb bietet Low-Code Entwicklung oftmals eine visuelle Benutzeroberfläche, mit welcher Applikationen durch Konfiguration, Annotation und Modellierung erstellt werden können.
Warum ist Low-Code relevant?
In der heutigen schnelllebigen digitalen Welt suchen Unternehmen nach Möglichkeiten, ihre Anwendungsentwicklung zu beschleunigen, damit sie mit der über allen Geschäftsbereichen durchdringenden digitalen Transformation mithalten können, ohne dabei Kompromisse bei der Qualität einzugehen. Hier kommen Low-Code Plattformen wie Mendix zum Zug, welche professionelle Entwickler oder digital affine Personen ermöglichen, komplette Applikationen mit wenig Grundwissen zu erstellen und auf der Cloud in Betrieb zu nehmen.
Ein weiter wichtiger Punkt ist, dass durch den Einsatz von Low-Code die Entwicklungszeiten erheblich verkürzt werden, da weniger Code manuell geschrieben werden muss. Dies führt zu einer beschleunigten Markteinführung von Applikationen und einer schnelleren Reaktion auf geschäftliche Anforderungen und Kundenbedürfnisse. Deshalb wird Low-Code oftmals auch für Prozessinnovationen eingesetzt, weil dadurch schnell und mit wenig Aufwand die Wirkung einer Digitalisierung getestet werden kann.
Durch den immer mehr auftretenden Fachkräftemangel in der Entwicklung, erlauben Low-Code Plattformen auch, dass Fachleute ohne Umfangreiche Programmierkenntnisse an der Applikationsentwicklung teilnehmen können. So können Unternehmen ihr Entwicklungsteam erweitern und schneller neue Applikationen an den Markt bringen.
Was ist Mendix?
Mendix ist eine Low-Code-Entwicklungsplattform, mit der Anwendungen mit minimalem Codierungsaufwand erstellt, deployed und verwaltet werden können. Es bietet eine visuelle Entwicklungsumgebung, in der Benutzeroberflächen entworfen, Datenmodelle definiert und Geschäftslogik per Drag-and-Drop-Komponenten und vorgefertigten Bibliotheken implementiert werden können. Mendix abstrahiert komplexe technische Details und ermöglicht dem Benutzer, sich auf die Lösung von Geschäftsproblemen zu konzentrieren, anstatt sich in Code-Details zu verlieren.
Wieso Mendix?
Als ein Unternehmen mit einem existierenen Entwicklungsteam fragen Sie sich sicher, wieso wir Mendix in Betracht ziehen für zukünftige Projekte. Für uns ist wichtig, dass wir aufkommende Platformen, Frameworks und Libraries evaluieren, um unseren Kunden die besten Möglichkeiten aufzuzeigen, wie wir ihre Anwendungen umsetzen können. Während der Entwicklung unseres ersten Projekts mit Mendix haben wir folgende Features besonders geschätzt.
Data-Model Editor
Jede App benötigt irgendwelche Daten. In Mendix werden die Datentypen im so genannten Domain Model verwaltet. Dies ist ein Editor, der temporäre, wie auch gespeicherte und externe Typen darstellt wie in einem UML Diagramm zusammen mit allen Feldern und Beziehungen. Dieses Daten-Modell ist relativ einfach verständlich für Entwickler genauso wie für Stake Holders.
Drag-and-Drop Page Building
Mendix verstärkt Entwickler mit einem Drag-and-Drop Interface, um ganze Seiten oder einzelne Komponenten mit vorhandenen Elementen wie Buttons, Tabellen, Bildern etc. zu bauen. Einfache Seiten können in Rekordgeschwindigkeit prototypisiert, kreiert und geändert werden.
Integrierte Deployment Funktionalität
Um den Deployment Prozess zu vereinfachen hat Mendix zwei Funktionen, welche zusammenarbeiten, um eine App für dritte via Internet zugänglich zu machen. Auf der einen Seite ist das «Version Control», welches Snapshots der App und optional der Datenbank verwaltet. Auf der anderen Seite steht das «Developer Portal», von welchem aus Builds für jeden Snapshot gestartet werden und dann auf eine Cloud Umgebung deployed werden können.
Erweiterbarkeit
Mendix erkennt, dass jedes Projekt einzigartige Anforderungen hat und sich manchmal mit anderen Systemen integrieren können muss. Um dies umzusetzen, gibt es in Mendix mehrere Möglichkeiten. Eine davon ist der Marketplace, in dem zusätzliche Widgets wie Data-Tables, Funktionalitäten wie Excel-Exports oder Integrationen wie AWS-Connectors heruntergeladen werden können, welche danach ganz einfach in ein Projekt importiert werden können.
Ausserdem können eigene Widgets und Funktionalitäten hinzugefügt werden, was die Platform auf dieselbe Anpassbarkeitsstufe wie herkömmliche Entwicklungsmethoden bringt. Für Frontend können Widgets beispielsweise mit React geschrieben werden, welche dann via einem Bundler ins Projekt importiert werden kann. Für serverseitige Funktionalitäten können Java-Files geschrieben werden, welche über API's in die Applikation integriert werden können.
Fragen zum Thema «Mendix»?
Kontaktiere Khoa:
Das Fazit
Alles in allem konnten wir recht gute Erfahrungen sammeln. Besonders der Start der Entwicklungsphase war besonders schnell. Das Prototyping war sehr einfach und wir konnten schnell über etwas iterieren. Wir sind jedoch in die erwarteten Schwierigkeiten gelaufen. Komplexere Prozesse sind etwas mühsamer zu implementieren als mit Code und auch Styling ist etwas aufwendiger. Aber wir sind mit einer kleineren App an keine Limitationen getreten und können uns vorstellen je nach Anforderungen weitere Applikationen umzusetzen.