A rengeteg lehetőség közül választhat, ezért a renderelés olyan téma, amelyet folyamatosan figyelemmel kell kísérnie.

A modern webes keretrendszerek számos lehetőséget kínálnak a webhely vagy alkalmazás szerverről ügyfélre való eljuttatására. Létrehozhat HTML-t mindkét oldalon, vagy előrenderelheti azt a tartalomszolgáltató hálózaton keresztüli nagysebességű terjesztéshez.

A webhely vagy alkalmazás szerkezetének eldöntése néhány különböző tényezőtől függ. Tisztában kell lennie azzal, hogy a látogatók hogyan érik el webhelyét vagy alkalmazását. Meg kell értenie, hogy a betöltési sebesség fontosabb-e a kezdeti betöltésnél vagy a későbbi navigációnál. Fontolja meg azt is, hogy milyen gyakran frissíti a webhelyet.

Tartsa szem előtt ezeket a tényezőket, hogy mérlegelje az egyes megjelenítési paradigmák előnyeit és hátrányait.

Weboldalak megjelenítése több módon

A webhely megjelenítése arra a folyamatra utal, amelynek során a webhely megjelenik a webböngészőben. Számos különböző módon közelíthető meg a nyers adatok formázott HTML-vé konvertálása a felhasználó képernyőjén.

Mindegyik módszernek megvannak a maga előnyei és hátrányai, és az egyes módszerek előnyeinek és hátrányainak ismerete segíthet kiválasztani a webhelyéhez legmegfelelőbbet.

CSR: A böngésző átveszi az irányítást

A CSR a Client Side Rendering rövidítése. Amikor egy alkalmazás- vagy webhelyügyféloldalt renderel, a szerver alig vagy egyáltalán nem ad át HTML-kódot, kivéve egy kis sablonkódrészletet. Az oldal ezután minden szükséges adatot lekér a szervertől, az oldalbetöltési esemény után, AJAX kéréseken keresztül.

Amikor egy alkalmazás vagy oldal ügyféloldalt jelenít meg, a szerver átad egy szkriptet az ügyfélnek, amely előállítja a HTML-kódot az ügyfél böngészőjében. Ez lehetővé teszi az egyoldalas alkalmazások használatát, amelyek nem frissítik a böngészőt, amikor kapcsolatba lép velük.

A CSR-alkalmazások gyakran gyorsan betöltődnek a navigáció során, de előfordulhat, hogy kezdetben lassan töltődnek be. A sebesség nagymértékben függ a rendereléshez választott keretrendszertől, valamint attól, hogy hány további könyvtárat és kiegészítőt használ. A legtöbb népszerű modern JavaScript keretrendszerek tartalmaz egy opciót a CSR számára.

A teljes mértékben kliensoldalon megjelenített oldalak és alkalmazások szenvednek attól, hogy egy URL használatával nem tudnak közvetlenül egy adott oldalra navigálni. Amikor egy ügyféloldali megjelenített alkalmazás először elindul, a megadott URL-címtől függetlenül ugyanarra a kiindulási pontra navigál.

SSR: Renderelés központi szerveren

Az SSR a Server Side Rendering rövidítése. Ez a weboldal-megjelenítés egy sokkal hagyományosabb formája, amelyben a webhelyek sablonok alapján HTML-kódot generálnak, és HTML, stíluslapok és szkriptek keverékét küldik el az ügyfélnek. Nagy része a a legnépszerűbb webes háttérrendszerek ebbe a kategóriába tartoznak.

A szerveroldali megjelenített alkalmazások és webhelyek általában gyorsabban töltődnek be, de minden egymást követő navigáció teljes frissítést igényel. Ez azt jelenti, hogy nem csak tovább tart, hanem az SSR-rel dolgozó fejlesztőknek is figyelembe kell venniük a munkamenet-kezelést.

Az SSR által generált webhelyek és alkalmazások legnagyobb előnye az útvonalnavigáció következetessége. Egy adott útvonalat beíró felhasználó közvetlenül a kért oldalra kerül. Egyes keretrendszerek kezelik a felhasználók oldalról oldalra történő átirányítását az alkalmazáson belül, de előfordulhat, hogy a felhasználók kezdetben nem érhetik el a kívánt oldalt.

