Úvod do alternativ Redux

Redux je knihovna JavaScript, která je otevřeným zdrojovým kódem. Používá se pro správu stavu aplikace. Redux se většinou používá k vytváření uživatelských rozhraní s jinými knihovnami javascriptu, jako jsou React a Angular. Redux lze chápat jako nástroj pro správu stavu. Přestože se nejčastěji používá s React, je vhodný pro jakýkoli rámec JavaScriptu nebo jeho knihovnu. Jedná se o velmi lehké měření pouze 2 kB. U jakékoli aplikace založené na JavaScriptu se správa stavu stává chaotickou, když se zvětší velikost aplikace nebo se aplikace stává složitější, a proto pro udržení těchto stavů potřebujeme nástroj pro správu stavu, jako je například Redux.

Redux je skvělý nástroj a jeho význam je zřejmý tím, že zcela změnila architekturu front-end aplikací. Redux by mohl být skvělým nástrojem pro zvládnutí někoho, kdo hledá novou práci, protože poskytuje některé zajímavé nabídky s různými verzemi Angular a dalšími. Kombinace React & Redux je zvláště důležitá pro pracovní vyhlídky.

Definice Redux

Pracovní princip Reduxu je poměrně jednoduchý a přímočarý. Redux lze považovat za centrální obchod, který drží celý stav aplikace. Každá z jejích součástí může přistupovat k danému uloženému stavu, aniž by vyžadovala odesílání vlastnosti z jedné komponenty do druhé.

Existují tři stavební bloky reduxu: akce, úložiště a redukce.

1. Akce

To není nic jiného než události. Jsou to způsob, jak odesílat data z aplikace do obchodu Redux. Data pocházejí z uživatelských interakcí nebo volání API nebo odeslání formuláře.

2. Reduktory

Nejedná se pouze o funkce, které po převzetí aktuálního stavu aplikace provedou danou akci a vrátí nový stav. Tyto stavy jsou později uloženy jako objekty a také určují, jak se mění stav vybrané aplikace s odezvou z akce odeslané do úložiště.

3. Uchovávejte

Obchod, který je jádrem návrhu, udržuje stav aplikace. V libovolné aplikaci Redux může být pouze jeden obchod. Jeden může přistupovat k uloženému stavu a aktualizovat jeho stav, a pak registrovat nebo zrušit registraci posluchačů pomocí dostupných pomocných metod.

Redux je skvělý, ale s jeho použitím jsou některé problémy:

  • Obtížnost při přechodu na práci s reduktory: - Abyste mohli pracovat s reduxem, musíte se starat o funkční principy programování a vždy vracet novou hodnotu na základě předchozího stavu aplikace. Někdy by to mohlo být snadné, jako je manipulace s jednoduchým řetězcem nebo objekty nebo jednoduché operace pole, ale jak se zvyšuje složitost úkolu, lepší nápad by pravděpodobně bylo použití Immiable.json z podobné knihovny.
  • Nepoužívejte opakování sami nebo princip DRY: - Práce s Reduxem vyžaduje zachování některých konvencí, jako je vytváření typů akcí nebo tvůrců akcí a také redukce. Pro podobné logické účely, jako jsou operace CRUD, může kód Redux skutečně vypadat velmi podobně. Přidání malé funkčnosti v takových případech bude vyžadovat přidání mnoha redux logických a testovacích případů. Lepším nápadem by tedy bylo přemýšlet o refaktoringu nebo dodržení pravidla SUCHÉ.
  • Péče o výkony: - Nakonec záleží na výkonu. Vývojáři obvykle dávají přednost jedinému zdroji pravdy, který je nejen nenáročný na údržbu, ale také ladí a testuje, a proto to redux nevyhovuje. V Reduxu může i malá změna vyvolat změny ve struktuře DOM.

Seznam alternativ Redux

Hlavní alternativy Redux jsou následující:

1. MobX

Jedná se o novou knihovnu, která poskytuje mnoho řešení výše uvedených problémů. Funguje na 3 bodech a jedná se o stav, derivace a akce. S MobX lze synchronizovat mezi modely a uživatelským rozhraním automaticky. S MobXem lze OOP a některé metody použít přímo na položce modelů. Normalizace objektů není nutná, ale v Redux store je potřeba.

2. GraphQL

Zásobník relací a GraphQL je ve skutečnosti poměrně starý, ale ne tak populární jako Redux. Je vyvíjen společností Facebook a když to přišlo, bylo to popsáno jako rámec pro budování datově řízených reakčních aplikací. Relay s GraphQL má mnoho jedinečných výhod. Největší z nich je, že není nutné si z pohledu frontendu pamatovat, jak načíst data k získání požadované odpovědi.

3. Kombinéza

Toto je řešení obvykle pro někoho, kdo nechce používat MobX, ale čistý Redux se mu také nelíbí. Kombinéza je rámec založený na Reduxu a díky tomu je tok automatizovanější. Pro někoho, kdo nemá rád sestavení aplikace od nuly (což znamená přidání a konfiguraci mnoha balíčků), je pro ně Jumpsuit vhodný. Poskytuje zjednodušenou vrstvu API pro React i Redux.

4. Pomocníci / generátory s konvenčními redux.js

Jedním z největších problémů, které lze s aplikací Redux rozpoznat, je to, že má mnoho duplikací kódu, tj. Nedodržuje princip DRY. Konvenční-redux.js je přístup, který je třeba v tomto ohledu dodržovat, aby se zjednodušil váš pracovní postup.

Jumpsuit, Conventional-redux.js a mnoho dalších takových nástrojů se zaměřuje na zlepšení pracovního postupu Redux. Jedná se o preferovanou volbu pro ty, kteří jsou s Reduxem obeznámeni a rozumějí jeho vstupům a výstupům., Jsou to lidé, kteří pravděpodobně připravili spoustu dat nebo stavových logických materiálů a opravdu to nechtějí přepisovat znovu a znovu nebo vložili větší úsilí při učení těchto dovedností.

Na druhé straně jsou MobX a Relay & GraphQL mimo zásobník Redux. MobX se velmi snadno učí. To se doporučuje, pokud někdo chce psát od nuly velmi rychle. GraphQL naopak potřebuje hodně času, aby mohl vytvořit logiku backendového toku dat. Ale jakmile je hotovo, budování frontové implementace se stává mnohem jednodušší.

Srovnávací tabulka alternativ Redux

Funkce

Redux MobX GraphQL

Kombinéza

SUCHÝ principNeAnoAnoAno
KomplikaceVysokýNízkýStředníStřední
Křivka učeníVysokýNízkýStředníNízký
aplikaceVhodný pro jednoduchou aplikaciVhodný pro komplexní použitíVhodné pro středně velké aplikaceVhodný pro komplexní použití

Doporučené články

Toto byl průvodce Redux Alternatives. Zde jsme diskutovali o nejlepších 4 alternativách Redux s jejich srovnávací tabulkou. Další informace naleznete také v následujícím článku -

  1. Linuxové alternativy
  2. Ubuntu Alternativy
  3. Alternativy WordPress
  4. Git Alternativy

Kategorie: