Angular, React, Vue and Others
Students will work in groups to create a Wiki comparing major client-side JavaScript frameworks: Angular, React, Vue and Others. If you did not work before with Moodle Wikis, see this small video (3:36 min.) on the Wiki activity page.
React
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
- 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