Introduzione alle alternative di Redux

Redux è una libreria JavaScript open source. Viene utilizzato per la gestione dello stato dell'applicazione. Redux viene utilizzato la maggior parte delle volte con altre librerie javascript come React e Angular per creare interfacce utente. Redux può essere inteso come uno strumento di gestione dello stato. Anche se è comunemente usato con React, è adatto a qualsiasi framework JavaScript o sua libreria. È molto leggero e misura solo 2KB. Per qualsiasi app basata su JavaScript, la gestione dello stato diventa disordinata quando le dimensioni dell'app aumentano o l'app diventa più complessa e quindi abbiamo bisogno di uno strumento di gestione dello stato come Redux per mantenere questi stati.

Redux è un ottimo strumento e la sua importanza è evidente dal fatto che ha completamente cambiato l'architettura delle app front-end. Redux potrebbe essere un ottimo strumento da padroneggiare per qualcuno in cerca di un nuovo lavoro perché offre alcune offerte interessanti con varie versioni di Angular e altre. La combinazione React & Redux è particolarmente importante per le prospettive di lavoro.

Definizione Redux

Il principio di funzionamento di Redux è abbastanza semplice e diretto. Redux può essere considerato come un archivio centrale che contiene l'intero stato dell'applicazione. Ciascuno dei suoi componenti può accedere al dato stato memorizzato senza richiedere l'invio di proprietà da un componente a un altro.

Esistono tre elementi costitutivi del redux: azioni, magazzino e riduttori.

1. Azioni

Questo non è altro che eventi. Sono il modo per inviare dati dall'applicazione all'archivio Redux. I dati provengono da interazioni dell'utente o chiamate API o invio di moduli.

2. Riduttori

Queste non sono altro che funzioni pure che dopo aver assunto lo stato corrente dell'applicazione, eseguono l'azione indicata e quindi restituiscono un nuovo stato. Questi stati vengono successivamente memorizzati come oggetti e specificano anche come cambia lo stato dell'applicazione selezionata con la risposta di un'azione inviata all'archivio.

3. Conservare

Il negozio che costituisce il nucleo del progetto contiene lo stato dell'applicazione. Può esserci un solo negozio in qualsiasi applicazione Redux. È possibile accedere allo stato memorizzato e aggiornarne lo stato, quindi registrare o annullare la registrazione dei listener attraverso i metodi di supporto disponibili.

Redux è fantastico ma ci sono alcuni problemi con l'uso di Redux:

  • Difficoltà a passare al lavoro con i riduttori: - Per poter lavorare con Redux, è necessario preoccuparsi dei principi di programmazione funzionale e restituire sempre un nuovo valore basato sul precedente stato dell'app. A volte questo potrebbe essere facile come gestire semplici stringhe o oggetti o semplici operazioni di array ma all'aumentare della complessità dell'attività, probabilmente l'idea migliore sarebbe quella di utilizzare Immutable.json dalla libreria simile.
  • Non ripetere te stesso o il principio DRY: - Lavorare con Redux richiede il mantenimento di alcune convenzioni, come la creazione di tipi di azioni o creatori di azioni e anche riduttori. Per ragioni logiche simili come le operazioni CRUD, il codice Redux può effettivamente sembrare molto simile. L'aggiunta di piccole funzionalità in questi casi richiederà l'aggiunta di molta logica redux e casi di test. Pertanto, un'idea migliore sarebbe quella di pensare al refactoring o seguire una regola DRY.
  • Cura delle prestazioni: - Alla fine, ciò che conta davvero è la prestazione. Gli sviluppatori di solito preferiscono avere un'unica fonte di verità che non è solo facile nella manutenzione ma anche di debug e test, e quindi il redux non è adatto. In Redux, anche una piccola modifica può innescare cambiamenti nella struttura DOM.

Elenco di alternative Redux

Di seguito sono le principali alternative per Redux che sono le seguenti:

1. MobX

Questa è una nuova libreria che offre molte soluzioni ai problemi sopra menzionati. Funziona su 3 punti e sono stato, derivazioni e azioni. Con MobX, la sincronizzazione tra i modelli e l'interfaccia utente può essere eseguita automaticamente. Con MobX, è possibile utilizzare OOP e alcuni metodi direttamente sull'elemento dei modelli. Anche la normalizzazione degli oggetti non è richiesta, ma nel negozio Redux è necessaria.

2. GraphQL

Lo stack di Relay e GraphQL è relativamente vecchio, ma non così popolare come Redux. È sviluppato da Facebook e quando è arrivato è stato descritto come il framework per creare applicazioni di reazione basate sui dati. Ci sono molti vantaggi unici nell'uso di Relay con GraphQL. Il più grande di questi è che non è necessario ricordare dal punto di vista del frontend su come recuperare i dati per ottenere la risposta richiesta.

3. Tuta

Questa è una soluzione di solito per qualcuno, che non vuole usare MobX, ma anche Redux puro non è attraente per lui / lei. Una tuta è un framework basato su Redux e rende il flusso più automatico. Per qualcuno a cui non piace creare un'applicazione da zero (il che significa aggiungere e configurare molti pacchetti), allora Jumpsuit è adatto a loro. Fornisce un livello API semplificato sia per React che per Redux.

4. Assistenti / generatori con redux.js convenzionali

Uno dei maggiori problemi che possono essere riconosciuti con l'app Redux è che ha molte duplicazioni di codice, cioè non segue il principio DRY. Convenzionale-redux.js è l'approccio da seguire al riguardo per semplificare il flusso di lavoro.

Jumpsuit, Conventional-redux.js e molti altri strumenti simili mirano a migliorare il flusso di lavoro di Redux. Queste sono le scelte preferite per coloro che hanno familiarità con Redux e ne comprendono i dettagli. maggiore sforzo nell'apprendimento di queste abilità.

D'altra parte, MobX, Relay e GraphQL sono al di fuori dello stack Redux. MobX è molto facile da imparare. Questo è consigliato se qualcuno vuole scrivere da zero molto rapidamente. GraphQL, al contrario, richiede molto tempo per poter costruire la logica del flusso di dati di back-end. Ma una volta fatto, costruire un'implementazione frontale diventa molto più semplice.

Tabella comparativa delle alternative Redux

Caratteristiche

Redux MOBX GraphQL

tuta

Principio SECCONo
ComplicazionealtoBassomediomedio
Curva di apprendimentoaltoBassomedioBasso
ApplicazioneAdatto per una semplice applicazioneAdatto per applicazioni complesseAdatto per applicazioni di medie dimensioniAdatto per applicazioni complesse

Articoli consigliati

Questa è stata una guida su Redux Alternatives. Qui abbiamo discusso le prime 4 alternative di Redux con la loro tabella di confronto. Puoi anche leggere il seguente articolo per saperne di più -

  1. Alternative Linux
  2. Alternative Ubuntu
  3. Alternative WordPress
  4. Git Alternative

Categoria: