Úvod k alternatívam Redux

Redux je knižnica JavaScript, ktorá je otvoreným zdrojom. Používa sa na správu stavu aplikácie. Redux sa väčšinou používa na vytváranie užívateľských rozhraní s inými knižnicami javascript ako React and Angular. Redux možno chápať ako nástroj správy štátu. Aj keď sa najčastejšie používa s programom React, je vhodný pre akýkoľvek rámec JavaScriptu alebo jeho knižnicu. Je to veľmi ľahké meranie iba 2KB. V prípade akejkoľvek aplikácie založenej na JavaScripte sa správa stavu stáva chaotickou, keď sa veľkosť aplikácie zvyšuje alebo sa stáva zložitejšou, a preto potrebujeme nástroj na správu stavu, napríklad Redux, aby sme tieto stavy udržali.

Redux je vynikajúci nástroj a jeho dôležitosť je zrejmá z toho, že úplne zmenila architektúru front-end aplikácií. Redux by mohol byť skvelým nástrojom na zvládnutie niekoho, kto hľadá nové zamestnanie, pretože poskytuje niekoľko zaujímavých ponúk s rôznymi verziami Angular a ďalšie. Kombinácia React & Redux je obzvlášť dôležitá pre vyhliadky na zamestnanie.

Definícia Redux

Pracovný princíp Redux je pomerne jednoduchý a jednoduchý. Redux možno považovať za centrálny obchod, ktorý uchováva celý stav aplikácie. Každá z jeho komponentov môže pristupovať k danému uloženému stavu bez toho, aby musela poslať vlastnosť z jedného komponentu na druhý.

Existujú tri stavebné bloky reduxu: akcie, ukladanie a redukcie.

1. Činnosti

Toto nie je nič iné ako udalosti. Je to spôsob, ako posielať údaje z aplikácie do obchodu Redux. Údaje pochádzajú z interakcií používateľov alebo volaní API alebo odosielania formulárov.

2. Reduktory

Nejde iba o čisté funkcie, ktoré po prijatí aktuálneho stavu aplikácie vykonajú danú akciu a potom vrátia nový stav. Tieto stavy sa neskôr ukladajú ako objekty a tiež určujú, ako sa mení stav vybranej aplikácie v reakcii na akciu odoslanú do úložiska.

3. Uchovávajte

Obchod, ktorý je jadrom návrhu, udržuje stav aplikácie. V akejkoľvek aplikácii Redux môže byť iba jeden obchod. Jeden môže pristupovať k uloženému stavu a aktualizovať jeho stav, a potom zaregistrovať alebo zrušiť registráciu poslucháčov pomocou dostupných pomocných metód.

Redux je skvelý, ale s jeho používaním sú nejaké problémy:

  • Ťažkosti s prechodom na prácu s reduktormi: - Aby ste mohli pracovať s redux, musíte sa starať o funkčné princípy programovania a vždy vrátiť novú hodnotu založenú na predchádzajúcom stave aplikácie. Niekedy by to mohlo byť ľahké, napríklad manipulácia s jednoduchým reťazcom alebo objektmi alebo jednoduché operácie s poľom, ale so zvyšujúcou sa zložitosťou úlohy by bolo lepšie použiť Immutable.json z podobnej knižnice.
  • Neopakujte sami seba alebo princíp DRY: - Práca s Reduxom si vyžaduje dodržiavanie niektorých konvencií, ako je vytváranie typov akcií alebo tvorcov akcií a tiež redukcie. Z podobných logických dôvodov, ako sú operácie CRUD, môže kód Redux skutočne vyzerať veľmi podobne. Pridanie malej funkčnosti v takýchto prípadoch si bude vyžadovať pridanie mnohých reduxových logických a testovacích prípadov. Lepším nápadom by teda bolo zamyslieť sa nad refaktoringom alebo dodržiavaním pravidla DRY.
  • Starostlivosť o predstavenia: - Nakoniec, na čom skutočne záleží, je výkon. Vývojári zvyčajne dávajú prednosť tomu, že je jediným zdrojom pravdy, ktorý sa nielen ľahko udržuje, ale aj ladí a testuje, a preto redux nevyhovuje. V aplikácii Redux môžu zmeny štruktúry DOM vyvolať aj malé zmeny.

