Knowhow »

Mendix
Low-Code-Development ist der neueste Trend in der Welt der App-Entwicklung. Mendix ist eine in diesem Bereich führende Low-Code-Plattform, die die Entwicklungs- und IT-Abteilungen entlasten soll, indem sie die Erstellung von Unternehmensanwendungen nicht nur beschleunigt, sondern auch für technisch weniger versierte Programmierer zugänglich macht.
Inhaltsverzeichnis
Low Code Development – Programmieren für Laien?
Die Bezeichnung Low Code Development ist noch relativ neu. Erst 2016 wurde sie unter anderem in einer Publikation des US-amerikanischen Marktforschungsunternehmens Forrester verwendet. Seitdem ist Low Code Development auch der Öffentlichkeit ein Begriff.
Länger als die Bezeichnung existiert allerdings das Konzept. Schon in den 90er Jahren gab es einige Ansätze, mit denen versucht wurde, das Programmieren von Apps durch den Verzicht auf umfassendes Code-Schreiben auch weniger erfahrenen Entwicklern möglich zu machen. Diese Plattformen liefen unter dem Begriff „Rapid Application Development“, kurz RAD.
Heutige Low-Code-Plattformen liefern meist einen visuellen Ansatz zur App-Entwicklung. Die Entwicklungsumgebung stellt die Elemente der späteren Anwendungen quasi wie eine Kiste mit Bauklötzen zur Verfügung. Mittels Drag-and-Drop können Entwickler verschiedener Erfahrungsstufen die Benutzeroberfläche so aus vorgegebenen UI-Elementen (User-Interface-Elementen) zusammenbauen und diese später mit Funktionalität anreichern – ohne oder mit nur wenig selbst geschriebenem Code.
App Factory - App-Entwicklung von studierten Experten!
Sie haben eine App-Idee, jedoch noch kein klares Bild zur Umsetzung? Im App-Design Workshop entwickeln wir zusammen mit Ihnen klare Zielbilder mit einem klaren Konzept. Anschließend, oder sogar währenddessen, setzt die App Factory ihre Wünsche um.
Diese erhöhte Geschwindigkeit ist vor allem sinnvoll, um schnell Prototypen zu erstellen, die dann den Nutzern präsentiert werden können. Auch kann der Kunde durch dieses „Bauklötze-System“ leichter in den Entwicklungsprozess mit einbezogen werden und die App so zu einem gewissen Grad nach seinen Vorstellungen aktiv mitgestalten.
Low-Code-Plattformen sind oft als „Application Platform as a Service” (APaaS) konzipiert, also als Cloud- oder Web-Dienst, der sämtliche Schritte der Entwicklung, von der Präsentation bis zur Datenverarbeitung und Authentifizierung, abwickeln kann. Häufig hat das allerdings den Nachteil, dass sich der Nutzer an diesen Dienst binden muss – Exporte aus anderen Systemen sind meist nicht möglich.
Trotzdem beseitigen Low-Code-Plattformen einen Aspekt der Entwicklung, der unter normalen Bedingungen die meiste Zeit in Anspruch nimmt: repetitive Programmieraufgaben. Durch den Wegfall dieser können Entwickler ihren Fokus auf die Prozesse und Funktionalitäten statt auf das Coding legen.
Innerhalb des breiten Spektrums verschiedener Low-Code-Plattformen gibt es gewaltige Unterschiede in der Qualität der Plattformen.
Was zeichnet eine gute Low-Code-Plattform aus?
Ist die Entscheidung für eine bestimmte Plattform erst einmal gefallen, ist ein erneuter Wechsel aufgrund der oben genannten APaaS-Eigenschaft vieler Plattformen nicht oder nur bedingt möglich. Aus diesem Grund sollten sich Entscheider gut über die technischen Eigenschaften und Besonderheiten der Plattform informieren, bevor sie sich festlegen.
Die folgenden 6 Kriterien sollten bei der Auswahl einer Plattform berücksichtig werden.
Sicherheit
Aufgrund der Datenmenge, die Unternehmen in die Plattform einspeisen, ist der erste Punkt offensichtlich: Die Sicherheit der Daten muss gewährleistet sein. Das ist umso wichtiger, je sensibler die Daten sind, die für die jeweilige Anwendung relevant sind.
Skalierbarkeit
Ein weiterer wichtiger Faktor ist die Skalierbarkeit, also die Fähigkeit der Anwendung, zu wachsen. Hier sollten sich Entscheider die Frage stellen, ob die Anwendungen den auf sie zukommenden komplexen Anwendungsszenarien gewachsen sind, oder ob die Daten im schlimmsten Fall wieder umgelagert werden müssen. Die meisten etablierten Plattformen sind in diesem Bereich aber gut aufgestellt.
Visual Development per Drag & Drop
Die Plattform sollte anwenderfreundlich sein, damit sie auch Laien problemlos verwenden können. Hier ist das oben beschriebene Drag-and-Drop-Prinzip von zentraler Bedeutung. Es ermöglicht es dem Entwickler, sich auf die Gestaltung und Funktion der App zu konzentrieren.
Interoperabilität mit Drittanbietern
Auch dieser Punkt wurde oben bereits angerissen. Die Low-Code-Plattform sollte keine Insellösung sein, die vollständig von anderen Diensten und der Interaktion mit diesen abgekapselt ist. Vielmehr sollte sie eine Vielzahl an Datenquellen wie eigene Unternehmensserver oder Drittanwendungen wie SAP, Oracle oder Outlook unterstützen, damit der Entwicklungsprozess möglichst reibungslos ablaufen kann.
Unterstützung von mobilen Anwendungen
Eine Plattform muss heutzutage in der Lage sein, Anwendungen auf gängigen App-Plattformen wie dem Apple- oder dem PlayStore zu veröffentlichen. Andererseits bietet auch die mobile Verwendung der Low-Code-Plattform selbst den Vorteil, dass Entwickler problemlos jederzeit von überall auf diese zugreifen können.
Wiederverwendbarkeit
Ein weiteres Feature, auf das Entscheider bei der Auswahl der passenden Low-Code-Plattform achten sollten, ist die Wiederverwendbarkeit bestimmter Elemente im ganzen Unternehmen. Darunter fallen Vorlagen, Plug-Ins oder Widgets, die ein Entwickler nach ihrer Erstellung so speichern können sollte, dass seine Nachfolger ebenfalls darauf zugreifen können. Die Wiederverwendbarkeit kann somit Zeit sparen, die dann in wichtigere Problemstellungen investiert werden kann.
Was ist Mendix?
Mendix ist nach Forrester und Gartner einer der Marktführer im Bereich Low-Code-Development und bietet komplette Makro- und Mikroentwicklung an. Dabei nutzt Mendix die Anbindung an offene Standards wie BPMN (Business Process Model and Notation), UML (Unified Modeling Language) oder OData (Open Data), und ist somit keine abgekapselte Insellösung.
Mendix stellt Anwendern eine Entwicklungsumgebung zur Verfügung, in der sie Apps entwickeln, bereitstellen, testen und verwalten können, die dann sowohl auf iOS- als auch auf Android-Geräten laufen. Komponenten des Domain-Models, der Logik und der Benutzeroberfläche können in Mendix-Anwendungen abgelegt und später von anderen Entwicklern wiederverwendet werden.
Dadurch, dass Mendix das Konzept des Multi-User-Development unterstützt, können zeitgleich mehrere Entwickler transparent in einer App arbeiten und sich abstimmen.
Es gibt verschiedene Versionen der Plattform, die sich nach den verschiedenen Professionalitätsgraden der Entwickler richten. Mendix Studio richtet sich als No-Code-Plattform an Laien, während sich Mendix Studio Pro für professionelle Entwickler eignet.
Mendix Studio
Studio ist eine No-Code-Plattform, die sich an sogenannte Citizen-Developer richtet, also an Personen ohne besondere Kenntnisse in der Entwicklung. Deswegen ist bei der Entwicklung in der No-Code-Umgebung das Schreiben von Code vollständig hinfällig. Meist entwickeln Nutzer mit Mendix Studio ihre erste App. Die Entwicklungsumgebung ist dabei zielgruppenspezifisch, intuitiv und visuell ausgerichtet.
Das, was den Citizen-Developern an Erfahrung mit professioneller Programmierung fehlt, gleichen sie mit ihrem Verständnis von Geschäftsfaktoren, -zielen und -prozessen aus. Mit Mendix Studio können sie Apps entwickeln, die entweder tatsächlich genutzt werden, oder professionellen Entwicklern als Grundlage zum Weiterarbeiten dienen können.
Die Seiten, die mit Studio entworfen werden, zeichnen sich durch responsives Design aus, d. h., dass sie sich automatisch an den jeweiligen Bildschirm anpassen – sei es der Desktop, das Tablet oder das Mobiltelefon.
Mendix Assist, ein mit künstlicher Intelligenz ausgestatteter Agent, unterstützt Anwender bei der Konfiguration von Microflows. Microflows sind eine visuelle Ausdrucksform dessen, was normalerweise in Code wiedergegeben werden würde. So kann ein Microflow beispielsweise Objekte erstellen oder verändern, Seiten anzeigen und Entscheidungen treffen.
In Studio liefert Mendix Assist dem Citizen-Developer außerdem Empfehlungen und Vorschläge für die nächsten Schritte und sichert die Qualität der Anwendungen.
Mendix Studio Pro
Studio Pro richtet sich als leistungsstarke, visuelle und modellbasierte Low-Code-Umgebung an professionelle Entwickler. Diese können umfassende und komplexe Anwendungen erstellen und müssen dafür nur wenig Code schreiben. Besonders zeitintensive Aufgaben werden hier von der Umgebung übernommen, sodass sich die Entwickler auf übergeordnete Aufgaben konzentrieren können.
Programmierer müssen in Mendix nur wenig Code schreiben, können diesen Anteil aber auch ausweiten. So ist es beispielsweise möglich, Apps mit individuellem Code oder wiederverwendbaren Komponenten zu erweitern und an individuelle Anforderungen anzupassen.
Mendix Assist fungiert in Studio Pro als Co-Programmierer, der die nächsten Schritte voraussagt, Logikabläufe überprüft und Fehler aufdeckt.
Mit Studio Pro kann also die Produktivität und Effizienz des Entwicklers gesteigert und die Kosten- und Zeitbelastung durch Fehler reduziert werden.
Mendix Studio und Studio Pro ermöglichen eine nahtlose Zusammenarbeit zwischen Experten und technisch weniger versierten Entwicklern. So lassen sich beispielsweise die einzelnen Entwicklungsschritte zwischen Studio und Studio Pro problemlos hin und her tauschen. Außerdem gewährleistet dieses Verfahren eine hohe Transparenz und Effizienz, da Entwickler und Fachabteilung die gleichen Ziele verfolgen.
SAP und Mendix
Mendix arbeitet seit 2017 auch mit SAP zusammen, wobei die Mendix-Plattform in die SAP HANA Datenbank integriert werden soll. Diese kann dann auch als Primärdatenbank für die Low-Code-Anwendungen genutzt werden. Besonders in Bereichen, in denen große Datenmengen in kurzer Zeit verarbeitet werden müssen, beispielsweise bei künstlicher Intelligenz oder IoT-Anwendungen (Internet of Things), verspricht dieser Zusammenschluss aufgrund der Leistungsstärke der HANA Datenbank Vorteile.
Fazit
No/Low-Code-Development scheint die Zukunft der Programmierung zu sein, denn es befähigt Citizen-Developer mit geschäftlichem Knowhow, einfach per Drag-and-Drop Apps zu entwickeln, die sie auch wirklich brauchen und verwenden können. Auf der anderen Seite werden professionelle Entwickler von repetitiven wenig kreativen Programmieraufgaben befreit und können ihre Energie eher in die wesentlichen Teile der Entwicklung investieren.
Führend im Bereich Low-Code erfüllt Mendix die wichtigsten Kriterien, die eine gute Plattform ausmachen, darunter Unterstützung von mobilen Anwendungen, Wiederverwendbarkeit und Visual Development per Drag-and-Drop. Mit Studio und Studio Pro liefert Mendix sowohl für Anfänger als auch für Profis jeweils eine Plattform. Mit der Integration in die HANA-Datenbank im Rahmen der Zusammenarbeit mit SAP verspricht Mendix zukünftig sehr komplexe Projekte, z. B. im Bereich Machine Learning, realisieren zu können.


