Unifie by Typeless

Unifie by Typeless

Typeless · Programação

O Unifie by Typeless é um kit gratuito de TypeScript para apps React que reúne criadores de ações, reducers e epics de RxJS em uma única ferramenta para desenvolvedores.

Prévia da interface de Unifie by Typeless

Sobre Unifie by Typeless

O que é o Unifie by Typeless

O Unifie by Typeless é um kit de desenvolvimento para equipes que criam apps React em TypeScript. Em vez de juntar meia dúzia de bibliotecas pequenas, você tem ações, reducers e tratamento de efeitos colaterais em um pacote só. O projeto se apoia na biblioteca typeless, que combina TypeScript com hooks do React e RxJS.

Essa mistura importa se você já caçou um bug causado por uma string de tipo de ação perdida ou por um reducer que recebeu o payload errado. O Unifie conta com a inferência do TypeScript, então o compilador deduz quase todos os tipos a partir do seu estado inicial. Você escreve bem menos anotações. As incompatibilidades aparecem na compilação, não em produção. Uma troca justa para a maioria das equipes. Então, quem deveria considerar essa ferramenta?

Há um detalhe que vale saber de antemão. O sistema de tipos do TypeScript faz aqui o trabalho pesado. Em bases de código grandes, o editor pode ficar lento enquanto calcula os tipos inferidos por toda a sua camada de estado. O mesmo projeto que elimina código repetitivo também pressiona suas ferramentas. Se você mantém um app de porte médio ou grande, prepare-se para ajustar a configuração. Caso contrário, vai sentir lentidão ao salvar um arquivo.

Como começar

  1. Instale a biblioteca e suas dependências peer, React 16.8 ou superior e RxJS 6, com npm ou yarn.
  2. Envolva a raiz do app no DefaultTypelessProvider para que os módulos registrem seu estado e seus efeitos colaterais.
  3. Crie um módulo para cada recurso, dividido em um arquivo de símbolo, um arquivo de interface para as definições de ações e um arquivo de módulo que guarda o reducer e o epic.
  4. Carregue o reducer e o epic dentro do componente de entrada do recurso chamando o hook do módulo, e então despache ações a partir dos seus componentes.

Informações do produto

Uma visão rápida dos preços, das plataformas compatíveis e do desempenho de Unifie by Typeless.

Plano gratuitoSim
Planos pagos$0
PlataformaWeb (React apps)
DesenvolvedorTypeless
CategoriaProgramação
Data de lançamentoJun 2019
Última atualizaçãoSep 2020
Visitas ao site1.1K
Ranking global do site13.8M
Disponibilidade da APISim

Ideal para

Os usuários, tarefas e cenários em que esta ferramenta se encaixa melhor.

Usuários

  • Desenvolvedores React que trabalham em TypeScript e querem tipos inferidos em vez de escritos à mão por toda a camada de estado
  • Equipes de front-end que mantêm um app grande e estão cansadas de strings de tipo de ação espalhadas
  • Engenheiros que já dominam RxJS e querem tratar efeitos colaterais na mesma ferramenta

Tarefas

  • Gerenciar o estado compartilhado de um app entre muitos componentes sem um único arquivo de store inchado
  • Tratar efeitos colaterais assíncronos como carregamento de dados por meio de epics que reagem às ações despachadas
  • Dividir reducers e epics por recurso para que cada um carregue só quando seu componente é montado

Cenários

  • Projetos React novos nos quais você controla o stack desde o primeiro dia e pode apostar no TypeScript
  • Migrar um app em crescimento das bibliotecas de estado improvisadas para uma abordagem tipada
  • Equipes que já usam hooks do React e querem o mesmo estilo de hook para o estado e as ações

Principais recursos

Tipos inferidos com poucas anotações

O kit lê o formato do seu estado a partir do valor inicial que você fornece e infere dali os tipos de ações, reducers e epics. Raramente você escreve definições de interface à mão. Na prática, um desenvolvedor muda um campo do estado e o compilador aponta cada ponto que quebra, o que reduz as suposições na refatoração.

Criadores de ações e reducers em um só módulo

Cada recurso tem seu próprio módulo que declara ações e as combina com a lógica do reducer em um único lugar. Não há um arquivo central de reducers para manter enquanto o app cresce. As ações carregam payloads tipados, então um reducer sabe exatamente quais dados recebe sem verificações extras.

Epics de RxJS para efeitos colaterais

Os efeitos colaterais rodam por meio de epics construídos sobre RxJS. Um epic escuta uma ação específica e devolve uma nova, o que facilita raciocinar sobre fluxos assíncronos como requisições de rede. Se você nunca usou RxJS, essa parte tem curva de aprendizado. Os desenvolvedores que já usaram dizem que encaixa de forma natural.

Carregamento sob demanda e divisão de código

Reducers e epics carregam quando um componente React é montado, não na inicialização. Isso significa que a divisão de código funciona desde o começo, e a lógica de estado de um recurso viaja só quando alguém o abre. A documentação destaca que não existe um único arquivo de epics puxando tudo para o bundle inicial.

Suporte a substituição de módulo em tempo real

A lógica de estado recarrega no lugar durante o desenvolvimento sem atualizar a página inteira, e os símbolos ficam em arquivos próprios para que o HMR siga funcionando enquanto você edita. É um detalhe pequeno que economiza muitos cliques quando você itera sobre um reducer.

Integração com hooks do React

Os componentes chamam hooks para ler o estado e despachar ações, igual ao estilo que a maioria dos desenvolvedores React usa hoje. Você pula a ligação antiga baseada em connect. As ações chegam pelo mesmo padrão de hook, então o código do componente fica curto.

Prós e contras

Prós

  • Os tipos fluem do seu estado inicial, então você escreve menos anotações e pega erros na compilação
  • Ações, reducers e epics ficam em uma só ferramenta em vez de várias bibliotecas mal unidas
  • Módulos por recurso e carregamento sob demanda mantêm o bundle inicial enxuto
  • Gratuito e de código aberto sob licença MIT, sem nenhum plano pago

Contras

  • A inferência de tipos pesada pode deixar seu editor lento em bases de código grandes, então talvez você precise ajustar configurações
  • Os epics de RxJS adicionam curva de aprendizado para quem nunca trabalhou com fluxos reativos
  • A estrutura de módulos explícita, um arquivo de símbolo, interface e módulo por recurso, parece sobrecarga em apps pequenos
  • A documentação e a comunidade são pequenas se comparadas às bibliotecas de estado mais populares, então resolver problemas depende do código-fonte

Perguntas frequentes

É um kit para gerenciamento de estado e efeitos colaterais do React em apps escritos em TypeScript. Você o usa para definir ações, reducers e fluxos assíncronos por meio de epics sem montar várias bibliotecas separadas.