Productivity News vom 01.05.2021: Power Fx

Power Fx ist die Programmiersprache für Power Apps, welche an der Ignite 2021 offiziell lanciert wurde, die es aber vorher bereits gegeben hat. Sie baut stark auf der Excel-Syntax auf und soll in Zukunft auf der ganzen Power Platform angewendet werden können.

Was ist Power Fx

Im Grunde ist Power Fx gar nicht Neues, sondern es ist die Programmiersprache, welche seit Jahr und Tag für die Entwicklung Canvas Apps in der Power Apps Umgebung verwendet wird. Microsoft hat an der Ignite 2021 angekündigt, dass nun genau diese Programmiersprache einen Namen erhält: Power Fx.

Die Syntax von Power Fx ist sehr stark an Excel-Formeln angelehnt, es gibt dutzende Formeln, welche in Excel und Power Fx identisch funktionieren. Dies kann eine enorme Erleichterung für einen Neueinsteiger oder eine Neueinsteigerin in die Entwicklung von Canvas App bringen, da man bereits bekannte Konzepte & Formeln aus der Excel-Welt wiederverwenden kann:

Ein Screenshot aus Excel und ein Screenshot aus dem Power Apps Interface nebeneinander gelegt, zeigt, dass sich die Formelsprache und die Programmiersprache sehr ähneln.
Beispiel Excel-Formel vs. Power Fx Formel

Excel-Syntax – ein strategisch geschickter Zug von Microsoft

Marc Holitscher (National Technology Officer von Microsoft Schweiz) hat im E-Book Microsoft Teams Excellence erklärt, was die Rolle der Power Platform ist. Sie soll in Unternehmen das Citizen Development etablieren – also die Befähigung von «normalen» Endanwenderinnen und Endanwendern ohne Coding-Skills, Problemstellungen aus der täglichen Arbeit aufgreifen und mit innovativen Apps und Flows lösen zu können.

Vor diesem Hintergrund auf die Excel-Syntax zu setzen, ist ein strategisch geschickter Zug von Microsoft. Denn bereits heute arbeiten auf der ganzen Welt viele Millionen Userinnen und User täglich mit dieser «Programmiersprache». Das ist ein grosser Vorteil für das weitere Etablieren von Citizen Development mit der Power Platform.

Ist Power Fx No code, Low code oder Pro code?

Microsoft platziert die Power Apps Entwicklung und somit Power Fx grundsätzlich als «No code»- oder «Low code»-Programmierung. Doch was bedeutet das genau?

«No code» Programmierung

Wenn man sich von Power Apps basierend auf einer bestehenden Datenquelle (z.B. SharePoint Liste) eine App automatisch erstellen lässt, sind grundsätzlich keine weiteren Programmierkenntnisse notwendig, um kleinere Anpassungen an einer App vorzunehmen. So können direkt in der Power Apps Entwicklungsumgebung diverse Einstellungen wie Farben oder Schriftgrössen einfach mit ein paar Klicks verändert werden. Auch die Positionierung und Grösse der Steuerelemente kann einfach mit Drag&Drop verändert werden.

Screenshot aus der Power Apps-Entwicklungsumgebung: Viele Formatierungsmöglichkeiten wie Schriftgrössen oder Hintergründe können komplett ohne Programmierkenntnisse angepasst werden.
Anpassungen an Formatierungen ganz ohne Code-Kenntnisse vornehmen

«No code» ist in PowerApps somit etwa im gleichen Umfang möglich, wie in einer Excel-Tabelle. Man kann Rahmen, Farben, Formatierungen, etc. anpassen, ohne dass man mit der Excel-Syntax vertraut ist.

«Low code» Programmierung

Möchte man weitergehende Anpassungen an der App machen, welche auch die Funktion und das Verhalten der App beeinflussen, reicht der «No code»-Ansatz nicht mehr aus. Es wird erforderlich, die Syntax von Power Fx zu verstehen.

Um die Sortierung der Gallerie aus dem obigen Bespiel anzupassen, muss nun in den Code eingegriffen werden. Dies wird über die «Item»-Eigenschaft der Gallerie gemacht:

Screenshot aus der Power Apps Entwicklungsumgebung: wie Änderungen am Code vorgenommen werden.
Anpassungen am Code

Hier kann man schön erkennen, dass jetzt langsam «richtig programmiert» wird. Mit entsprechenden Kenntnissen kann hier konfiguriert werden, welche Daten in welcher Reihenfolge dargestellt werden. Die Formel liesse sich auch noch mit weiteren Befehlen erweitern, etwa eine Gruppierung anwenden (GroupBy), Spalten hinzufügen (AddColumns) oder Spalten entfernen (DropColumns).

Eine weitere wichtige Eigenschaft ist jeweils «OnSelect», denn hier wird der App beigebracht, was beim Klick auf ein bestimmtes Objekt geschehen soll. Je nach gewünschter Business-Logik können Variablen gesetzt (Set), Daten geladen (ClearCollect), auf andere Screens navigiert (Navigate) und viele weitere Sachen umgesetzt werden.

