Angular

Framework name: Angular
Presentation: canva

Student List

  • Jefferson Eduardo Muniz Bueno - 11275255
  • Luísa Souza Moura - 10692179
  • Leonardo Perassoli - 10376026

Main Framework Features
  O que é Angular?
  • framework open source mantido pelo Google
  • usado principalmente para desenvolver single page applications
  • alta escalabilidade
  • dispõe de ferramentas para desenvolver, testar e dar manutenção no código
  • baseado em Typescript
  Primórdios - AngularJS
  • Desenvolvido em 2009
  • Javascript
  • Segue o padrão MVC de arquitetura de software: divide a arquitetura do software em três partes tornando a aplicação mais leve, organizada e de fácil manutenção e focado no reuso de código
  • Objetivos: abstrai a manipulação do DOM e considera testes do código tão importantes quanto o desenvolvimento
  Features
    Framework de teste:
  • É usado o framework Jasmine para criar testes unitários para o código
  • Aumenta a confiança no código e diminui a chance de problemas em produção
    Angular Command Line Interface:
  • Disponibiliza comandos que auxiliam e agiliza a configuração e execução do código
  • Pode executar a aplicação, rodar testes unitários ou E2E e checar boas práticas
    Data Binding:
  • One way/Two way
  • Maneira simples para alterar o DOM
    Progressive Web Application:
  • Possui ferramentas para o desenvolvimento de PWA
  • Torna a página muito responsiva e executável em qualquer dispositivo
Framework Advantages
  • A obrigatoriedade do uso de Typescript torna as aplicações muito mais seguras, legíveis e organizadas.
  • Apresenta a maior variedade de recursos nativos, além de suporte a diversas bibliotecas oficiais para Routing, Server-side Rendering, Animações, etc.
  • Por ser voltado ao mundo corporativo e à escassez de funcionários capacitados em Angular, tem a maior variedade de oportunidades no mercado de trabalho.
  • Por ser opinionated, "opinando" em como o projeto é estruturado, dá aos desenvolvedores padrões, tornando projetos mais organizados e com estruturas mais previsíveis e legíveis.
Framework Disadvantages
  • Dentre os principais frameworks do mercado, o Angular apresenta a menor comunidade atualmente, além de ser o mais temido e o menos amado, como constatou a pesquisa de popularidade do StackOverflow de 2022, que pode ser visualizada aqui.
  • Comunidade descentralizada. após o lançamento do Angular em 2016, substituindo o antigo Angular.js, muitos desenvolvedores e empresas não migraram para a nova versão, o que causou uma divisão da comunidade e das vagas de trabalho.
  • Pelo fato de ser mais complexo e extenso que os outros Frameworks populares, tem uma curva de aprendizado muito acentuada.
  • Muito mais pesado que frameworks como React e Vue, devido principalmente ao fato de a maior parte de suas funções estarem ligadas diretamente ao framework, ao invés de serem importadas sob demanda
Main Application Niches
Esse framework é amplamente utilizado em ambientes corporativos, nos quais é necessário que existam soluções completas, consistentes e de fácil manutenção. Por oferecer todas essas vantagens, Angular têm crescido cada vez mais no mercado, com o aumento das empresas e soluções que a utilizam, além do aumento da oferta de vagas que requisitam esse conhecimento.
Além disso, Angular é muito utilizado em aplicações dinâmicas, nas quais o conteúdo é exibido de acordo com a navegação do usuário, por exemplo chats e redes sociais.
Por fim, outra aplicação muito direta de Angular é com as SPAs (Single Page Applications), que são aplicações web ou mobile construídas em uma única página, na qual a interação e navegação entre as sessões de uma página ocorrem de maneira a qual não é necessário recarregar a página em cada mudança.

Future Perspectives
De acordo com posts feitos pela equipe do Angular (encontrados aqui e aqui), as principais mudanças e perspectivas para o futuro do Framework estão relacionadas com comunidade, parcerias, documentação, e em partes técnicas voltadas para a sua melhoria e simplificação.
  • Jornada do usuário: um dos maiores temas para o futuro próximo do Angular é a melhoria e simplificação da jornada do usuário. Isso está acontecendo e irá continuar por meio da melhoria dos conceitos e implementações do Framework, e também por meio do crescimento da comunidade e facilitação dos passos iniciais no aprendizado.
  • Parcerias: a fim de fazer parte do desenvolvimento de uma web mais rápida e acessível, Angular está fazendo diversas parcerias e uma delas foi com o Project Aurora, a fim de melhorar as ferramentas utilizadas para desenvolvimento. Com isso, esperam-se melhorias no server-side rendering por meio do uso de hydration, novas checagens de erro e diagnósticos, novos guias de navegação, dentre outros.
  • Standalone components: novos tipos de componentes que simplificam o Framework. Além da facilitação no entendimento de conceitos, com esses componentes não é necessário utilizar o módulo NgModule.
  • Documentação e comunidade: há um grande investimento nessas frentes, para que novos desenvolvedores consigam iniciar a jornada de forma fácil e para que haja uma contribuição cada vez maior.
  • Typed Forms: nova feature do Framework. Substituição dos forms genéricos e com difícil tratamento de tipos por forms que já tem nativamente a possibilidade de lidar com tipos.

As perspectivas para o futuro do Angulas são otimistas e envolvem, em grande parte o ciclo de melhorias para que haja um desenvolvimento de comunidade e ao mesmo tempo uma grande comunidade que já contribui para tais melhorias.