DOM, ShadowDOM, transpilace kódu, JSX, toolchain, funkcionální komponenty, javascript v prohlížeči
React je open-source JavaScriptová knihovna pro tvorbu uživatelských rozhraní. Vytvořila ho firma Meta (tehdá Facebook), poprvé vydaná v roce 2013. Aktuální verze je React 19 (stabilní od prosince 2024).
props| Typ aplikace | Vhodné? |
|---|---|
| SPA (Single Page Application) | Klasické use case |
| Webové aplikace s komplexním UI | Ideální |
| Statické weby (blog, portfolio) | Spíš použij Astro / Hugo |
| Mobilní aplikace | React Native (jiná knihovna, podobné API) |
| Desktop aplikace | Electron + React |
Tři pilíře webu (rekapitulace):
| Technologie | Účel |
|---|---|
| HTML | Struktura a sémantika obsahu |
| CSS | Vizuální prezentace |
| JavaScript | Logika, interaktivita, komunikace se serverem |
Každý prohlížeč má JavaScript engine, který parsuje a vykonává JS:
| Prohlížeč | JS Engine |
|---|---|
| Chrome, Edge, Opera | V8 (Google) |
| Firefox | SpiderMonkey (Mozilla) |
| Safari | JavaScriptCore (Nitro) (Apple) |
Event loop a asynchronnost
JavaScript je single-threaded (jedno vlákno), ale dokáže být asynchronní díky event loopu: dlouhé operace (síťové requesty, timery) se vykonávají mimo hlavní vlákno a callback se zařadí do fronty, až jsou hotové.
console.log('1');
setTimeout(() => console.log('2'), 0);
Promise.resolve().then(() => console.log('3'));
console.log('4');
// Output: 1, 4, 3, 2
// Synchronní kód → microtasks (Promise) → macrotasks (setTimeout)
Co JS v prohlížeči umí