O que é Redux e por que é importante no desenvolvimento Web

O que é Redux e por que é importante no desenvolvimento Web

Mergulhe no Redux: um contêiner de estado previsível para aplicativos JavaScript. Ele centraliza o estado da aplicação, garantindo consistência e capacidade de gerenciamento, especialmente em aplicações React complexas.

Imagem em destaque

Por definição, Restaurado é um “contêiner de estado previsível para aplicativos JavaScript”. Para entender o que isso significa, precisamos esclarecer algumas dessas definições.

Primeiro, vamos pular para “estado”. Em termos de programação e aplicativos, um estado representa tudo combinado para manter um aplicativo em execução.

A seguir, adicionamos o termo “previsível”, o que nos dá um estado consistente, independentemente do ambiente em que é executado.

Agora podemos criar uma camada de “contêiner”, que é um aplicativo totalmente encapsulado que inclui tudo o que é necessário para ser executado.

Portanto, um contêiner de estado previsível é um aplicativo em contêiner capaz de permanecer em um estado consistente e em execução. Claro que com Redux estamos falando de uma aplicação escrita em JavaScript.

O que é Redux e por que é importante no desenvolvimento Web 9

Uma análise mais aprofundada dos estados

Considere o seguinte: você usa o Aplicativo X em seu smartphone, faz algumas coisas com esse aplicativo e depois muda para o Aplicativo Y e faz coisas diferentes. Ao usar o Aplicativo Y, você percebe que esqueceu de fazer algo com o Aplicativo X e volta para o primeiro aplicativo. Quando você reabre o aplicativo original, ele estará no mesmo estado em que estava quando você o saiu pela última vez.

Isso é estado. Mas espere, tem mais.

Existem três princípios a serem considerados para o estado:

  • O estado de um aplicativo é sempre armazenado em um único objeto JavaScript.
  • Embora o estado seja somente leitura, ele pode ser alterado descrevendo a alteração usando uma ação JavaScript.
  • As alterações em um estado são executadas por uma função redutora, que aceita o estado atual e, por meio de uma ação, retorna o novo estado (se houver alteração) ou o estado original (se não houver alteração).

Isso é principalmente coisa básica. Redux é muito mais que isso.

O que é Redux?

O Redux começou quando o Facebook começou a ter problemas com a estrutura Model-View-Controller, que é um padrão de design de software que separa um aplicativo em três componentes: Model (lógica relacionada a dados), View (lógica de UI para um aplicativo) e Controller ( interface entre Modelo e Visualização). Quando o Facebook precisou fazer um dimensionamento massivo, a estrutura MVC começou a falhar.

Nesse ponto, o Facebook lançou o Flux, que é um método unidirecional de atualização do componente View e de manipulação de ações baseadas no usuário.

Em junho de 2015, Dan Abramov criou o Redux, que é baseado no Flux do Facebook e na linguagem de programação Elm. A grande mudança que Abramov fez no Redux foi que ele usou apenas uma única loja e removeu o despachante.

Um armazenamento é uma forma de armazenar e gerenciar persistentemente coleções de dados. O Flux usou vários armazenamentos, o Redux apenas um. Portanto, se você tiver vários componentes em um aplicativo, haverá apenas um armazenamento que gerencia o estado dos componentes. Esse armazenamento pode retransmitir qualquer estado para qualquer componente, tornando-o um modelo incrivelmente eficaz e eficiente.

O despachante é um programa especial que se comunica com um escalonador e leva um processo ao estado desejado.

Redux é uma estrutura?

Resumindo, não. Em vez de ser uma biblioteca ou estrutura tradicional, Redux é uma arquitetura de fluxo de dados de aplicativos. Para usar o Redux é recomendado que você trabalhe com o Kit de ferramentas Reduxmas os blocos de construção fundamentais do Redux são:

  • Ação
  • Redutores
  • Middleware
  • Loja

Uma estrutura de software é uma plataforma de desenvolvimento que pode incluir bibliotecas de código, um compilador e as ferramentas necessárias para construir aplicativos completos. Redux, por outro lado, é simplesmente uma biblioteca JavaScript com uma única tarefa: gerenciar estados em aplicativos JavaScript.

Portanto, em vez de construir aplicativos com Redux, você o usa para garantir que os estados do seu aplicativo JavaScript possam ser gerenciados.

O desenvolvimento Redux também é comumente usado com bibliotecas como React e Angular. Com essas combinações é possível desenvolver interfaces de usuário que dependem de um estado desejado.

