A ascensão do desenvolvimento front-end: Uma visão geral do React, Vue e Angular

A ascensão do desenvolvimento front-end: Uma visão geral do React, Vue e Angular

#frontend

#javascript

#react

Por Rafael Estevam

Criado em 09/06/2024

Nos últimos anos, o desenvolvimento front-end tomou uma proporção enorme. Quem trabalhava, no passado, desenvolvendo sites e emails marketing (o que foi o meu caso), experimetou uma mudança radical no trabalho.

Hoje em dia, o front-end não está somente nos sites. Hoje, o front-end tem espaço em diversas aplicações como aplicativos mobile, sistemas web, além dos e-commerces e já mencionados sites e e-mails (fora coisas que eu devo ter esquecido). Com o surgimento de todas essas aplicabilidades do front-end, viu-se a necessidade de adotarmos padrões de desenvolvimento, que antes eram muito mais importantes no lado do backend, com o objetivo de padronizar o desenvolvimento front-end, já que essa especialidade tem crescido cada vez mais.

Paradigmas de desenvolvimento como POO (Programação orientada a objeto), conceitos como SOLID e tantos outros, foram introduzidos ao front-end com o passar do tempo e continuam sendo trazidos para o front-end com o passar do tempo.

Além disso, com a popularização do front-end, a cada dia surge uma nova biblioteca ou framework para facilitar o desenvolvimento. Toda essa diversidade descontrolada de ferramentas para o front, torna a escolha sobre o que estudar, para os iniciantes, muito mais complexa. Parece que a cada dia surge um novo framework em Javascript para usarmos (Farei uma lista de libs ou framework de Javascript para cada letra do alfabeto).

Toda essa evolução do front-end foi impulsionada pela necessidade de construir interfaces de usuários cada vez mais dinâmicas, modulares, performáticas, etc. E com o tempo, algumas dessas ferramentas ganharam bastante destaque, devido a sua criação/adoção por grandes empresas e a crescente comunidade de desenvolvedores que dão suporte e ajudam a sugerir/implementar/manter essas ferramentas em uso.

Portanto, nesse artigo, abordarei algumas das principais ferramentas de desenvolvimento front-end do mercado como React, Angular e Vue e sobre o que é o concento de desenvolvimento orientado a componentes, uma abordagem de desenvolvimento web onde essa 3 ferramentas se destacam.

Conceito de Desenvolvimento orientado a componentes

Antes de nos aprofundarmos nos detalhes de cada framework, é importante entender o que significa o desenvolvimento orientado a componentes. Em termos simples, o desenvolvimento orientado a componentes envolve a construção de interfaces de usuário divididas em partes reutilizáveis chamadas componentes. Cada componente é uma unidade isolada que encapsula a lógica e a apresentação relacionadas a uma parte específica da interface.

Ao adotar essa abordagem, os desenvolvedores podem criar interfaces complexas dividindo-as em componentes menores e mais gerenciáveis. Isso promove a reutilização de código, facilita a manutenção e permite um desenvolvimento mais rápido e escalável.

Com o conceito em mente, vamos aos frameworks (apesar de não haver um consenso em chama-los assim).

Screenshot_10.png

React (O lado azul da força)

React é um dos frameworks JavaScript mais populares para o desenvolvimento de interfaces de usuário. Desenvolvido pelo Facebook, o React é conhecido por sua abordagem declarativa e eficiente para a criação de componentes reutilizáveis.

No React, os componentes são definidos como funções ou classes JavaScript que retornam elementos React, que representam a interface de usuário. O React utiliza uma sintaxe chamada JSX, que permite misturar HTML com JavaScript, facilitando a criação de componentes de forma intuitiva.

Além disso, o React adota o conceito de "estado" para gerenciar a interação do usuário e as atualizações da interface. O estado de um componente pode ser alterado ao longo do tempo, resultando em uma re-renderização eficiente da interface para refletir essas mudanças.

Vue (O lado verde da força)

Vue é outro framework JavaScript popular que adota uma abordagem orientada a componentes para o desenvolvimento front-end. Desenvolvido por Evan You, Vue tem ganhado rapidamente uma base de usuários crescente devido à sua simplicidade e flexibilidade.