Számos modern keretrendszer kínál vegyes megoldásokat, amelyek a szerver által megjelenített oldal kiszolgálásával kezdődnek az ügyfél számára. Az oldal betöltése után egy hidratálásnak nevezett esemény történik, amelyben az ügyféloldali szkriptesemények az oldal vezérlőihez kapcsolódnak. Innentől kezdve a kliens kezel bármilyen navigációt.

A kevert dinamika lehetővé teszi a felhasználók számára, hogy közvetlenül az alkalmazás bármely oldalára lépjenek, miközben továbbra is megkapják az egyoldalas alkalmazások sebességét és zökkenőmentességét. A Next.js többféle megjelenítési paradigmát kínál, akárcsak a Nuxt.js és a Sveltekit.

SSG: Minimalizált rendering

Az SSG vagy a Static Site Generation megkerüli a HTML létrehozásának szükségességét a kliens vagy a szerver oldalon. Ehelyett az SSG-stílusú webhelyek és alkalmazások előre összeállítanak minden olyan oldalt, amelyre szükségük lehet, és az eredményeket CDN-re küldik a gyors kézbesítés érdekében.

Ez egy rendkívül hatékony módszer a weboldalak rendkívül gyors kiszolgálására. Az eredményeket általában egyszerű kötegekbe állítják össze, amelyek az egyes oldalakhoz szükséges összes HTML-t és stíluslapot tartalmazzák. Ezek a kötegek a lehető legkompaktabbak, hogy a felhasználó a lehető leggyorsabban megkapja őket.

Az SSG webhelyek általában kivételesen gyors betöltési sebességet kínálnak, annak ellenére, hogy minden navigációhoz frissítésre van szükség. A statikus oldal fő hátránya azonban a rugalmasság hiánya. A rendkívül dinamikus rendszerek, például a közösségi média alkalmazások vagy az összetett e-kereskedelmi platformok sokkal több változtatást igényelnek, mint amennyit egy SSG könnyen kezelni tud.

Sok statikus webhelynek is nagyobb mértékű többletköltségre lesz szüksége a módosításhoz, mivel minden új változtatást függetlenül kell fordítani. Emiatt az SSG-stílusú megjelenítés rossz választás a gyorsan változó webhelyek számára, például egy digitális kirakat gyorsan változó készlettel vagy közösségi médiaalkalmazásokkal.

ISR: Egy kicsit mindenből

Könnyen a legbonyolultabb renderelési típus, de egyben a leghasznosabb is, az ISR a növekményes statikus regenerációt jelenti. Az ISR ötvözi a statikusan létrehozott webhelyek sebességét és méretezhetőségét az SSR és a CSR-stílusú alkalmazások reaktivitásával.

Ha bármely oldalt lekérnek egy ISR-stílusú oldalon vagy alkalmazásban, a szerver először ellenőrzi, hogy van-e az oldal le nem járt, gyorsítótárazott verziója. Ha van, a szerver azonnal kiszolgálja a gyorsítótárazott oldalt.

Ha az oldalnak nem létezik gyorsítótárazott verziója, vagy elég idő telt el a létrehozása óta, a szerver új verziót hoz létre. Ezt az új verziót a rendszer átadja az ügyfélnek, és gyorsítótárban tárolja későbbi használatra.

Az ilyen típusú megjelenítést bonyolultabb beállítani, de automatizálja az SSG-webhelyeken általában tapasztalt problémák nagy részét. Ez lehetővé teszi az alkalmazások számára, hogy a statikusan generált alkalmazások sebességét és megbízhatóságát egyaránt kínálják, miközben automatizálják a többletköltséget.

Számos modern keretrendszer kínál már lehetőséget az ISR-stílusú megjelenítésre. Sokan támogatják az inkrementális generációs fejlesztést. A legtöbb fő keretrendszer hamarosan támogatja az ISR-megjelenítést, ha még nem.

Melyik a legjobb renderelési típus?

Számos módja van a webhely vagy alkalmazás megjelenítésének. E négy megjelenítési típus mindegyike többféle változattal rendelkezik. Egyetlen típusú megjelenítés sem ideális minden projekthez, és hogy melyik típust választja, az attól függ, hogy mi a legfontosabb az Ön webhelyén vagy alkalmazásában.

Amikor kiválasztja a megjelenítési paradigmát a projekthez, fontos figyelembe venni a sebességet, azt, hogy a közönség hogyan fogja használni a projektet, és milyen gyakran változik a webhely. Ezek lesznek az elsődleges elvek, amelyek segítenek eldönteni, hogy mi a legjobb módja a webhely vagy az alkalmazás felépítésének.