Eine der am häufigsten gestellte Frage in unseren Basis Power Apps Workshops ist die, ob man lieber Canvas- oder Model-Driven Power Apps verwenden soll.
Der HTML-Code für ein Leerzeichen ist folgender:
Wir sehen im Einsatz der beiden Technologien kein Entweder-Oder, sondern vielmehr ein 𝐔𝐧𝐝!
Wenn es darum geht Unternehmensprozesse digital zu unterstützen, bewegen wir – die ModulAcht – uns meist im Rahmen von Prozessen, bei denen es darum geht Ressourcen jeglicher Art zu verwalten. Meist ist es eine Kombination aus verschiedenen Ressourcen, die miteinander verknüpft sind.
Beispiele:
Lead, Verkaufsschance, Kunde, Angebot, Auftrag, Rechnung (typischer Sales-Prozess)
Mitarbeiter, Projekt-Team, Projekt, Auftrag, Rechnung
Event, Kontingent, Angebot, Auftrag, Rechnung, Zahlung
usw.
Diese einzelnen Ressourcen-Typen lassen sich wunderbar über ein Daten-Modell darstellen und miteinander verknüpfen. Und dazu eignet sich eine Model-driven Power App
In der Gestaltungsmöglichkeit der Oberflächen ist man dabei etwas eingeschränkt. In den Listen-Ansichten (Views) kann man Spalten des jeweiligen Ressourcen-Typs (z.B. Rechnung) und auch von verknüpften Typen (z.B. der Auftrag auf den sich die jeweilige Rechnung bezieht) anzeigen. Die Reihenfolge der Spalten lässt sich dabei per Drag&Drop verändern und man kann Sortierungen bestimmen und auch nach bestimmten Datensätzen filtern.
Im Bereich der Detail-Ansichten (Forms) hat man die Möglichkeit, das Formular grundsätzlich in Spalten und Gruppen zu gliedern. Über ein Tab-Control lässt sich das Formular zusätzlich auch in verschiedene Bereiche unterteilen. Per Drag&Drop zieht man dann die jeweilige Spalte auf das Formular. Je nach Daten-Typ (z.B. Text, Zahl, Auswahl, …) wird dann ein entsprechendes Formular-Element dargestellt. Die Möglichkeiten der Veränderung in der Darstellung der Formular-Elemente und auch des Formulars an sich, sind begrenzt.
Um diese Grenzen zu überschreiten hat der Entwickler verschiedene Möglichkeiten. Einerseits lassen sich sogenannte PCF-Komponenten entwickeln und einsetzen, oder aber man macht es sich noch einfacher und verwendet Canvas-Apps, die man dann in Model-driven Apps
Auf diesem Weg lassen sich spezielle Anforderungen und Funktionen in der Benutzeroberfläche abbilden, man bleibt dabei in der Welt der Power-Apps und kann sich der immer weiter wachsenden Zahl an Konnektoren und technischen Möglichkeiten bedienen und erfreuen.
Beispiele aus der Praxis:
Artikel per Drag&Drop zur Planung von Touren einem Termin zuweisen
-> Model-driven, Canvas, PCF
Anzeige eines Wizards in einem Dialog
-> Model-driven, Canvas
Anzeige ausgelesener Inhalte eines PDF-Dokumentes in einem Formular
-> Model-driven, Canvas
Fazit:
Die Frage sollte nicht sein, ob Canvas- oder Model-driven Power App, sondern vielmehr, wie man beide Technologien sinnvoll miteinander kombiniert.