In dem Artikel „Low-Code-Anwendungen als Zukunft für die Softwareentwicklung?“ habe ich allgemein über das Thema Low-Code-Anwendungen gesprochen. In diesem Artikel schaue ich mir die Low-Code-Plattform Microsoft Power Apps genauer an und zeige, wie man damit eine App entwickeln kann.
Microsoft Power Apps ist eine Low-Code-Plattform, die zu der Microsoft Power Platform gehört. Power Apps ist Teil der Microsoft-Familie, wodurch Dienste wie Dataverse, Azure oder auch einfach Excel sehr einfach in eine Anwendung integriert werden können.
Erstellen eines Projekts
Für das Erstellen eines Projekts kann man eine Vorlage auswählen. Das kann entweder eine Dataverse-Tabelle, eine SharePoint-Liste oder auch eine externe SQL-Datenquelle sein. Power Apps kann außerdem aus einem Figma Design oder sogar aus einem selbst gemalten Bild eine App generieren, wobei das bei meinen Versuchen nicht besonders gut geklappt hat. Wenn man keine Vorlage verwenden will, kann man auch eine leere Anwendung erstellen und später noch Datenquellen anbinden.
Aufbau der Benutzeroberfläche einer Power App
Erstellen eines Screens
Das Aufbauen einer Benutzeroberfläche funktioniert in Power Apps ähnlich wie bei anderen Low-Code-Plattformen. Zuerst erstellt man einen Screen. Dafür gibt es verschiedene Vorlagen, die bereits Komponenten enthalten. Alternativ kann man auch einen leeren Screen erstellen und diesen selbst mit Komponenten füllen.
Hinzufügen von Komponenten
Im erstellten Screen fügt man anschließend die benötigten Komponenten hinzu. Power Apps bietet alle wichtigen Komponenten, wie Texte, Überschriften, Buttons, Eingabefelder, Tabellen, Listen, Bilder oder auch Diagramme an. Um eine Komponente hinzuzufügen, zieht man sie einfach mittels Drag’n’Drop in den Screen. Im Screen kann man die Komponenten frei platzieren.
Zum Schluss stylt man die Komponenten und verknüpft sie mit Actions. Das Styling ist so umfangreich, dass man durchaus eine App mit einem eigenen Design oder dem Corporate Design einer Firma entwickeln kann.
Manche Komponenten, wie ein Button, können mit Actions versehen werden. Beispielsweise gibt es die onSelect-Action, die bei einem Klick auf ein Element aufgerufen wird. Die eigentliche Action – sprich das, was bei einem Klick passiert – ist in der Programmiersprache Power Fx geschrieben. Das ist eine von Microsoft entwickelte Sprache für Power Apps, die stark an Excel-Formeln erinnert.
Verknüpfen von Komponenten mit Daten
Manche Komponenten, wie beispielsweise eine Tabelle, müssen mit Daten verknüpft werden. Hierfür bietet Power Apps, wie weiter oben bereits angesprochen, verschiedene Konnektoren für SharePoint, Dataverse, Excel und viele weitere Datenquellen an. An dieser Stelle sei noch gesagt, dass man in Power Apps seine Datenquellen nicht wirklich verwalten kann. Wenn man eine Excel-Tabelle benutzt, können in Power Apps keine weiteren Spalten hinzugefügt oder bestehende Spalten verändert werden. Dasselbe gilt auch für andere Datenquellen, wie eine MySQL-Datenbank. Es können nur die bekannten CRUD-Operationen durchgeführt werden. Andere Low-Code-Plattformen erlauben an dieser Stelle weitreichendere Aktionen.
Wie gut ist Power Apps im Vergleich zu anderen Plattformen?
Microsoft Power Apps bietet grundlegend alle Funktionen wie die meisten anderen Plattformen an. Der große Unterschied besteht darin, dass Power Apps Teil des Microsoft-Universums ist und darin auch verwendet werden sollte. Die wahre Macht der Plattform entfaltet sich nämlich erst dann, wenn man bereits andere Microsoft-Dienste nutzt.
Wenn ein Unternehmen seine Daten in SharePoint, Dataverse oder auch nur Excel-Tabellen speichert, können diese sehr einfach in Power Apps genutzt und verarbeitet werden. Außerdem sind Power Apps an eine Umgebung gebunden. Eine Umgebung kann zum Beispiel das Microsoft-365-Abonnement eines Unternehmens sein. Eine Power App ist nur in dieser Umgebung sichtbar. Dadurch sind öffentliche Anwendungen mit Power Apps gar nicht umsetzbar.
Die Antwort auf die Frage, wie gut Power Apps im Vergleich zu anderen Plattformen ist, hängt also von den Zielen und Anforderungen des Users ab. Wenn man sich bereits im Microsoft-Universum befindet, ist Power Apps eine gute und vielleicht sogar bessere Lösung. Wenn man noch nicht mit Microsoft arbeitet, ist der Aufbau einer Umgebung ein Aufwand, den man mit anderen Plattformen eventuell nicht hat. Zudem kann die Bindung an eine Umgebung, je nach Anforderung, auch einschränken.
Nur die Funktionalität und Aufbau der Plattform betrachtet, ist Power Apps sehr gut. Die Entwicklungsumgebung ist übersichtlich aufgebaut und erklärt sich an vielen Stellen selbst. Apps können aus Daten heraus sehr zuverlässig generiert werden. Die Idee, Apps auch aus einem Figma Design oder sogar aus einer Zeichnung zu erstellen, ist ein spannender Ansatz mit viel Potential.
Power Apps ist auf jeden Fall eine Low-Code- und keine No-Code-Plattform. Man muss an vielen Stellen Code schreiben. Insgesamt ist auch die Sprache in der Entwicklungsumgebung sehr technisch. Entwickler:innen mit wenig Vorerfahrung werden es daher schwerer haben. Andere Plattformen lösen dieses Problem besser, indem sie entweder fast komplett auf Code verzichten (zum Beispiel Mendix), oder ihn über eine Menüführung generieren lassen (zum Beispiel Budibase).
Zuletzt sei noch die herausragende Dokumentation angesprochen. Es gibt für die meisten Komponenten, Funktionen und Konzepte von Power Apps eine ausführliche Dokumentation von Microsoft. Zusätzlich gibt es einige Tutorials von Microsoft selbst, die den Einstieg in Power Apps deutlich erleichtern.
Fazit von Microsoft Power Apps
Insgesamt ist Microsoft Power Apps eine sehr spannende Plattform. Von den Funktionen her kann sie auf jeden Fall mit Marktkonkurrenten wie Mendix oder OutSystems mithalten. An der Dokumentation, der Anzahl an Features und dem generellen Aufbau der Plattform merkt man, dass Microsoft als großes Unternehmen hinter der Entwicklung steckt. Alles passt sehr gut zusammen und fühlt sich wie aus einem Guss an. Vor allem das Feature, dass man eine App aus einer Skizze oder Figma-Vorlage heraus generieren lassen kann, ist sehr vielversprechend.
Trotzdem ist Power Apps keine universelle Lösung. Wie bereits angesprochen, lohnt sich der Einsatz der Plattform erst dann, wenn man sich bereits im Microsoft Kosmos befindet und andere Produkte davon nutzt. Wenn das nicht der Fall ist, lohnen sich andere Plattformen unter Umständen mehr. Vor allem, wenn man plant, öffentliche Apps zu entwickeln, ist Power Apps die falsche Wahl.
Dennoch ist die Zukunft von Microsoft Power Apps sehr vielversprechend, nicht zuletzt wegen den jüngsten Entwicklungen in der KI. So plant Microsoft eine einfache Integration von Chatbots in die erstellten Apps. Diese Chatbots können dann automatisch auf die Daten der App zugreifen und damit Fragen der User beantworten. Features wie dieses zeigen, was alles möglich sein kann und in welche Richtungen es gehen wird.