Päť sekúnd načítania je neprijateľných. Napriek tomu je to bežné.

Keď spúšťate nejaký program, otvárate aplikáciu alebo načítavate web, pravdepodobne čakáte aspoň niekoľko sekúnd. Je to normálne.

Nemalo by byť.

Keď vaši zákazníci raz ochutnajú rýchle načítanie a okamžité reakcie, nikdy vás nevymenia za konkurenciu – keď ucítia rozdiel medzi vašou rýchlou aplikáciou a pomalou aplikáciou konkurencie, tá pomalá ich bude poriadne otravovať.

Ako túto výhodu získať, niekoľko faktov z praxe a na čo sa pýtať svojho vývojára? Všetko v tomto článku.

Päť sekúnd načítania je neprijateľných. Napriek tomu je to bežné.

Aké rýchle to vlastne môže byť?

Toto nie je technický článok, takže iba zľahka prejdeme niekoľko základných a zrozumiteľných čísel a porovnáme ich s reálnym svetom.

Lacný procesor v nízkonákladovom telefóne dokáže spracovať miliardy inštrukcií za sekundu krát aspoň 2 jadrá (v podstate 2 výpočtové jednotky).

Čítanie dát z moderných diskov je v tisícoch megabajtov za sekundu – opäť aj na lacnom telefóne.

Prenos cez internet je v tej najnižšej úrovni v stovkách megabajtov za sekundu.

Porovnanie

Vezmime si najskôr ten najpomalší produkt. Kvalitná webová stránka má hneď po načítaní v tom väčšom prípade 15 – 25 megabajtov.

Čo znamená, že po zrátaní všetkého by ste mali zadať odkaz do otvoreného prehliadača a uvidieť web asi do 1 – 2 sekúnd – plne načítaný.

Ak si vezmeme aplikáciu vo vašom telefóne, ide o súbory uložené priamo na vašom zariadení, takže tu žiadne internetové pripojenie (tá najpomalšia rýchlosť) neplatí. Pri rýchlostiach gigabajtov za sekundu by sa typická aplikácia mala otvoriť a fungovať za 0,15 – 0,25 sekundy.

V otvorenej aplikácii, programe alebo na webe prechádza interakcia iba cez najrýchlejšie rýchlosti procesora a niekedy grafickej karty. Keď kliknete na tlačidlo, výsledok by sa mal na obrazovke zobraziť doslova okamžite.

Súčasná realita

V dnešnej realite nie je vždy možné tieto rýchlosti dosiahnuť. Ale ako si viete predstaviť, ísť z 1 – 2 sekúnd na 5 sekúnd načítania tiež nie je nutné a váš web sa stále môže otvoriť za 2 – 3 sekundy. A to pri naozaj veľkej stránke, ktorej chýba poriadna optimalizácia.

Na čo sa pýtať svojho vývojára?

Nemusíte rozumieť technológiám a programovaniu do detailu. Toto nie je o tom, aby ste robili technický pohovor.

Stack

Začnite otázkou „Aký je váš stack?“. Tá otázka sa pýta, aké nástroje a technológie používate na stavbu a na čom stavia. Ak vám vývojár začne rozprávať o všetkých cool technológiách, ktoré používa, je to varovný signál. To isté, ak hovorí veci ako „webview“.

Prečo? Pretože najväčšia časť dnešného pomalého softvéru stavia na niečom, čo bolo postavené predtým, a to stavia na niečom inom, čo bolo postavené predtým. Je to reťaz. Čo znamená, že všetky vyššie spomenuté rýchlosti, stále platné, musia spracovať nie váš projekt, ale mnoho vrstiev.

WordPress je pomalý, pretože robí všetko, aj keď to nepotrebujete.

Meranie

Druhá otázka je, ako merajú rýchlosť. A aké sú ich ciele pri rýchlosti.

Prekvapivo veľa vývojárov povie, že cieľom je 5 sekúnd. To je ďalší varovný signál. To isté, ak nemajú poriadnu odpoveď na to, ako merajú – alebo ak je odpoveď „otvoríme to a pozrieme sa“.

Vidieť to na vlastné oči a cítiť to je nevyhnutná súčasť testovania. Ale je to aj koreň mnohých problémov typu „u mňa to funguje“.

Mali by ste začať vyžadovať metriky rýchlosti

Urobiť váš projekt poriadne dá viac práce. Ale nie tak veľa, ako si možno myslíte.

Pri malých projektoch (ako jednostránkové weby) nie je medzi stavbou od nuly a použitím existujúcich nástrojov žiadny merateľný rozdiel v práci. Veľké projekty vyžadujú dôkladné plánovanie, zváženie výhod a nevýhod a vedomie toho, prečo používať takzvané frameworky.

Súčasťou špecifikácie vášho produktu by nemalo byť len to, ako má produkt fungovať, ale aj to, aký má byť rýchly. Je to veľmi dôležitá diskusia.

Z našej praxe vieme, že pre netechnického človeka je to nepríjemný rozhovor. Preto v LINK-V prevedieme našich klientov celým procesom jazykom, ktorému rozumejú. Softvér je predsa vrstva medzi človekom a počítačom – a keď ten softvér tvoríme, správame sa rovnako.

Tom J. · LINK-V