Zoznam alternatív Redux

Hlavné alternatívy Redux sú tieto:

1. MobX

Toto je nová knižnica, ktorá poskytuje veľa riešení vyššie uvedených problémov. Funguje to na 3 bodoch a sú to stav, derivácie a činy. S MobXom je možné synchronizáciu medzi modelmi a užívateľským rozhraním vykonať automaticky. S MobXom je možné OOP a niektoré metódy použiť priamo na položke modelov. Normalizácia objektov sa tiež nevyžaduje, ale v obchode Redux je potrebná.

2. GraphQL

Zásobník Relay & GraphQL je v skutočnosti pomerne starý, ale nie taký populárny ako Redux. Je vyvíjaný spoločnosťou Facebook a keď prišiel, bol opísaný ako rámec na vytváranie dátových reakčných aplikácií. Použitie relé s GraphQL má mnoho jedinečných výhod. Najväčší z nich je, že z pohľadu frontend nie je potrebné pamätať na to, ako načítať údaje, aby sa získala požadovaná odpoveď.

3. Kombinéza

Toto je riešenie zvyčajne pre niekoho, kto nechce používať MobX, ale čistý Redux ho tiež nepriťahuje. Kombinéza je rámec, ktorý je založený na Reduxe a vďaka tomu je tok automatickejší. Pre niekoho, kto neradi vytvára aplikáciu od nuly (čo znamená pridávanie a konfigurovanie mnohých balíkov), je pre nich vhodná kombinéza. Poskytuje zjednodušenú vrstvu API pre React aj Redux.

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

Jedným z najväčších problémov, ktoré možno s aplikáciou Redux rozpoznať, je to, že má veľa duplikátov kódu, tj nedodržiava zásadu SUŠENIA. V tomto smere je prístup, ktorý je potrebné dodržať, konvenčný-redux.js na zjednodušenie vášho pracovného postupu.

Jumpsuit, Conventional-redux.js a mnoho ďalších takýchto nástrojov sa zameriava na zlepšenie pracovného postupu Redux. Toto je preferovaná voľba pre tých, ktorí sú oboznámení s Reduxom a rozumejú jeho výhodám a výstupom., Sú to ľudia, ktorí pravdepodobne pripravili veľa údajov alebo stavovej logiky a to naozaj nechcú znova a znova prepisovať alebo vložiť väčšie úsilie pri učení sa týchto zručností.

Na druhej strane sú MobX a Relay & GraphQL mimo zásobníka Redux. MobX je veľmi ľahké sa naučiť. Toto sa odporúča, ak niekto chce písať od nuly veľmi rýchlo. GraphQL, naopak, potrebuje veľa času, aby mohol vybudovať logiku backendu toku dát. Len čo sa to však dokončí, stáva sa vykonávanie frontovej implementácie oveľa ľahšou.

Porovnávacia tabuľka alternatív Redux

Vlastnosti

Redux MobX GraphQL

kombinéza

SUCHÝ princípžiadnyÁnoÁnoÁno
komplikácievysokýnízkystrednástredná
Krivka učeniavysokýnízkystrednánízky
prihláškaVhodný na jednoduchú aplikáciuVhodný na zložité použitieVhodný pre stredne veľké aplikácieVhodný na zložité použitie

Odporúčané články

Toto bola príručka pre alternatívy spoločnosti Redux. Tu sme diskutovali o 4 najlepších Redux Alternatívach s ich porovnávacou tabuľkou. Viac informácií nájdete aj v nasledujúcom článku -

  1. Alternatívy systému Linux
  2. Alternatívy Ubuntu
  3. Alternatívy WordPress
  4. Git Alternatívy

Kategórie: