Ezt miota hazakuldtek Pestrol korona miatt es szar a netem hatvanyozottan ateltem:
Egy weboldalnak nem kellene masodpercekig full page loadereket a kepedbe tolnia. Elkepesztoen rosszak a First Meaningful Paint es Time to Interactive szamok az osszes SPA-nal.
Szandekosan irtam, weboldalt, a webappoknak termeszetesen nagyon nincs mas lehetoseguk, ott szukseg van a teljes js bundlera elso megjelenites elott, bar a PWA ott is eleg jo megoldast kinal, lasd: twitter.
Maradva a CRA-nal: miert szednel le olyan JS kodot ami olyan aloldalhoz tartozik amit lehet sosem latogatsz meg, es teszed ezt minden oldallekeres soran?
A Gatsby es a Next is ezt ugy kuszoboli ki, hogy egyreszt aloldalankent code splittel, masreszt az alapvetes a statikus html kesobbi rehidratalasa reactel, azaz lemegy az usernek a skeleton, a time to first byte teljesen megegyezik azzal mintha semmi JS kod nem lenne az oldalon, majd amint vege a rehidratalasnak ott vagy egy teljes Reactel
tisztazva:
Server Side Rendering: http keresre a szerver on-demand legeneralja a html-t es lekuldni.
Static Site Generation: build idoben, azaz otthon a te gepeden lefut a react statikus html, js, css fajlokba exportalas es ezt te csak felrakod CDNre.
Mindket esetben ugyan az a vegeredmeny, eloszor egy html filet kapsz jobb esetben beinjektalt critical css-el, ez valszeg ki is teszi az elso TCP kort, es csak kesobb kapod meg a JS kodod ami megint legelso korben rehidratal.