Ottimizzazione delle app canvas

Completato

I due principali modi di sviluppo sono detti imperativo e dichiarativo. Lo sviluppo imperativo si concentra su come raggiungere l'obiettivo, mentre lo sviluppo dichiarativo si concentra su come ottenere il risultato. Lo sviluppo imperativo offre maggiore flessibilità, perché permette di controllare ogni passaggio del processo, ma richiede anche più codice e maggiore complessità. Lo sviluppo dichiarativo è più lineare e semplice da usare, ma potrebbe non offrire il controllo completo desiderato.

Le app canvas prendono il "cosa" dichiarativo e ottimizzano il "come". Talvolta potrebbe non essere possibile esprimere con precisione "cosa" e quindi Power Apps permette di usare lo sviluppo imperativo. Un errore che i creatori spesso commettono è quello di usare lo sviluppo imperativo quando lo sviluppo dichiarativo è più semplice e ha prestazioni migliori.

Le app canvas possono essere create con un aspetto attraente e, sebbene avere un'app attraente sia importante, le app che funzionano bene registrano una migliore adozione da parte degli utenti.

Per altre informazioni sullo sviluppo imperativo e dichiarativo, vedere Uso delle tecniche di sviluppo imperativo per le app canvas in Power Apps.

Le sezioni seguenti illustrano le tecniche per ottimizzare le prestazioni delle app canvas.

Offload del lavoro delle app

Man mano che le formule nelle app diventano più grandi e complesse, è opportuno valutare se il lavoro debba essere svolto altrove. Il lavoro può essere sottoposto a offload in flussi cloud di Microsoft Power Automate, regole di business, plug-in e altra logica lato server in Dataverse.

Nota

Un metodo comune consiste nell'eseguire l'offload della logica in un flusso cloud Power Automate che usa il trigger Power Apps. Il flusso può essere chiamato da un'espressione Power Apps che trasmette i dati al flusso e quindi riceve un risultato dal flusso.

È inoltre possibile creare connettori personalizzati per le Funzioni di Microsoft Azure o ad altra logica personalizzata. Se si sta usando lo sviluppo imperativo all'interno di un'app, valutare la possibilità di eseguire l'offload di questa logica in una funzionalità più appropriata.

Prestazioni

I problemi comuni relativi alle prestazioni dell'app sono:

  • Accesso ai dati: inizialmente, l'app recupera grandi set di dati in raccolte e quindi usa i dati all'interno di più schermate per operazioni con intensa attività del client come JOIN, Ordina, Aggiungi colonna e Raggruppa per.
  • Formule in OnStart: l'app attiva molte chiamate dati non necessarie nelle schermate e queste chiamate dati restituiscono record di dati di grandi dimensioni.
  • Recupero ripetuto dei dati dall'origine: usare la funzione Set per memorizzare nella cache i dati delle tabelle di ricerca in locale.

Con OnStart, è opportuno incoraggiare i creatori a usare la funzione ClearCollect per memorizzare nella cache i dati in locale e la funzione Concurrent per ridurre il tempo per caricare i dati memorizzati nella cache. La prima immagine mostra il caricamento di quattro set di dati senza la funzione Concurrent e la seconda immagine mostra il processo con la funzione Concurrent.

Diagramma che mostra il caricamento sequenziale dei set di dati.

Diagramma che mostra il caricamento simultaneo dei set di dati.

Con così tante opzioni, è spesso necessario tenere in considerazione le prestazioni. L'analisi e il miglioramento delle ottimizzazioni sono impegni continui. È necessario convalidare le procedure consigliate facendo riferimento all'argomento sulle origini di prestazioni lente, problemi di prestazioni comuni e ai suggerimenti per le prestazioni.

L'Architetto di soluzioni implementa una strategia di ottimizzazione delle prestazioni delle app canvas.

Diagramma che mostra la strategia del processo di ottimizzazione.

Una strategia di ottimizzazione deve:

  • Evitare qualsiasi lavoro laddove possibile.
  • Rimandare il lavoro che è meno probabile sia necessario.
  • Parallelizzare il lavoro laddove possibile.
  • Monitorare l'app in funzione, il lavoro non sempre viene eseguito come ci si aspetta.

È necessario usare un indicatore di avanzamento per il lavoro a esecuzione prolungata dell'utente.

Test Studio, Monitoraggio di Azure e Application Insights

Le app canvas devono essere adeguatamente testate. Microsoft fornisce Test Studio per eseguire i test di regressione delle app canvas che possono essere incluse nei processi di compilazione automatizzati.

In Test Studio sono disponibili le funzionalità seguenti:

  • Suite: le suite di test vengono usate per organizzare o raggruppare i test case.
  • Test: i test case sono costituiti da una serie di passaggi di test. I test case vengono eseguiti per convalidare che l'app o specifiche funzionalità dell'app funzionino come previsto.
  • Passaggi di test: istruzioni o azioni. I passaggi di test vengono scritti usando il linguaggio di espressione Power Apps.
  • Asserzioni di test: il risultato previsto di un test.

Diagramma che mostra i componenti di Test Studio.

Monitoraggio di Microsoft Azure è uno strumento che offre ai creatori la possibilità di visualizzare un flusso di eventi dalla sessione di un utente per diagnosticare e risolvere i problemi. I creatori di app canvas possono usare Monitoraggio per visualizzare gli eventi durante la creazione di una nuova app in Power Apps Studio e per monitorare le app pubblicate durante il runtime. I creatori di app basate su modello possono monitorare lo spostamento tra pagine, le implementazioni di comandi, i problemi relativi ai moduli e altre azioni importanti per comprendere il comportamento delle app e apportare miglioramenti.

Screenshot che mostra lo strumento Monitoraggio per eventi.

È possibile connettere le app canvas ad Application Insights, una funzionalità di Monitoraggio di Azure. Application Insights include potenti strumenti di analisi che aiutano a diagnosticare i problemi e a capire cosa fanno effettivamente gli utenti con l'app.

Con l'app connessa ad Application Insights, è possibile raccogliere i dati di telemetria su come gli utenti stanno effettivamente usando l'app per migliorarne la qualità. Alcuni dati di telemetria che è possibile recuperare configurando questa funzionalità sono:

  • Numero di utenti attivi che usano l'app.
  • Posizione indicante dove viene usata l'app.
  • Quali schermate vengono usate più frequentemente.
  • Flusso dell'utente da una schermata all'altra.

Screenshot di Monitoraggio usato per Application Insights.

In qualità di Architetto di soluzioni, è necessario decidere se Application Insights viene incluso nelle app create.

Per altre informazioni, consultare Application Insights.