Na obrazovce je několik požadavků a jedno tlačítko. Na pozadí se zatím načítá historie, číselníky, podklady pro skryté dialogy a informace z dalších systémů. Uživatel vidí jednoduchou aplikaci, jeho zařízení ale obsluhuje malý datový provoz. Zrychlení proto nemusí začínat změnou platformy. Někdy stačí přestat připravovat všechno pro všechny ještě před prvním kliknutím.
Technik ve výrobě chce v telefonu potvrdit dokončenou kontrolu. Potřebuje otevřít konkrétní úkol, doplnit výsledek a pokračovat. Aplikace místo toho nejprve připravuje podklady pro celou administrativní agendu včetně částí, ke kterým tento uživatel nemá v danou chvíli žádný důvod přecházet.
Z vývojářského pohledu může mít každý jednotlivý krok vysvětlení. Tento seznam se bude hodit později, tamten si raději načteme do kolekce a další obnovíme pro jistotu. Dohromady však vznikne práce, na kterou čeká člověk s úplně jiným úkolem. Dobré úmysly se do doby načítání počítají stejně jako všechny ostatní požadavky.
Skryté okno není totéž co neaktivní logika
Jedním z méně nápadných míst jsou dialogy a vazby mezi obrazovkami. To, že něco není vidět, samo o sobě neříká, kdy se vyhodnocují související výrazy a načítají potřebná data. Konkrétní chování závisí na návrhu aplikace. Proto má smysl sledovat skutečné požadavky, ne jen viditelnost ovládacích prvků.
Microsoft mezi doporučeními pro výkon upozorňuje například na odkazy na prvky z dosud nenačtených obrazovek. Ty mohou vyvolat jejich načtení dříve, než je uživatel potřebuje. Podobná vazba nemusí při malé aplikaci vadit, s postupným rozšiřováním se ale může stát zbytečnou zátěží.
Praktická otázka zní jednoduše: potřebujeme tato data právě teď? Seznam zařízení pro výběrový dialog může počkat do jeho otevření. Detail staršího protokolu nemusí cestovat do telefonu spolu s přehledem dnešních úkolů. Vhodné načasování přitom neznamená, že aplikace má pokaždé začínat od nuly. Znamená, že práce má svůj konkrétní důvod.
Kolekce ano. Celá firma v jedné kolekci raději ne.
Lokální uložení dat může zjednodušit práci a omezit opakované dotazy. Má však cenu v podobě prvního načtení, paměti a potřeby udržovat informace aktuální. Pokud se z něj stane automatická odpověď na každý problém, aplikace časem nosí mnohem víc dat, než skutečně používá.
Podobně funguje nadužívání Refresh. Obnovení může být potřebné po konkrétní změně. Nemusí však být správnou reakcí na každou nejasnost v chování formuláře. Když se obnovuje několik zdrojů při každém přechodu, je vhodné zjistit, které změny tím opravdu zachycujeme.
U seznamů stojí za pozornost i dotazy opakované pro každý řádek. Přehled deseti položek může vypadat skromně, ale pokud si každá zvlášť dohledává několik dalších údajů, počet volání rychle naroste. Tady může pomoci jiná práce s vazbami, užší výběr dat nebo přesun části zpracování blíže ke zdroji.
Výkon je uživatelská vlastnost
Ověřování by mělo sledovat skutečnou cestu: otevření aplikace, nalezení úkolu, zobrazení detailu a uložení. Na běžném telefonu a běžném připojení, ne pouze v pohodlí vývojářského prostředí. Důležité je poznat, kde čas mizí, a porovnat stejný průchod po úpravě.
Přitom není potřeba automaticky přepsat celou aplikaci. Jeden zbytečný datový dotaz, nevhodná závislost nebo příliš široké načítání může být lepším začátkem než rozsáhlá rekonstrukce. Měření pomůže určit pořadí práce a oddělit skutečný přínos od úpravy, která jen vypadá technicky zajímavě.
Pro uživatele je výsledek velmi konkrétní: aplikace mu nepřekáží mezi úkolem a jeho dokončením. V Evenaut proto vnímáme výkon jako součást použitelnosti, ne jako kosmetickou úpravu na konci projektu. Nejrychlejší operace totiž bývá ta, kterou aplikace vůbec nemusela provádět.
Čekají lidé na vaši Power App déle, než pracují s formulářem? Ozvěte se na customers@evenaut.com.