React

Tabla de contenidos

1. React [Editar]

https://docs.google.com/presentation/d/1S-J8fLkTXnZg5YfC7wpffWTpdEgjHp5mLCkGuf0RvS0/edit#slide=id.p


React [Editar]


Integrantes:
Gabriel Barbosa de Oliveira 12543415
Gustavo Bhering Grande 12542780
Jhonathan Oliveira Alves 11838116
Rafael de Almeida 11872028


Editor: Rafael
Coordenador: Gustavo

Pontos principais:
  • Paradigma declarativo: maior velocidade de desenvolvimento e legibilidade
  • Baseado em components: separa a UI em peças independentes e reusáveis, possibilitando pensar nelas de maneira isolada.
    • Funcional: Mais moderno e simples, funcionalidades adicionais obtidas por hooks
    • Classe: Mais código, parecido com o funcional, robustez maior
    • Props: Parâmetros passados de um componente pai para um filho, ao ser alterado renderiza novamente
    • States: Variável que ao ser alterada é renderizada novamente, modificada atráves de uma função
    • Hooks: Adiciona funcionalidades aos components funcionais, ex: "useState", "useEffect", "useNavigate" e "useLocation"
  • Interface roda no cliente: o código da interface é rodado no navegador, poupando processamento desnecessário do servidor para construir a interface
  • JSX: Extensão do javascript para react, permite a mistura de html e javascript, elementos podem ser atribuídos a variáveis
  • DOM virtual: Utiliza um DOM virtual mantido em memória, só atualiza o DOM real caso for necessário, mais rápido.
  • Typescript: Javascript com tipagem, facilita o desenvolvimento de projetos grandes e previne erros

4. Framework Advantages
  • Facilidade de aprendizado: Curva de aprendizado suave, volume grande de conteúdos disponíveis, muitos pacotes prontos disponíveis.
  • Pacotes feitos pela comunidade: Muitos pacotes feitos pela comunidade com muitas funcionalidades extras(mais de 200 mil)
  • Web e mobile: React native permite escrever aplicativos, dessa forma apenas aprendendo react já permite programar tanto em web quanto em mobile.

5. Framework Disadvantages
  • Ritmo acelerado de crescimento: Dificulta a adaptabilidade dos programadores.
  • Documentação pobre: consequência do crescimento acelerado, deixa a desejar e tem menos detalhes
  • Meta: Decisões do projeto são auditadas pela "Meta"
  • Performance levemente mais lenta que o VUE.js: Obtida através de testes com vários frameworks

6. Main Application Niches
  • Aplicações rápidas e escaláveis: Várias empresas utilizam
    • Facebook
    • Instagram
    • Netflix
    • Dropbox
  • Mobile: também é utilizado em aplicações mobile

7. Future Perspectives
  • Framework mais utilizado
  • Atualizações para melhor estabilidade e arquitetura
  • Atualizações sem comprometer projetos existentes