Wer sich über die verfügbaren Formeln und deren Syntax informieren möchte, findet die notwendigen Informationen inkl. Beispielen auf der Docs Seite von Microsoft: https://docs.microsoft.com/en-us/powerapps/maker/canvas-apps/formula-reference

Wer mit Power Fx arbeitet und sich auf die Tiefen der Canvas App Programmierung einlässt, wird dann recht schnell merken: Der Einstieg mit fundiertem Excel-Wissen und einem Grundverständnis von Programmierung bringt einem schnell weiter. Wie in allen anderen Sprachen wird aber auch hier der Moment kommen, in dem die Erfahrung eine wichtige Rolle spielt. Je mehr komplexe, verschachtelte Formeln man schon eingesetzt hat, um so leichter fällt es, eine neue Anforderung speditiv umzusetzen.

«Pro code» Programmierung

Beim Entwickeln von Geschäftsanwendungen mit der Power Platform setzt Micrsoft nicht nur auf die «Citizen Developers», also Personen aus den nicht IT-Abteilungen, welche selber Apps und Flows erstellen. Auch professionelle Entwicklungs-Teams sollen hier mitmischen. Auf Grund ihrer Erfahrung und Arbeitsweisen haben diese aber oftmals andere Ansprüche als «Low code»-Entwicklerinnen und -Entwickler. Insbesondere die Entwicklung in der gewohnten Entwicklungsumgebung sowie eine saubere Code-Verwaltung werden hier verlangt.

Anfangs 2021 hat Microsoft einen weiteren Baustein veröffentlicht, um genau diese Bedürfnisse abzudecken. Mit dem «Power Apps Source File Pack and Unpack Utility» ist es möglich, ein exportiertes .msapp-File in seine einzelnen Bestandteile zu zerlegen und so in eine Code-Verwaltung wie GitHub oder Azure DevOps zu integrieren. Neben der Code-Verwaltung erlauben es die entpackten Files auch, die App in einem beliebigen Code Editor (z.B. Visal Studio, Visual Studio Code) weiterzuentwickeln und anschliessend mit dem Source File Utility wieder zu einem .msapp-File zurückzukonvertieren. Dieses kann dann im PowerApps Designer im Web wieder importiert werden.

Visual Studio Code mit PowerApps Files
Visual Studio Code mit Power Apps Files

Wer noch mehr über die Arbeit mit dem Source File Utility und der Code Verwaltung sowie auch deren Limitationen wissen möchte, findet in diesem Blog Beitrag von Microsoft weitere Informationen, wie ein entsprechender GitHub Workflow inkl. Pull Requests aussehen könnte: https://powerapps.microsoft.com/en-us/blog/source-code-files-for-canvas-apps/

Wie geht es nun mit Power Fx weiter?

Die Vergangenheit hat gezeigt, dass Power Fx stetig weiterentwickelt wird und neue Möglichkeiten in der PowerApps-Entwicklung hinzukommen. Spannend ist, dass Microsoft plant, Power Fx auch in anderen Bereichen der Power Platform einzusetzen.

Aktuell ist Microsoft gerade dabei, Power Fx aus PowerApps heraus zu lösenund legt damit den Grundstein, diese Sprache in anderen Bereichen einzusetzen. So wird beispielsweise künftig diese Sprache auch in Model Driven Apps, Power Virtual Agents und Dataverse zur Verfügung stehen. Dass nun das Einsatz-Spektrum ausgeweitet wird, lässt hoffen, dass die Weiterentwicklung weiterhin so aktiv betrieben wird.

Zudem hat Microsoft an der Ignite ebenfalls verkündet, Power Fx als Open Source Produkt zugänglich gemacht wird. Dies wird es der Open Source Community ermöglichen, mit Hilfe der bewährten Tools & Prozessen (GitHub-Repo) ihren Beitrag an die Weiterentwicklung der Sprache zu leisten.

Wie lautet das Fazit der IOZ AG?

Power Fx als solches ist eigentlich nichts neues, aber das Kind hat jetzt einen Namen erhalten. Der Ausblick, den Microsoft bietet, ist hingegen spannend. Das diese Programmiersprache künftig in weiteren Gebieten der Power Platform zum Einsatz kommen wird, wird es deutlich erleichtern, sein PowerApps-KnowHow auch anderweitig wieder nutzen zu können und man muss nicht für jedes Tool die Syntax und deren Eigenheiten neu erlernen.

Beitrag teilen
Geschrieben von

Martin Achermann

Content Services Developer

Profil anzeigen

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

IOZ_LOGO_weiss

Profis für M365-Intranets & digitale Arbeitsplätze, Power Apps, Power Automate Workflows, sowie Managementsysteme.

Angebote

Angebotsübersicht

Nach oben scrollen