Assim como o React, o Vue permite a criação de componentes reutilizáveis que encapsulam a lógica e a apresentação da interface de usuário. No entanto, o Vue utiliza uma sintaxe baseada em HTML e JavaScript puro, o que pode tornar a curva de aprendizado mais suave para alguns desenvolvedores.

Uma das características distintivas do Vue é o seu sistema de reatividade, que permite que os componentes reajam dinamicamente às mudanças de estado. Isso é alcançado por meio de um mecanismo de detecção de mudanças eficiente que atualiza automaticamente a interface sempre que o estado de um componente é alterado.

Angular (O lado vermelho da força)

Angular é um framework desenvolvido e mantido pelo Google, projetado para construir aplicativos da web escaláveis e de alto desempenho. Embora compartilhe o mesmo objetivo de desenvolvimento orientado a componentes, Angular (para mim) tende a abordar a programação orientada a objeto de forma mais "intensa". Desenvolvedores back-end (com os que tive contato) tendem a achar o Angular mais amigável devido a essa abordagem.

No Angular, os componentes são definidos usando uma combinação de classes TypeScript, templates HTML e metadados decorativos. Angular também fornece uma ampla gama de recursos integrados, como injeção de dependência, roteamento, validação de formulários e comunicação com servidores, facilitando o desenvolvimento de aplicativos complexos.

Além disso, o Angular possui um sistema robusto de detecção de mudanças, que permite uma atualização eficiente da interface sempre que o estado de um componente é modificado. Isso é especialmente útil em aplicativos de grande escala, onde o desempenho é uma consideração crítica.

Qual é o melhor?

"Depende" é uma resposta bastante vaga, mesmo seja verdadeira, já que a escolha vai depender de vários fatores como compreensão do framework (que é o pricipal fator para mim), vagas no mercado de trabalho, demandas de algum projeto específico, entre outras variáveis. Então, existe espaço para experimentar cada uma das ferramentas e ver qual delas é a melhor. Tive a oportunidade de trabalhar com os 3 frameworks, embora eu não tenha tido a chance de explorar ainda mais as suas respectivas capacidades...

Então, no meu ponto de vista é o React, ponto.

Mesmo que o React possua suas qualidades e defeitos (como qualquer framework), sempre tive muita facilidade para compreender o React e a forma como ele se comporta. Ele se tornou bastante versátil com o passar dos anos e sua curva de aprendizado é muito pequena. Quase todas as experiências de trabalho que tive foram com o React, o que mostra o quão poderoso esse framework é. Inclusive, este blog é feito com React e Next.JS.

Antes de sair correndo para aprender qualquer um desse frameworks, aprenda Javascript. Nada disso existira sem ele.

Uma breve experiência...

Quando comecei a trabalhar como desenvolvedor front-end (oficialmente em 2017), comecei trabalhando com AngularJS (ele é bem diferente do que conhecemos hoje). Acredito que ele tenha sido o primeiro framework de desenvolvimento front-end que trouxe o conceito de SPA (Single page application). Esse framework era bem confuso e difícil de se trabalhar, mas sendo o primeiro, era compreensivo essa dificuldade.

Lembro que ele tinha um problema tremendo de performance, ainda mais quando tinhamos muitos dados para serem exibidos em tela. Gerenciar todos os dados era um desafio tremento, fora a dificuldade em trabalhar com "diretivas" do AngulaJS. Era horroroso. Desde então, tenho uma certa "antipatia" pelo Angular, mas quero desenvolver algo com esse framework, até para compreendê-lo melhor.

Conclusão

A ascensão do desenvolvimento front-end orientado a componentes trouxe uma nova era de construção de interfaces de usuário dinâmicas e escaláveis. React, Vue e Angular são três frameworks proeminentes que têm impulsionado essa transformação, cada um com suas próprias vantagens e características distintivas.

Seja você um desenvolvedor que prefere a simplicidade do Vue, a eficiência do React ou a abordagem abrangente do Angular, todos esses frameworks oferecem ferramentas poderosas para criar interfaces de usuário modernas e interativas. A escolha entre eles dependerá das necessidades específicas do projeto e das preferências individuais do desenvolvedor. No entanto, independentemente do framework escolhido, o desenvolvimento orientado a componentes continuará a desempenhar um papel central na construção do futuro da web.

Compartilhar em:

Linkedin
Política de privacidade

Feito em: Next, Tailwind CSS, GraphQL