Záznam architektonického rozhodnutí: front-endová JavaScriptová knihovna React
Kontext
Musíme pro naši aplikaci zvolit front-endovou JavaScriptovou knihovnu, abychom vytvořili responzivní a interaktivní uživatelské rozhraní.
Zvažované možnosti
React
Vue
Svelte
Rozhodnutí
Jako front-endovou JavaScriptovou knihovnu použijeme React.
Zdůvodnění
Komponentová architektura: React poskytuje komponentovou architekturu, která nám umožňuje rozdělit UI na malé znovupoužitelné komponenty. To pomáhá zlepšit modularitu našeho kódu a usnadňuje údržbu, škálování a aktualizaci aplikace.
Deklarativní programování: React používá deklarativní styl programování, díky kterému je náš kód intuitivnější a snáze čitelný. Poskytuje také virtuální DOM, který umožňuje, aby náš kód běžel rychleji a efektivněji.
Velká komunita: React má velkou a aktivní komunitu a je jednou z nejpopulárnějších front-endových knihoven. To znamená, že je k dispozici spousta zdrojů, nástrojů a knihoven, které nám mohou pomoci vyvíjet aplikaci rychleji a efektivněji.
Lepší výkon: React používá jednosměrný tok dat, který pomáhá zjednodušit logiku aplikace a činí ji efektivnější. Poskytuje také vykreslování na straně serveru, které pomáhá zlepšit výkon a SEO naší aplikace.
Flexibilita: React lze používat s dalšími knihovnami a frameworky, což nám dává svobodu zvolit nejlepší technologický stack, který vyhovuje požadavkům našeho projektu.
Důsledky
Křivka učení: React má křivku učení a vývojářům, kteří s Reactem začínají, může chvíli trvat, než se zorientují.
Nástroje pro sestavení: React vyžaduje další nástroje pro sestavení, jako jsou Babel a Webpack, což může do vývojového procesu přinést složitost.
Kompatibilita s prohlížeči: React má problémy s kompatibilitou se staršími prohlížeči, protože používá funkce ES6, které starší prohlížeče nepodporují.
Strmá křivka učení: Vývojářům, kteří React neznají, může trvat, než se naučí jej efektivně používat, což může vést k pomalejšímu vývoji.
Závěr
Rozhodli jsme se použít React jako front-endovou JavaScriptovou knihovnu naší aplikace. Přestože může mít křivku učení, přínosy, které React poskytuje, jako jsou komponentová architektura, deklarativní styl programování, lepší výkon, flexibilita a velká komunita, převažují nad možnými nevýhodami.