Příliš často jako vývojáři ignorujeme rozhodující poslední krok před spuštěním webu: optimalizace výkonu .
Většina vývojářů nyní uznává, že organizovaný platný kód zajišťuje udržovatelnost a kompatibilitu.
Každý, kdo pochybuje o tom, musí pouze mluvit s vývojářem, který si vybral práci na staré webové stránce, která je plná neorganizovaného, nezpochybnitelného kódu špaget.
Stejně jako při přípravě našeho kódu, který mají být přečteny jinými vývojáři, je důležité, takže připravujeme náš kód, aby byl čitelný prohlížečem. Skvělý vývoj webu může začít s velkou organizací, ale končí velkou optimalizací.
Tento článek zavádí osvědčené postupy výkonnosti rozhraní front-end.
Když návštěvník požaduje od vašeho webu stránku, dojde k několika věcem:
Zatímco se tento proces zdá být dost jednoduchý, řada komplikací by ho opravdu mohla zpomalit:
Zatímco to všechno může znít poněkud komplikovaně, existují nejlepší postupy, které je třeba dodržovat, aby bylo mnohem jednodušší. Google a Yahoo nabízejí poměrně podrobné pokyny pro optimalizaci webových stránek do extrému:
Mnoho jejich doporučení vyžaduje trochu práce. Níže jsou pět nejlepších věcí, které dnes můžete udělat, abyste zvýšili výkon vašeho webu s minimálním úsilím.
Přesunutí souborů JavaScriptu do zápatí stránky je nejrychlejší a nejjednodušší věc, kterou můžete udělat pro zvýšení výkonu. Mnoho prohlížečů blokuje paralelní stahování při načítání externích souborů JavaScriptu; tím, že soubory umístíte do zápatí, prohlížeče začnou načítat další věci jako první.
Podívejte se však na vedlejší účinky na načasování a vzhled. Pokud používáte JavaScript ke změně vzhledu prvku, nebude proveden až po delším časovém zpoždění.
Načítání CSS je stejně důležité jako vložení kódu JavaScript na konec dokumentu HTML ze dvou důvodů:
Vložením CSS v horní části dokumentu zajistíte, aby se všechny obrázky na pozadí začaly okamžitě načítat a aby vaše webové stránky vykreslovaly co nejrychleji.
Při psaní kódu pro udržovatelnost často používá několik různých stylových listů a souborů JavaScriptu. Při optimalizaci výkonu je to téměř ta nejhorší věc, kterou můžete udělat. S každým přidaným souborem je třeba zaslat záhlaví a další požadavek musí projít ze serveru.
Kombinujte všechny vaše CSS do jednoho souboru a celý svůj JavaScript do jiného a minimalizujte je. (Nezapomeňte dát CSS v horní části dokumentu HTML a JavaScript do zápatí.)
Přestože kompilace a zmenšení souborů po každé změně může znít jako bolest, rozdíl v výkonu je opravdu dramatický.
Zdroje pro kompilaci a minimalizaci:
Mnoho webů dnes obsahuje skripty a widgety třetích stran, které načítají data z jiných serverů. Příkladem je tlačítko Tlačítko Tweet, rámeček Facebook fanoušků, tlačítko Sdílet toto a dokonce i Google Analytics. Myslíte si, že by to všechno bylo dobře navržené, ale mnoho z nich není. Např Widget Digg činí devět požadavků , je 52 KB a blokuje hlavní stránku ze stahování!
Používejte tyto widgety šetrně, měříte jejich výkon a hledáte asynchronní alternativy. K dispozici jsou alternativy k nejoblíbenějším widgetům. instalace je poněkud komplikovanější, ale fungují mnohem lépe. Obvykle je můžete najít s trochou kopání.
Asynchronní zdroje widgetů:
Řada skvělých nástrojů umožňuje snadné měření výkonnosti vašeho webu. Některé mohou být použity v prohlížeči; ostatní jsou online:
Většina webových vývojářů by mohla implementovat pět tipů výše poměrně snadno. To znamená, že řada dalších věcí stojí za to udělat, pokud chcete kopat trochu hlouběji a optimalizovat konfiguraci serveru.
Zahrnout hlavičku vyprší s každým odeslaným serverem. To informuje prohlížeč, jak dlouho je soubor vhodný. Tímto způsobem prohlížeč může uložit soubor pro příště, kdy je odkazován, takže prohlížeč jej nemusí znovu načíst ze serveru.
Mnoho webových stránek obsahuje stejný soubor CSS na každé stránce, ale není důvod, proč by si návštěvník musel stáhnout pro každou stránku; prohlížeč by měl vědět, jak ho ukládat do mezipaměti.
Dnešní počítače jsou opravdu rychlé. Gzip komprese to využívá tím, že požádá server, aby komprimoval každý soubor před jeho odesláním návštěvníkovi.
Prohlížeč návštěvníka jej stáhne a dekomprimuje. V minulosti jsme museli zvážit serverové zdroje při rozhodování, zda to povolit. V současné době neexistuje žádný podkop, který by umožnil gzip.
Google právě vydal modul Apache nazvaný mod_pagespeed . Automaticky implementuje téměř všechny techniky v tomto článku.
Pochopení technik před implementací tohoto modulu je stále důležité; pokud víte, jak funguje web, budete moci využít mnoha filtrů mod_pagespeed. Jeden takový filtr, Kombinovat CSS , najde, kombinuje a minimalizuje všechny CSS odkazované v HTML.
Modul obsahuje řadu filtrů a nastavení, které mohou zlepšit výkon vašeho webu. Všichni stojí za to se podívat.
I když nejde o nejatraktivnější téma, optimalizace si zaslouží větší pozornost. Naším úkolem jako vývojáři je seznámit se s osvědčenými postupy v oboru, abychom mohli našim klientům a uživatelům poskytovat nejkvalitnější práci.
Tento příspěvek byl napsán výhradně pro Webdesigner Depot od Joel Sutherland, zakladatele a web developer na Nové kampaně pro média . Je součástí týmu, který právě spustil Hifi , moderní systém pro správu obsahu vytvořený pro konstruktéry s ohledem na své klienty. Sledujte Joela na Twitteru nebo kontaktujte jej na webové stránce HiFi.
Znáte snadný způsob, jak zlepšit výkon webové stránky, který nebyl uveden v tomto článku? Podělte se o ně a své zkušenosti v níže uvedených komentářích.