Websession: Mendix
Haben Sie bereits Erfahrungen mit Low-Code-Development gemacht und möchten diese mit uns teilen oder offene Fragen klären? In einer kostenlosen Websession besprechen wir Ihre Herausforderungen und Möglichkeiten.
2 Kommentare zu "Mendix"
Wie kann ich mit Hilfe von Mendix eine Anwendung ohne Code erstellen?
Hallo Herr Theissen,
danke für Ihre Frage. Mendix bietet mit Mendix Studio eine visuelle Entwicklungsumgebung für Prozessexperten. In dieser können Sie beispielsweise Oberflächlich über einen Drag&Drop Editor aus vorgefertigten Elementen zusammenbauen oder Prozesse in Form von Microflows grafisch modellieren. Auch einfache Interaktionen des Anwenders wie der Wechsel zwischen verschiedenen Seiten können damit angefangen werden. Es ist allerdings zu beachten, dass komplexere Anwendungen dann oft dennoch eigenes Coding erfordern. Dafür bietet Mendix Studio Pro, welches sich an Entwickler richtet. Eine komplette Anwendung ohne eigenes Coding ist somit zwar möglich, bei umfangreicheren Anwendungen werden Sie mit diesem Ansatz jedoch früher oder später an eine Grenze stoßen.
Viele Grüße,
Tobias Schießl