JavaScript Blog

6 JavaScript optimalizációs tipp a Google-tól

2022. május 28. - Webdeveloper

A Google 6 módszert osztott meg arról, hogyan teheted webhelyed még hatékonyabbá, még gyorsabbá.

performance.jpg

A lenti videóban Alan Kent 6 optimalizációs módszert oszt meg. Kent áttekinti a problémákat és javaslatokat mond azok javítására.

1. Kerüld a JavaScript fájlok külön külön fájlokból történő betöltését

A JavaScript fájlok száma nagyon sok lehet, főleg ha alkalmazásunk eléggé összetett. A fejlesztők ilyenkor az áttekinthetőség érdekében külön fájlokba szervezik ki a kódot. De ez produktív környezetben nem hasznos, sőt teljesítmény problémákhoz vezethet.
Ha tudjuk minimalizálni a betöltendő fájlok mennyiségét a böngészőkbe, az hatalmas teljesítmény növekedést tud eredményezni.

A problémát könnyen ellenőrizheted, valamely weboldal sebesség ellenőrző online alkalmazással, mint például a https://pagespeed.web.dev -el, de a Google Webmester eszközök is tud jelentést készíteni az oldal állapotáról.

A produktív oldaladon , azaz az éles környezetben használj olyan kiegészítőket, amik a JS fájljaidat minimalizálják és egy fájlba gyúrják azt automatikusan. Mint például a Webpack (https://webpack.js.org)

2. Kerüld a túlzott számú DNS kérést

Ha sok CDN-t használsz JS fájljaid betöltéséhez az túlzott számú DNS kérésekhez vezethet. A CDN hasznos dolog ugyan, de ha a több különböző helyről betöltött JS-t használunk, az több kárt okozhat, mint hasznot.

A fent is említett sebesség mérő oldalak a túlzott DNS kérések számának detektálásában is hasznos lehet.

Ha sok különböző JS könyvtárat használ webalkalmazásunk, akkor el kell gondolkodni azon, hogy a saját szerverünkkel kiszolgálni ezt, optimálisabb lenne.

3. Távolítsd el a nem hatékony JS kódokat és cseréld hatékonyabbra

A régi rossz minőségű kódok is teljesítmény problémát okozhatnak. 

Elemezzük kódunkat. Ellenőrizzük, hogy mekkora CPU időt használnak, mekkora a memória igényük. A nagy igényű kódok lelassítják a felhasználó gépét, ezáltal a felhasználói élmény csökken, az oldallal szemben mutatott elégedetlenség növekszik.

Kerüljük a betöltődést blokkoló kódokat, amik megakadályozzák az oldal betöltését futásukkal. Ha lehetséges, az összes JS betöltését a lezáró body-tag elé tegyük. Kerüljük a fel nem használt függvények és változók használatát. Kerüljük a hibát okozó kódokat, amik bizonyos esetekben teljesen megakadályozhatják, hogy az oldal betöltésre kerüljön. 

A megoldás a tudásunknak megfelelő optimális kód írása. Mindig kövessük a trendeket és tanuljunk. Sajnos ez egy akkora témakör, hogy sem a lenti videó, sem ez a cikk ezt most nem tárgyalja.

4. Kerüljük a fel nem használt JavaScriptet

Ha weboldalunk vagy webalkalmazásunk több lapból áll, akkor előfordulhat, hogy egyik kódra szükség van az egyik oldalon, viszont nincs a másik oldalon. Ekkor meg kell oldanunk azt, hogy azok a kódok, amikre nincs az adott oldalon szükség, ne töltődjenek be. Ez a hiba egyben a saját szerverünk és a felhasználó gépének erőforrásainak pazarlása is.

Megoldásként a Google a tree-shaking nevű technikát ajánlja, amellyel azonosítani lehet a meg nem hívott JavaScriptet, amely biztonságosan törölhető.

5. Tömörítsük a JS fájlokat.

A tömörített JS fájlok kitömörítése ugyan CPU igényes művelet, mégis összességében nyerhetünk a tömörítés alkalmazásával. 

A Google PageSpeed Insights-nek van olyan funkciója, amely képes felismerni, hogy mely kódrészeket érdemes tömöríteni.

A legtöbb webböngésző vagy tartalomkezelő rendszer beépített támogatással rendelkezik a letöltések tömörítéséhez, ha megfelelően vannak konfigurálva.

6. Állítsuk be JS fájlok gyorsítótárazásának megfelelő időtartamát

Tegyünk róla, hogy a JS fájlok megfelelő lejárati idő fejléccel töltődjenek le a felhasználó gépére. Ezzel elkerülhető, hogy a felhasználó minden egye oldalbetöltés esetén újból és újból a szerverünkről töltse le a JS fájlt. A cachelt JS fájl lejárati idejének megadásával segíthetjük ezt a folyamatot, optimalizálhatjuk a működést.

A Chrome Developer Tools Hálózatkezelés lapján ellenőrizheted a letöltött JavaScript-fájlok HTTP-válaszfejléceit. Keress olyan fejléceket, mint például a Cache Control.

Fent ugyan említettem, hogy a CDN nem hasznos, ha több helyről töltődik be. (Ezért lehetőleg minden JS-t egy CDN-ről szerezzük be). Ezáltal előfordulhat az, hogy ha a felhasználó már volt olyan oldalon, ami használta a ugyanazt a CDN-t, amit mi is, akkor a mi oldalunk meglátogatásakor a felhasználó cache-ében benne van ez a JS fájl, így már tőlünk nem kell letölteni, az rendelkezésre áll. Természetesen amennyiben nem futott ki a lejárati időből. Például egy React.JS-t lehet nagy lejárati idővel is CDN-ről kiszolgálni.

VIDEO

Ha részletesebben akartok foglalkozni a témával, akkor ajánlom ezt a videót, amiben Alen Kent részletesebben beszél a témáról. 

Ha érdekel a webfejlesztés, várlak a Discord-on

A bejegyzés trackback címe:

https://jscript.blog.hu/api/trackback/id/tr8817842733

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása