Upgrade to Pro — share decks privately, control downloads, hide ads and more …

React - Em busca da arquitetura ideal

React - Em busca da arquitetura ideal

React é uma ferramenta fantástica para criar componentes. Pelo fato da biblioteca dar muita liberdade ao desenvolvedor, com o amadurecimento da stack e aplicações cada vez mais complexas, o desafio é: Como organizar melhor o código?
O conteúdo da palestra será composto de exemplos de código próximos do mundo real, referências de artigos, diagramas para ilustrar camadas da codebase e code show.

More Decks by Milson Ramos de Carvalho Júnior

Other Decks in Programming

Transcript

  1. Frameworks e bibliotecas são somente ferramentas de trabalho e nada

    além disso; O objetivo não é dizer o que precisa ser feito; Aprender fundamentos é importante; Não existem soluções definitivas.
  2. Caso de uso Dumb and Container Components Recompose Inspiração na

    arquitetura do Elm O que funciona para nós
  3. Caso de uso Dumb and Container Components Recompose Inspiração na

    arquitetura do Elm O que funciona para nós
  4. Caso de uso Dumb and Container Components Recompose Inspiração na

    arquitetura do Elm O que funciona para nós
  5. Dumb • Stateless • Functional Component • Totalmente reutilizável •

    Funções puras e pequenas • Simplicidade • Não é possível trabalhar com lifecycle hooks e estado. • Não é possível controlar o update do componente.
  6. Container • Stateful • Class Component • É possível trabalhar

    com lifecycle hooks e estado. • É possível fazer gerenciar o update do componente via shouldComponentUpdate. • problemas desnecessários com this • dificuldade de reutilização de partes específicas do componente (lifecycle hooks, event handlers) • Containers cada vez maiores e monolíticos. • Estado é interno e não pode ser compartilhado
  7. Enhanced • Composable • Totalmente reutilizável • Funções puras e

    pequenas • É possível trabalhar com lifecycle hooks e estado. • É possível controlar o update do componente. • Funcional (sem this) • É possível reutilizar com facilidade partes específicas de um componente. • Modular. Cada HOC é responsável por algo específico. • Estado interno é fácil de ser reutilizado. • Curva de aprendizado um pouco maior
  8. Caso de uso Dumb and Container Components Recompose Inspiração na

    arquitetura do Elm O que funciona para nós
  9. Caso de uso Dumb and Container Components Recompose Inspiração na

    arquitetura do Elm O que funciona para nós
  10. Data - Lidar com estado global da aplicação - Lidar

    com fetch de dados ou camada de serviços - Mapeamento de dados
  11. Hooks - Define em qual momento do ciclo de vida

    do componente, métodos de controle devem ser executados. - Atualizar estado local
  12. PropsMapper - Filtrar as propriedades e traduzi-lás da melhor forma

    possível para o componente. - Concentrar expressões booleanas.
  13. Futuro: - React Context API - Bibliotecas para programação funcional

    - Vanilla Javascript - Curva de aprendizado.