E embora você possa escrever um aplicativo completo usando uma estrutura, quando esse aplicativo começar a se tornar cada vez mais complexo, usar uma estrutura para gerenciar a lista cada vez maior de componentes e estados desse aplicativo pode se tornar muito complicado, se não impossível.

Esse não é o caso do Redux.

Para que é usado o Redux?

Em termos de programação, você usaria Redux para aplicações onde os dados são compartilhados entre componentes. Por exemplo, você tem um aplicativo que usa um componente de login. Os dados do componente de login são compartilhados com o componente de status. A maioria dos aplicativos que usam Redux são aplicativos móveis (com exceções, é claro). Alguns exemplos de aplicativos que usam Redux são:

  • O depurador do Firefox.
  • Franklin: uma ferramenta de anotação de sequência de DNA.
  • Portfólio CMS: CMS baseado em Rails e ferramenta de blog.
  • GitHunt: Reddit para GitHub.
  • Datamaps: uma plataforma para visualizações de mapas.
  • Glsl Live Editor: um editor de shader WebGL.
  • Favesound: Um reprodutor Soundcloud.
  • Podbaby: um cliente de podcast web.
  • Gitchecker: exibe o status dos projetos GitHub.

Usos menos óbvios para Redux são:

  • Estado da IU
  • Dados do formulário
  • Dados da API
  • Persistir e reidratar automaticamente um estado

Mais impressionante, porém, é a lista de empresas que atualmente utilizam Redux. Essa lista inclui coisas como:

  • Instagram
  • Robinhood
  • Folga
  • Porta Dash
  • Patreon

Redux é Frontend ou Backend?

Antes de respondermos a essa pergunta, vamos definir frontend e backend em termos simples.

  • Frontend é a interface do usuário ou software cliente.
  • Back-end é o servidor.

Com isso resolvido, o Redux é usado para desenvolvimento front-end ou back-end? A resposta fácil é “ambos”. Redux pode ser usado para qualquer aplicativo que dê alta prioridade à capacidade de armazenar estados.

Deve ficar claro que o Redux pode ser usado para o lado do cliente (frontend) com interfaces de usuário. Porém, como Redux é apenas JavaScript, ele também pode ser usado no lado do servidor (backend). Isso pode parecer contra-intuitivo, considerando que o back-end tradicionalmente visa ser estatalmenos.

Um bom exemplo de uso do Redux no backend são jogos multijogador que rodam em um navegador e precisam armazenar seu estado no servidor para garantir que todos os jogadores tenham a mesma visão do jogo. Neste caso, o servidor detém o estado e é visto como a “única fonte da verdade”.

Redux é relevante?

Tem havido muitas postagens e comentários em blogs que indicam que o Redux está morto ou que outra ferramenta substituiu o Redux. Na verdade, Redux ainda é muito relevante. E com o pacote oficial do Redux Toolkit (que envolve o núcleo do Redux e fornece utilitários para simplificar uma série de casos de uso comuns do Redux), é mais fácil do que nunca empregar esta biblioteca JavaScript.

Se você gostou disso, não deixe de conferir nossos outros artigos sobre desenvolvimento web.

  • O que é Web Design Sustentável e por que isso é importante
  • O que é Web Design?
  • Por que sua empresa deveria usar sites personalizados
  • Por que você precisa adicionar um bot de suporte ao seu site
  • Por que você precisa se preocupar com os sinais vitais do seu site

Fonte: BairesDev

Conteúdo Relacionado

O Rails 8 sempre foi um divisor de águas...
A GenAI está transformando a força de trabalho com...
Entenda o papel fundamental dos testes unitários na validação...
Aprenda como os testes de carga garantem que seu...
Aprofunde-se nas funções complementares dos testes positivos e negativos...
Vídeos deep fake ao vivo cada vez mais sofisticados...
Entenda a metodologia por trás dos testes de estresse...
Descubra a imprevisibilidade dos testes ad hoc e seu...
A nomeação de Nacho De Marco para o Fast...
Aprenda como os processos baseados em IA aprimoram o...
A web está em constante evolução, e com ela,...
A Inteligência Artificial (IA) tem sido um tema cada...
Você já se sentiu frustrado com a complexidade de...
O OpenStack é uma plataforma de computação em nuvem...
Você já se sentiu frustrado com a criação de...
A era digital trouxe uma transformação profunda na forma...
Nos dias atuais, a presença digital é fundamental para...
Introdução Quando se trata de desenvolvimento de software, a...
Como desenvolvedor Dart, você provavelmente já se deparou com...
Powrót do blogu

Zostaw komentarz

Pamiętaj, że komentarze muszą zostać zatwierdzone przed ich opublikowaniem.