Sissejuhatus Reduxi alternatiividesse

Redux on JavaScripti teek, mis on avatud lähtekoodiga. Seda kasutatakse rakenduse oleku haldamiseks. Reduxit kasutatakse enamasti kasutajaliideste loomiseks teiste javascripti teekidega, näiteks React ja Angular. Reduxi võib mõista kui riigihaldusvahendit. Vaatamata sellele, et seda kasutatakse kõige sagedamini koos Reaketiga, sobib see iga JavaScripti raamistiku või selle kogu jaoks. See on väga kerge, mõõtes vaid 2KB. Mis tahes JavaScriptipõhise rakenduse korral muutub riigihaldus segaseks, kui rakenduse maht suureneb või rakendus muutub keerukamaks ja seetõttu vajame nende olekute säilitamiseks riigihaldusriista nagu Redux.

Redux on suurepärane tööriist ja selle olulisus ilmneb tõsiasjas, et see on esiotsa rakenduste arhitektuuri täielikult muutnud. Redux võiks olla suurepärane tööriist uue töö otsija jaoks, kuna see pakub huvitavaid pakkumisi erinevate nurga alt ja teistega. React ja Redux kombinatsioon on eriti oluline töövõimaluste jaoks.

Mõiste Redux

Reduxi tööpõhimõte on üsna lihtne ja arusaadav. Reduxi võib pidada keskseks poodiks, kus on kogu rakenduse olek. Iga selle komponent pääseb juurde antud salvestatud olekule ilma, et oleks vaja ühelt komponendilt teisele vara saata.

Redukte on kolm alustala: toimingud, pood ja reduktorid.

1. Tegevused

See pole midagi muud kui sündmused. Need on viis, kuidas andmeid rakendusest Reduxi poodi saata. Andmed pärinevad kasutaja interaktsioonidest või API-kõnedest või vormi esitamisest.

2. reduktorid

Need pole muud kui puhtad funktsioonid, mis pärast rakenduse praeguse oleku võtmist teostavad antud toimingu ja tagastavad seejärel uue oleku. Neid olekuid salvestatakse hiljem objektidena ja need täpsustavad ka seda, kuidas valitud rakenduse olek muutub koos poodile saadetud toimingust saadud vastusega.

3. Hoida

Kauplus, mis on disaini tuum, hoiab rakenduse olekut. Mis tahes Reduxi rakenduses võib olla ainult üks pood. Salvestatud olekule saab juurde pääseda ja selle olekut värskendada ning seejärel olemasolevate abistajaviiside abil kuulajaid registreerida või registreerida.

Redux on suurepärane, kuid Reduxi kasutamisel on mõned probleemid:

  • Raskused reduktoritega tööle minemisel: - Reduktoriga töötamiseks peab hoolima funktsionaalsetest programmeerimispõhimõtetest ja tagastama alati uue väärtuse, mis põhineb eelmisel rakenduse olekul. Mõnikord võib see olla lihtne, näiteks lihtsa stringi või objektide või lihtsate massiivitoimingute haldamine, kuid kui ülesande keerukus suureneb, oleks parem mõte kasutada samasugusest raamatukogust Immvable.json.
  • Ärge korrake ennast või kuivatage põhimõte: - Reduxiga töötamine eeldab teatud tavade säilitamist, näiteks toimingutüüpide või toimingute loojate ja ka reduktorite loomist. Sarnase loogika huvides, näiteks CRUD-toimingute korral võib Reduxi kood tegelikult väga sarnane välja näha. Sellistel juhtudel väikese funktsionaalsuse lisamiseks tuleb lisada palju redux-loogikat ja testijuhtumeid. Seega oleks parem mõte mõelda ümberreguleerimisele või DRY reegli järgimisele.
  • Esinemistest hoolimine: - Lõppkokkuvõttes on esinemine tegelikult oluline. Arendajad eelistavad tavaliselt seda, et see oleks üks tõdeallikas, mida pole mitte ainult lihtne hooldada, vaid ka silumist ja testimist ning seega redux sellele ei sobi. Reduxis võib isegi väike muudatus esile kutsuda muutused DOM-i struktuuris.

