ReactJS knihovna » Historie » Verze 9
Jiří Trefil, 2023-03-26 20:11
1 | 1 | Jiří Trefil | h1. ReactJS knihovna |
---|---|---|---|
2 | 2 | Jiří Trefil | |
3 | 4 | Jiří Trefil | React je opensource knihovna vyvíjená společností Meta (facebook) a společně s VueJS a Angularem soupeří o srdce frontend vývojářů. |
4 | |||
5 | 5 | Jiří Trefil | React následje *deklarativní* paradigma a *komponentově orientovaný* návrh. Deklarativní paradigma je v podstatě pouze obálka nad imperativně napsaným kódem, programátor volá pouze API Reactu. |
6 | 4 | Jiří Trefil | |
7 | 1 | Jiří Trefil | Komponenty jsou snadno představitelné jako právě jeden HTML prvek. Komponenty můžeme skládat dohromady a tvořit pomocí nich komplexní stránky. Komponentový návrh umožňuje velice elegantně recyklovat kód a silně podporuje D.R.Y. standard. |
8 | 4 | Jiří Trefil | |
9 | Samotný React běží nad Nodejs serverem. Nodejs (TODO link na nodejs ofiko) je interprect javascriptu, který umožňuje interpretovat javascript přímo na počítači. Nativně javascriptu rozumí pouze webový prohlížeč. |
||
10 | |||
11 | 8 | Jiří Trefil | React umožňuje použití Typescriptu (typová nadstavba javascriptu), který se následně kompiluje do čistého javascriptu. V projektu SPADe je používán *Typescript* kvůli robustnější codebase. |
12 | Zároveň vyvíjíme komponenty funkcionálně (komponenty definovány jako *funkce*, ne jako třídy). Tento přístup je v React ekosystému používanější a samotný kód je mnohem přehlednější. |
||
13 | 9 | Jiří Trefil | (TODO rychlou typescript wiki napsat - deklarace vlastní typů, atp.) |
14 | |||
15 | React si interně vytváří *Virtual DOM* nad samotným DOMem, se kterým pracuje prohlížeč (respektive js). Tento virtuální DOM umožňuje Reactu jakoukoliv změnu v kódu přímo promítnout bez nutnosti restartovat Node server. Tohoto efektivního překreslení pouze nutných částí aplikace dosahuje pomocí diferencovacího algoritmu (porovnání virtualního domu starého s novým) (TODO viz -> odkaz někam do webu). |
||
16 | 4 | Jiří Trefil | |
17 | 7 | Jiří Trefil | * Ukázka v jednoduché komponenty v Reactu [[Komponenta]]. |
18 | * Vytvoření formuláře [[Formular]]. |
||
19 | * Komunikace se serverem [[Komunikace se serverem]]. |
||
20 | * React router [[React router]]. |
||
21 | * React hooky [[React hooky]]. |