Software Entwicklung
IT-Expertenrunde Teil 1: Mendix
07 Dez. 2022
Wir starten unser Interviewpanel für IT-Experten. Damit wollen wir Ihnen bekannte und weniger bekannte Ecken und Kanten der IT näherbringen. Heute wollen wir Ihnen ein weniger bekanntes Thema vorstellen, nämlich das Low-Code-Konzept.
Um dies auf die bestmögliche Art und Weise zu tun, habe ich unseren Mitarbeiter Bartosz Hetmański eingeladen, der über 14 Jahre Berufserfahrung in der IT-Branche hat und zertifizierter Mendix-Experte ist.
AL: Bartek, vielen Dank, dass Sie die Einladung angenommen haben. Bitte erzählen Sie uns zu Beginn etwas über sich selbst. Wie hat Ihr Abenteuer mit Mendix begonnen?
BH: Ich begann meine berufliche IT-Reise 2007, kurz nach meinem Abschluss. Zunächst war ich C++-Entwickler und habe Anwendungen für eingebettete Systeme entwickelt. Dann wechselte ich zur Unterstützung des Verkaufsbetriebs. Das war im Jahr 2008, als ich anfing, mit SF zu arbeiten. Ich wusste nicht, was Low Code oder No Code ist. Erst dann erfuhr ich von dieser Klassifizierung und SF war praktisch das erste Low-Code-Tool, mit dem ich arbeitete. Ich habe ein paar Jahre mit SF gearbeitet. Buchstäblich ein paar, denn es waren genau zwei. Dann wechselte ich den Job und arbeitete mit Java. Das war eine kleine Episode. Dann habe ich für CS gearbeitet. Dort ging es um die Entwicklung von Tools auf der Grundlage einer Plattform, die Finanzbetrug aufdecken sollte. Man könnte sagen, dass es eher eine Low-Code-Beschäftigung war. Dann, Ende 2017, hörte ich von Mendix und begann, mit Mendix-Apps zu arbeiten. So begann meine Reise mit Low Code wirklich.
AL: Lassen Sie uns vielleicht ganz von vorne anfangen. Was ist Low Code?
BH: Wir müssen bedenken, dass es Low-Code- und No-Code-Plattformen gibt. Bei No-Code-Plattformen wird überhaupt nicht kodiert, man arbeitet mit dem, was auf der Plattform vorhanden ist. Man kombiniert Blöcke und erstellt eine App aus gebrauchsfertigen Elementen. Low Code besteht zu etwa 80 % aus No Code und zu 20 % aus Anpassungen. Anpassungen können in verschiedenen Programmiersprachen geschrieben werden. Ob es sich um Java, Javascript, die Nutzung von Bibliotheken wie React oder sogar C++ handelt, macht keinen Unterschied im Ansatz. Auf diese Weise lassen sich Low-Code-Plattformen erweitern.
AL: Mendix ist eine solche Plattform?
BH: Ja, es ist eine der Low-Code-Plattformen. Es ist eine Plattform als Service, auch bekannt als PaaS. Es ist ein Tool, mit dem man fast jede Anwendung erstellen kann. Ich mag dieses Tool sehr, und ich habe mich darauf spezialisiert.
AL: Berichten zufolge wird Mendix als eine der beliebtesten Plattformen angesehen. Stimmen Sie dem zu?
BH: Ganz und gar! Man kann sagen, dass Mendix definitiv die beste Low-Code-Plattform ist, mit der ich gearbeitet habe. Warum eigentlich? Aus verschiedenen Gründen, z. B., weil sie zwei Entwicklungsansätze hat. Einer davon ist das so genannte Citizen Development. Wenn du, Alicja, zum Beispiel anfangen möchtest, Mendix zu lernen, aber keine technische Basis oder einen IT-Hintergrund hast, aber trotzdem eine App erstellen möchtest, kannst du ein Citizen Developer werden und anfangen, selbst einfache Apps zu erstellen. Einfach so. Es ist ein Ansatz, bei dem Sie der Endnutzer sind und solche einfachen Anwendungen selbst erstellen können. Ich hingegen interessiere mich mehr für den zweiten Entwicklungsansatz, d. h. den Bottom-up-Ansatz, der eher für IT-Spezialisten gedacht ist, und so kann ich als Entwickler Apps in Mendix erstellen. Sie können sich vorstellen, dass die Arbeit mit Mendix wie das Erstellen von Anwendungen aus Lego-Steinen ist. Sie haben fertige Elemente, die Sie kombinieren und die mehr oder weniger zueinander passen. Sie haben sicher als Kind mit Legosteinen gespielt und wissen daher, welche Elemente zusammenpassen und gut funktionieren. Wenn man sie richtig einsetzt, können sie ein sehr interessantes Ergebnis liefern. Genau so funktioniert Mendix. So erstellen Sie eine App in schneller Entwicklung, mit wenig Code. Wir haben gebrauchsfertige Elemente, die bereits eine bestimmte Funktionalität „out-of-the-box“ bieten. Diese Elemente sind bereits gut getestet, so dass wir uns nicht auf Unit-Tests konzentrieren müssen. Wir können einen generischeren Ansatz wählen, eine höhere Abstraktionsebene und mit der Datenmodellierung beginnen, ohne SQL-Kenntnisse zu haben, oder mit der Erstellung von Geschäftslogik beginnen, ohne Java oder eine andere Programmiersprache zu kennen. Alle diese Elemente stehen uns bereits zur Verfügung. Mendix verwendet außerdem eine dreistufige Architektur. Am Anfang stehen die Daten, dann kommt die Geschäftslogik und am Ende die Benutzeroberfläche, mit der der Benutzer interagiert. Ein solcher modularer Ansatz ist für IT-Spezialisten sehr wichtig. Es ist entscheidend, dass man diese Schichten voneinander trennen kann.
AL: Bitte sagen Sie mir, was ist schnelle Entwicklung?
BH: Es gibt die schnelle Entwicklung (die Low-Code-Methode) und die klassische Entwicklung. Bei der schnellen Entwicklung muss meist kein Code geschrieben werden. Sie nutzt das Ziehen und Ablegen von Objekten und das Verbinden der Punkte miteinander.
AL: Sie meinen, aus Blöcken zu bauen?
BH: Ja, schnelle Entwicklung, d. h. man muss es sofort haben, jetzt. Während bei der klassischen Entwicklung hauptsächlich von Hand programmiert wird. Ein Rapid-Entwickler muss an das Ganze denken, an die gesamte Anwendung. Nicht über einzelne Codezeilen, die für eine bestimmte Funktionalität verantwortlich sind, sondern über die gesamte Anwendung.
AL: Was sind die Vorteile von Mendix?
BH: Abgesehen von der Tatsache, dass es eine interessante und einfache Entwicklerschnittstelle hat, verfügt es über viele Funktionen. Die Liste der Funktionen wird ständig erweitert. Es gibt z. B. einen KI-Mechanismus, der einem vorschlägt, was man zu einem bestimmten Zeitpunkt tun sollte. Ein weiteres Beispiel ist die Ein-Klick-Bereitstellungsfunktion. Wenn Sie Ihre Änderungen, die Sie in Ihre Anwendung einbauen möchten, fertig entwickelt haben, klicken Sie einfach auf eine Schaltfläche, und die Software erledigt das für Sie: Sie sendet einen Befehl an den Quellcode-Server, erstellt einen Build aus der Code-Revision und stellt ihn auf dem Server bereit. Sie haben eine vollständige Automatisierung in einem einzigen Schritt. Wenn ich eine Änderung in der Anwendung für Sie vornehme, kann ich die Schnittstelle öffnen und die notwendigen Änderungen vornehmen, dann auf „Deploy“ klicken und das Ganze wird an den Server gesendet und Sie können die Änderungen sofort sehen. Das ist ein großer Vorteil von Mendix. Man kann natürlich sagen: Okay, aber ich möchte die volle Kontrolle haben, ich möchte wissen, wo der Code gespeichert ist, wie die Builds erstellt werden oder ist es möglich, die App in einer anderen Cloud als der Mendix-Cloud bereitzustellen? All das ist möglich, und es ist einfach zu konfigurieren. Wir können ein Git-Repository einbinden, wir können Automatisierungsskripte schreiben, um einen Build für uns zu erstellen, z. B. mit YAML. Wir können in Mendix erstellte Anwendungen nicht nur in der Mendix Cloud bereitstellen, sondern auch vor Ort, d. h., wenn wir unsere eigenen lokalen Server haben, können wir sie auf diesen oder auf einer privaten Cloud unserer Wahl bereitstellen. Generell ist es eine sehr flexible Plattform. Eine andere Sache ist das Mendix Developer Portal, das einen Jira-ähnlichen Ansatz für das Anforderungsmanagement bietet, der den agilen Entwicklungsansatz unterstützt. Es ist auch ein Werkzeug zur Änderungsverfolgung. Dort können Sie auch die Plattform überwachen. Was noch… Skalierbarkeit. Mendix ist einfach zu skalieren. Es ist testbar, da Sie Unit-Tests schreiben können, es hat Module, die speziell für diesen Zweck gedacht sind. Interessant ist, dass Mendix seine gesamte Funktionalität für jedermann kostenlos anbietet. Mit den kostenlosen Servern können Sie Ihre Anwendungen ohne jegliche Kosten einsetzen und betreiben und dabei das volle Potenzial der Mendix-Plattform nutzen. Mit kostenpflichtigen Plänen stehen Ihnen sogar noch mehr Funktionen zur Verfügung.
AL: Wie sieht es mit dem Design der App aus?
BH: Wir können den Stil der App in Mendix explizit festlegen. Die Stile basieren auf CSS und Saas und bieten viel Spielraum, um die App auch in Bezug auf das UI hervorzuheben.
AL: Das heißt, es kann gut aussehen?
BH: Ja, auf jeden Fall.
AL: Beinhaltet Mendix nur Webanwendungen?
BH: Es gibt verschiedene Arten von Apps, nicht nur Web- oder responsive Web-Apps, sondern auch mobile, hybride und native mobile Apps. Man kann Apps leicht integrieren. Zum Beispiel erstellen große Unternehmen eine Reihe von Apps in Mendix und haben einen sogenannten Data Hub zur Verfügung, d. h. sie können Informationen zwischen verschiedenen Apps ohne zusätzlichen Entwicklungsaufwand austauschen. Sie sind einfach da und warten darauf, genutzt zu werden. Es ist auch super einfach, Mendix-Apps mit anderen Apps zu integrieren. Was die DBs betrifft, so unterstützt Mendix viele Datenbankmanagementsysteme. Da PostgreSQL für die Mendix Cloud Server verwendet wird, wird Ihre App auch mit Oracle, MS SQL, MySQL oder DB2 problemlos funktionieren.
AL: Glauben Sie, dass Mendix, Low Code, die Zukunft der App-Entwicklung und des IT-Bereichs ist?
BH: Lassen Sie mich mit dem beginnen, was in den Berichten steht oder was die Leute sagen. Es ist sicherlich bis zu einem gewissen Grad die Zukunft, denn die Anzahl der Codezeilen, die geschrieben werden müssen, wächst ständig. Und das braucht Zeit, denn wir haben einfach nicht die Verarbeitungskapazität mit der aktuellen App-Wachstumsgeschwindigkeit, um das alles mit klassischer Entwicklung zu erfüllen. Es ist offensichtlich, dass der Anteil der Low-Code-Apps an der gesamten verfügbaren Software von Jahr zu Jahr steigt und weiter steigen wird. Es ist schwierig zu sagen, dass dies die Zukunft ist. Ich würde sagen, es ist die Gegenwart. Sie ist bereits da, diese Anwendungen werden bereits erstellt. Ich habe im Laufe meiner Karriere Dutzende von Mendix-Anwendungen für viele Kunden entwickelt.
AL: Warum wissen dann so wenige Leute, selbst im IT-Bereich, was Mendix ist?
BH: Ich denke, das Hauptproblem ist, dass Low-Code-Plattformen noch nicht in das akademische Programm aufgenommen wurden. Wenn sie schließlich aufgenommen werden, werden wir meiner Meinung nach einen starken Anstieg in Richtung Low Code erleben. An den Universitäten wird die Entwicklung von Anwendungen von Anfang an gelehrt. Bei Low Code haben wir bereits Komponenten, wir müssen den Code nicht von Grund auf neu schreiben.
AL: Wie wird man ein Mendix-Entwickler?
BH: Mein Herz sagt mir, dass man in der Tat einen technischen Hintergrund haben oder zumindest einige Grundlagen der Softwareentwicklung kennen muss. Vielleicht nicht unbedingt eine Ausbildung, aber ein Händchen und Grundlagen. Denn selbst wenn Citizen Development mit Mendix möglich ist und die Leute es tun, muss man leider in einigen Fällen das, was von einem Citizen Developer erstellt wurde, neu erstellen. Dafür gibt es verschiedene Gründe. Es ist sicherlich ein Ausgangspunkt, um andere Apps zu erstellen, und viele Unternehmen erlauben den Benutzern, Apps mit ihren eigenen vorbereiteten App-Vorlagen zu erstellen. Dann nimmt das IT-Team diese Apps und optimiert sie, z. B. durch die Integration in Unternehmenssysteme usw. Wie ich bereits sagte, gibt es zwei Möglichkeiten, dies zu tun. Es gibt den Top-down-Ansatz als Citizen Developer und einen Bottom-up-Ansatz als professioneller Entwickler. Was muss getan werden? Sie müssen sicherlich bereit sein, einen neuen Ansatz für die Entwicklung von Anwendungen zu lernen. Sie müssen Ihr eigenes Mendix-Konto erstellen – ein Entwicklerkonto, Mendix Studio Pro herunterladen, so heißt die Mendix-IDE, und an den Schulungen teilnehmen, die auf der Plattform angeboten werden. In der Mendix Academy gibt es Kurse vom Einsteiger- bis zum Expertenlevel. Ich schlage vor, dass Sie von Anfang an beginnen. Wenn jemand motiviert ist und tatsächlich mit den Kursen beginnt, dann denke ich, dass er oder sie nach 2 Wochen in der Lage sein wird, die erste Zertifizierungsphase zu bestehen, um das Rapid Developer Zertifikat zu erhalten. Das ist eine Grundlage, die man braucht, um mit der Erstellung professioneller Anwendungen zu beginnen.
Ich werde Ihnen eine interessante Tatsache verraten, einen Hinweis. Der Test wird oft kostenlos zur Verfügung gestellt. Sie müssen nur auf einen solchen „besonderen“ Zeitpunkt warten. Zum Beispiel während der Mendix World, einer Veranstaltung, die einmal im Jahr stattfindet. Wenn Sie sich dafür anmelden und daran teilnehmen, können Sie am Ende einen Code erhalten, der es Ihnen ermöglicht, eine Zertifizierungsprüfung abzulegen.
AL: Das ist wirklich ermutigend. Bevor wir unser Gespräch beenden, möchten Sie noch etwas über Mendix hinzufügen? Irgendetwas, das Menschen ermutigen kann, die ihren Platz im IT-Bereich suchen?
BH: Vielleicht die Tatsache, dass Mendix die App-Erstellung ca. 7-mal beschleunigt. Mendix prahlt damit, dass es 10-fach ist, aber aus meiner Erfahrung kann ich sagen, dass es 7-fach schneller ist.