Keď cestujem, často sa stretávam so zlým pripojením na internet, čo ma ako webového dizajnéra núti premýšľať o princípoch návrhu, ako vyriešiť rýchlosť webu aj pri slabom pripojení.
Z praxe som si osvojil niekoľko užitočných trikov:
Napríklad prihlasovacia stránka do systému CMS je často veľmi jednoduchá. Je naozaj potrebné pre jednoduchý formulár sťahovať celý Bootstrap a ďalšie rámce CSS/JS? Dôležité stránky sa oplatí optimalizovať a napísať natívny kód.
Po úplnom vykreslení stránky máme niekoľko sekúnd na to, aby používateľ vyplnil svoje údaje, a my môžeme v prehliadači na pozadí stiahnuť a uložiť do vyrovnávacej pamäte zvyšné štýly. V čase, keď sa používateľ prihlási, už bude mať pravdepodobne stiahnutý Bootstrap (a ak používa Edge, tak nie...).
Naozaj! Emoji má veľa praktických výhod:
Niekedy vkladám dôležité štýly CSS definujúce rozloženie stránky a základný layout priamo do HTML. Dávam limit 1 KB, do ktorého sa snažím dostať čo najviac. Nevýhodou tohto prístupu je, že štýly sa musia prenášať pri každej požiadavke a nemožno ich ukladať do vyrovnávacej pamäte, na druhej strane sa však sťahujú neporovnateľne rýchlejšie ako obrázok.
Nie som až taký odborník na rýchlosť načítania, Martin Michalek by vám to povedal lepšie.
Na načítanie nedôležitého alebo pomalého obsahu vždy používam ajax. Trochu to zvyšuje technologické požiadavky aplikácie, ale môžem si to dovoliť.
Príkladom vhodného miesta na použitie ajaxu je takmer všetko v administrácii. Často je potrebné získať veľa údajov, ale používateľ nemá záujem o všetko. Ak má používateľ stiahnutý len tenký javascriptový klient a všetky údaje sa načítavajú prostredníctvom Vue a json, sťahuje sa vždy len minimálne množstvo údajov a odpovede sú okamžité.
Ako to urobiť vo Vue: https://vue.baraja.cz/api-a-ajax-ve-vue-js
Na zadnej strane používam knižnicu pre Nette: https://github.com/baraja-core/structured-api
Na distribúciu statického obsahu odporúčam používať CDN pre všetky typy lokalít. Ak neviete, ako nastaviť CDN, použite aspoň Cloudflare v režime proxy. Na základe hlavičiek HTTP automaticky ukladá statický obsah do vyrovnávacej pamäte. Nie každý poskytovateľ hostingu má dobre nastavený Pops a pri dlhých trasách vám to ušetrí stovky milisekúnd pri každej požiadavke.
Jeden z mojich juniorov nedávno umiestnil na hlavnú stránku webu obrázok PNG, ktorý obsahoval fotografiu a zaberal 3 MB. Povedal, že je to v poriadku, pretože stránka sa na jeho pripojení načítala rýchlo (na jeho optike doma sa načítava, že áno...), a navyše povedal, že v dnešnej dobe prenášame veľa dát, napríklad video.
Som v tomto smere staromódny a optimalizujem, čo sa dá.
Fotografie do formátu JPG alebo lepšie WEBP. Uloženie obrázka do formátu JPG však nič neznamená, musíte ho spustiť prostredníctvom optimalizačnej služby: https://tinyjpg.com
Ak máte obrázky v systéme Git, tento nástroj ich dokáže automaticky komprimovať a odoslať žiadosť o stiahnutie: https://imgbot.net. Po pridaní nového obrázka sa opätovne odošle PR.
Ak potrebujete komprimovať tisíce obrázkov (napríklad celú galériu produktov na stránke), používam na to desktopovú aplikáciu pre Mac: https://imageoptim.com/mac.
Vhodnou kompresiou obrázkov sa zvyčajne ušetrí najviac údajov. Niekedy aj 50 %.
Jan Barášek Více o autorovi
Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.
Rád vám pomůžu:
Články píše Jan Barášek © 2009-2024 | Kontakt | Mapa webu
Status | Aktualizováno: ... | sk