Canvas-Apps optimieren

Abgeschlossen

Zwei Hauptentwicklungswege sind imperativ und deklarativ. Die imperative Entwicklung konzentriert sich darauf, wie das Ziel erreicht werden soll, während sich die deklarative Entwicklung darauf konzentriert, das Ergebnis zu erzielen. Die imperative Methode bietet eine höhere Flexibilität, da Sie jeden Schritt im Prozess kontrollieren können, aber das führt zu mehr Code und einer höheren Komplexität. Die deklarative Methode ist viel einfacher und unkomplizierter zu verwenden, bietet jedoch nicht die gewünschte umfassende Kontrolle.

Canvas-Apps verwenden Ihr deklaratives „Was“ und optimieren das „Wie“. Möglicherweise können Sie „was“ nicht genau ausdrücken, daher hilft Ihnen Power Apps, indem Sie die imperative Entwicklung nutzen können. Ein Fehler, den Hersteller häufig machen, besteht darin, die imperative Entwicklung zu verwenden, wenn die deklarative Entwicklung einfacher zu verwenden ist und eine bessere Leistung erbringt.

Canvas-Apps können attraktiv gestaltet werden, und obwohl es wichtig ist, eine attraktive App zu haben, erhalten Apps mit guter Leistung eine bessere Benutzerakzeptanz.

Weitere Informationen zur imperativen und deklarativen Entwicklung finden Sie im Lernmodul Imperative Entwicklungsverfahren für Canvas-Apps in Power Apps verwenden.

In den folgenden Abschnitten werden Techniken zur Optimierung der Leistung von Canvas-Apps erläutert.

Die Arbeitslast in Apps verringern

Wenn Formeln in Apps größer und komplexer werden, sollten Sie überlegen, ob die Arbeit an einem anderen Ort ausgeführt werden soll. Die Arbeit kann in Microsoft Power Automate-Cloud-Flows, Geschäftsregeln, Plug-Ins und andere serverseitige Logik in Dataverse verschoben werden.

Hinweis

Eine übliche Methode ist das Auslagern von Logik in einen Power Automate-Cloud-Flow, der den Power Apps-Trigger verwendet. Der Flow kann über einen Power Apps-Ausdruck aufgerufen werden, der die Daten an den Flow übergibt und ein Ergebnis vom Flow zurückerhält.

Sie können auch benutzerdefinierte Konnektoren für Microsoft Azure Functions oder andere benutzerdefinierte Logik erstellen. Wenn Sie feststellen, dass Sie die imperative Entwicklung in einer App verwenden, sollten Sie diese Logik auf eine geeignetere Funktion verlagern.

Leistung

Häufige Probleme mit der App-Leistung sind:

  • Datenzugriff – Zunächst erhält die App große Datenmengen in Datensammlungen und verwendet die Daten dann in mehreren Bildschirmen über clientintensive Vorgänge wie JOIN, Sortieren, Spalte hinzufügen und Gruppieren nach.
  • Formeln in OnStart – Die App löst viele unnötige Datenaufrufe in Bildschirmen aus, und diese Datenaufrufe geben große Datensätze zurück.
  • Wiederholtes Abrufen von Daten aus der Quelle – Verwenden Sie die Funktion Festlegen, um Daten aus den Suchtabellen lokal zwischenzuspeichern.

Mit „OnStart“ sollten Sie die Hersteller ermutigen, die Funktion ClearCollect zum lokalen Zwischenspeichern von Daten und die Funktion Gleichzeitig zum Reduzieren der Zeit zum Laden der zwischengespeicherten Daten zu verwenden. Das erste Bild zeigt das Laden von vier Datasets ohne die Funktion Gleichzeitig, und das zweite Bild zeigt den Prozess mit der Funktion Gleichzeitig.

Diagramm, das das sequenzielle Laden des Datasets zeigt

Diagramm, das das gleichzeitige Laden des Datasets zeigt

Bei so vielen Optionen muss die Leistung häufig berücksichtigt werden. Analyse und Verbesserung der Optimierungen sind fortlaufende Bemühungen. Sie sollten bewährte Methoden validieren, indem Sie die Artikel Langsame Leistungsquellen, Häufige Leistungsprobleme und Leistungstipps lesen.

Der Lösungsarchitekt sollte eine Strategie zur Leistungsoptimierung für Canvas-Apps implementieren.

Diagramm, das die Strategie zur Optimierung des Prozesses darstellt

Folgendes sollte bei einer Strategie zur Optimierung beachtet werden:

  • Vermeiden Sie jede Arbeit, die Sie vermeiden können.
  • Verschieben Sie Arbeiten, die weniger wahrscheinlich benötigt werden.
  • Arbeiten Sie wo immer möglich parallel.
  • Überwachen Sie die App in Betrieb. Die Arbeit ist möglicherweise nicht immer offensichtlich.

Sie sollten eine Fortschrittsanzeige für den Benutzer bei langfristigen Arbeiten verwenden.

Test Studio, Azure Monitor und Application Insights

Canvas-Apps sollten ordnungsgemäß getestet werden. Microsoft bietet Test Studio für Regressionstests von Canvas-Apps an, die in automatisierte Erstellungsprozesse einbezogen werden können.

Test Studio enthält die folgenden Funktionen:

  • Suiten – Testsuiten werden verwendet, um Testfälle zu organisieren oder zu gruppieren.
  • Tests – Testfälle bestehen aus einer Reihe von Testschritten. Testfälle werden ausgeführt, um zu überprüfen, ob Ihre App oder bestimmte Funktionen in Ihrer App wie erwartet funktionieren.
  • Testschritte – Anweisungen oder Aktionen Testschritte werden mit dem der Power Apps-Ausdruckssprache geschrieben.
  • Annahmen testen – Das erwartete Ergebnis eines Tests

Diagramm mit den Komponenten der Test Studio Suite

Microsoft Azure Monitor ist ein Tool, mit dem Hersteller einen Strom von Ereignissen aus der Sitzung eines Benutzers anzeigen können, um Probleme zu diagnostizieren und zu beheben. Canvas-App-Hersteller können Monitor verwenden, um Ereignisse anzuzeigen, während eine neue App in Power Apps Studio erstellt wird, und um veröffentlichte Apps zur Laufzeit zu überwachen. Hersteller von modellgesteuerten Apps können die Seitennavigation, Befehlsimplementierungen, formularbezogene Probleme und andere wichtige Aktionen überwachen, um das App-Verhalten zu verstehen und Verbesserungen vorzunehmen.

Screenshot mit dem Monitor-Tool für Ereignisse

Sie können Ihre Canvas-Apps mit Application Insights, einer Funktion von Azure Monitor, verbinden. Application Insights enthält leistungsstarke Analysetools, mit denen Sie Probleme diagnostizieren und verstehen können, was Benutzer tatsächlich mit Ihrer App tun.

Wenn Ihre App mit Application Insights verbunden ist, können Sie Telemetrie darüber sammeln, wie Benutzer Ihre App tatsächlich nutzen, damit Sie die Qualität Ihrer Apps verbessern können. Einige der Telemetrie-Daten, die Sie durch das Einrichten dieser Funktion erhalten können, umfassen:

  • Anzahl der aktiven Benutzer, die die App verwenden
  • Ort, an dem die App verwendet wird
  • Welche Bildschirme werden am häufigsten verwendet?
  • Benutzerflow von einem Bildschirm zum anderen

Screenshot des für Einblicke verwendeten Monitor

Als Lösungsarchitekt sollten Sie entscheiden, ob Application Insights in den von Ihnen erstellten Apps enthalten sein soll.

Weitere Informationen finden Sie unter Application Insights.