Reduxi alternatiivide loetelu

Allpool on Reduxi peamised alternatiivid, mis on järgmised:

1. MobX

See on uus raamatukogu, mis pakub palju lahendusi ülalnimetatud probleemidele. See töötab 3 punkti peal ja need on olek, tuletused ja toimingud. MobX-iga saab sünkroonida mudeleid ja kasutajaliidest automaatselt. MobX-iga saab OOP-i ja mõnda meetodit kasutada otse mudelite üksusel. Ka objektide normaliseerimist pole vaja, kuid Reduxi kaupluses on see vajalik.

2. GraphQL

Relay & GraphQL pinu on tegelikult suhteliselt vana, kuid mitte nii populaarne kui Redux. Selle on välja töötanud Facebook ja kui see tuli, kirjeldati seda kui raamistikku andmepõhiste reageerimisrakenduste loomiseks. Relee kasutamisel koos GraphQL-iga on palju ainulaadseid eeliseid. Suurim nende seas on see, et vajaliku vastuse saamiseks pole vaja kasutajaliidese vaatepunktist meelde jätta, kuidas andmeid tuua.

3. Jumpsuit

See on lahendus tavaliselt kellelegi, kes ei soovi MobX-i kasutada, kuid puhas Redux ei meeldi ka talle. Kostüüm on Reduxil põhinev raamistik, mis muudab voolu automaatsemaks. Inimesele, kellele ei meeldi nullist rakendust ehitada (mis tähendab paljude pakettide lisamist ja konfigureerimist), sobib neile siis Jumpsuit. See annab lihtsustatud API kihi nii Reaktusele kui ka Reduxile.

4. Tavalise redux.js-ga abistajad / generaatorid

Üks suurimaid probleeme, mida Reduxi rakenduses ära tunda saab, on see, et sellel on palju koodi dubleerimist, st see ei järgi kuiva põhimõtet. Tavaline-redux.js on selles osas lähenemisviis, mida oma töövoo lihtsustamiseks kasutada.

Jumpsuit, Tavaline-redux.js ja paljud muud sellised tööriistad keskenduvad Reduxi töövoo täiustamisele. Need on eelistatud valik neile, kes tunnevad Reduxit ja saavad aru selle plussidest ja külgedest. Need on inimesed, kes on tõenäoliselt palju andmeid või riiklikke loogikaid ette valmistanud ega taha seda ikka ja jälle uuesti kirjutada või on pannud rohkem pingutusi nende oskuste õppimisel.

Teisest küljest on MobX ja Relay & GraphQL väljaspool Reduxi korstnat. MobX-i on väga lihtne õppida. See on soovitatav, kui keegi soovib väga kiiresti nullist kirjutada. GraphQL, vastupidi, vajab palju aega, et oleks võimalik luua taustprogrammi andmevoo loogika. Kuid kui see on tehtud, on eesmise rakendamise ehitamine palju lihtsam.

Reduxi alternatiivide võrdlustabel

Funktsioonid

Redux MobX GraphQL

Jumpsuit

KUIV ​​põhimõteEiJahJahJah
TüsistusKõrgeMadalKeskmineKeskmine
ÕppimiskõverKõrgeMadalKeskmineMadal
RakendusSobib lihtsaks pealekandmiseksSobib keerukaks kasutamiseksSobib keskmise suurusega rakendusteksSobib keerukaks kasutamiseks

Soovitatavad artiklid

See on olnud Reduxi alternatiivide juhend. Siin oleme arutanud 4 parimat Reduxi alternatiivi koos nende võrdlustabeliga. Lisateabe saamiseks võite vaadata ka järgmist artiklit -

  1. Linuxi alternatiivid
  2. Ubuntu alternatiivid
  3. WordPressi alternatiivid
  4. Git Alternatiivid

Kategooria: