Nová webová stránka

Vytvořil jsem novou webovou stránku. Proč? React. Moje předchozí stránka byla postavená na Next.js. Když jsem ji vytvářel, byl jsem velice ovlivněn různými youtube kanály. Většina říkala jedno.

React je budoucnost.

Předtím, jsem si myslel že je to pravda. A věřil jsem tomu. Proto jsem si taky udělal svoji první webovou stránku od základu v Reactu. (moje předchozí stránky byly jenom upravené šablony)

Moje předchozí stránka
Moje předchozí stránka, kterou jsem používal rok

Tato webová stránka byla pomalá. Jakože fakt pomalá. Načítala přes 2 MB dat a načítala několik KB JavaScriptu aby se vůbec něco ukázalo na obrazovce. Takhle to nešlo. Na výkonných zařízeních a rychlém internetu stránka byla celkem použitelná. Když jsem ale zkoušel stránku spustit na 1 Mb/s rychlosti připojení, stránka se načítala desítky sekund i klidně několik minut.

Normální uživatel nebude čekat minutu než se mu načte stránka. Kdyby to vůbec něco ukázalo na obrazovce, třeba loading screen. Ne, muselo se počkat než se stáhne celý JavaScript aby se mola zobrazit načítací obrazovka pro zbytek stránky.

Druhá webová stránka

Po této neskutečně pomalé stránce jsem se rozhodl že udělám lepší stránku. Řekl jsem si že zkusím nějaký static site generator, ale nebyl jsem schopen. Už jsem od té doby nepracoval s plain HTML, CSS a JS tak dlouho že jsem prostě nebyl schopen napsat něco užitečného. Přišlo mi, že development stránky šel strašně pomalu. Byl jsem zvyklý na styled components jako např Radix UI nebo CSS frameworky jako Tailwind CSS že mi přislo psát klasické HTML, CSS zbytečné.

Takže jsem zase skončil u Reactu. Nyní jsem si sice vybral Next.js který má server-side rendering, takže aspoň se uživateli posílalo nějaké HTML, ne jako předchozí stránka která využívala Vite , takže vše bylo client-side. Ale i tak to bylo docela pomalé. Rozhodně lepší než ta předchozí, ale stále ne dostatečně dobré.

Moje druhá stránka
Moje druhá webová stránka.

Můj názor na React

React je za mě docela dobrá technologie. Ale neměla by se využívat pro úplně všechno. React je dobrý například pro Dashboard UI nebo hodně komplexní dynamické webové stránky. Natož statické webové stránky jako například Blogy, Portfolia a další by za mě neměly být napsány v jakémkoliv Single-Page Frameworku. JavaScript frameworky byly udělány pro komplexní webové aplikace, kde je hodně reaktivních prvků atd.

Statické webové stránky by za mě neměly mít žádný JavaScript pokud to není potřeba. Statické webové stránky by mělý být nástroj na sdílení informací a myšlenek, ne bloated bordel plný JavaScriptu a hýbajících se prvků. Jasně developer experience se taky musí brát v ohled. Ale pokud stránka je velice simple, nepříjde mi, že psát HTML, CSS s nějakým static site generátorem je jakkoliv složité. Ba naopak. Když jsem se učil React, učil jsem se ho dlouho a stále nevím všechny věci a pořádně nechápu spoustu věci. Natož static site generátory mi příjdou mnohem jednodušší. Nemáte žádný bloated mess. Základy Hugo jsem se naučil za pár hodin.

Tato webová stránka

Proto jsem se rozhodl kompletně předělat moji webovou stránku. Za pár hodin jsem udělal tohle. Není to nic extra, jednoduchá Hugo webová stránka. Ale nic komplexnějšího za mě není potřeba. Žádné zbytečné animace, žádné kilobyty JavaScriptu, žádné trackery. Pouze HTML a CSS. Tato webové stránka nepoužívá žádný JavaScriptu. JavaScript není potřeba pro tento typ webové stránky.

K závěru

Samozřejmě neříkám že React může za to, že jsou webové stránky pomalé. Spíše mi příjde že je to ta otevřenost s npm packages. Jako developer si chci ulehčit práci, ale tím přicházím o performance a kontrolu nad kódem když využiju nějaký package, který přidá několik kilobytů JavaScriptu do bandwith. Radši si všechno udělám manuálně a budu mít vše pod kontrolou.