image

Bootcamps ilimitados + curso de inglês para sempre

80
%OFF
Article image
Gabriel Ferreira
Gabriel Ferreira03/06/2024 19:21
Compartilhe
Microsoft Certification Challenge #3 DP-100Recomendados para vocêMicrosoft Certification Challenge #3 DP-100

Componentização com React/Vue/Angular: Comparação Prática

  • #Vue.js
  • #React
  • #Angular

Introdução aos Frameworks

React, Vue e Angular são os principais frameworks JavaScript para desenvolvimento front-end. Cada um tem sua abordagem única para a componentização, reusabilidade de código e gerenciamento de estado. Neste artigo, vamos comparar esses aspectos em cada framework, oferecendo uma visão clara para desenvolvedores iniciantes.

Componentização em React

React é conhecido por sua abordagem baseada em componentes. Componentes são blocos reutilizáveis que facilitam a criação de interfaces complexas. Em React, um componente pode ser uma função ou uma classe que retorna elementos JSX. Veja um exemplo simples de componente em React:

jsx

function Button(props) {
 return <button>{props.label}</button>;
}

Componentização em Vue

Vue também usa uma abordagem baseada em componentes. Em Vue, componentes são definidos em arquivos .vue, que incluem template, script e estilo. Isso promove uma organização modular e fácil de gerenciar. Aqui está um exemplo de componente em Vue:

vue
<template>
 <button>{{ label }}</button>
</template>

<script>
export default {
 props: ['label']
}
</script>

Componentização em Angular

Angular usa uma abordagem baseada em componentes, mas com uma estrutura mais robusta. Cada componente é composto por um template, uma classe TypeScript e um arquivo de estilo. Essa organização clara facilita a manutenção de grandes projetos. Veja um exemplo de componente em Angular:

typescript
import { Component, Input } from '@angular/core';

@Component({
 selector: 'app-button',
 template: '<button>{{ label }}</button>'
})
export class ButtonComponent {
 @Input() label: string;
}

Reusabilidade de Código

Todos os três frameworks promovem a reusabilidade de código através de componentes. Em React, componentes podem ser facilmente reutilizados em diferentes partes da aplicação. Em Vue, a estrutura de arquivos .vue permite encapsular lógica e estilo. Em Angular, a forte tipagem de TypeScript e os decoradores fornecem uma base sólida para reutilização e escalabilidade.

Gerenciamento de Estado

Gerenciar estado é crucial em aplicações modernas. React usa bibliotecas como Redux ou Context API para gerenciamento de estado. Em Vue, a ferramenta principal é o Vuex, que oferece um padrão centralizado para gerenciar o estado. Angular utiliza serviços e o RxJS para manipulação de estado de forma reativa.

Aqui está um exemplo de gerenciamento de estado simples com React Context API:

jsx

const CountContext = React.createContext();

function App() {
 const [count, setCount] = useState(0);

 return (
 <CountContext.Provider value={{ count, setCount }}>
   <Counter />
 </CountContext.Provider>
 );
}

function Counter() {
 const { count, setCount } = useContext(CountContext);
 return (
 <div>
   <p>{count}</p>
   <button onClick={() => setCount(count + 1)}>Increment</button>
 </div>
 );
}

Gerenciamento de Estado em Vue com Vuex

typescript
<!-- App.vue -->
<template>
 <div>
 <p>{{ count }}</p>
 <button @click="increment">Increment</button>
 </div>
</template>

<script>
import { mapState, mapMutations } from 'vuex';

export default {
 computed: {
 ...mapState(['count'])
 },
 methods: {
 ...mapMutations(['increment'])
 }
};
</script>

Gerenciamento de Estado em Angular com Serviços

typescript
<!-- app.component.html -->
<div>
 <p>{{ count | async }}</p>
 <button (click)="increment()">Increment</button>
</div>

// app.component.ts
import { Component } from '@angular/core';
import { CounterService } from './counter.service';

@Component({
 selector: 'app-root',
 templateUrl: './app.component.html'
})
export class AppComponent {
 count = this.counterService.count$;

 constructor(private counterService: CounterService) {}

 increment() {
 this.counterService.increment();
 }
}

Exemplos Práticos:

Vamos considerar uma aplicação simples de lista de tarefas. Em React, você criaria componentes como Task e TaskList, reutilizando-os conforme necessário. Em Vue, os mesmos componentes seriam definidos em arquivos .vue, mantendo a modularidade. Em Angular, a estrutura seria similar, mas com mais ênfase em serviços para lógica de negócios e manipulação de estado.

Conclusão

React, Vue e Angular são poderosos para a componentização, cada um com suas vantagens específicas. React é flexível e simples, ideal para projetos rápidos. Vue combina a simplicidade do React com uma estrutura mais organizada. Angular é robusto, perfeito para grandes aplicações empresariais. Escolher o framework certo depende das necessidades do seu projeto e da sua equipe.

Este conteúdo foi gerado por inteligência artifial, mas revisado por alguem 100% humano. Faz parte do Projeto artigo técnico gerado por I.A.s.
#Componentização #DesenvolvimentoWeb #JavaScriptFrameworks
Compartilhe
Recomendados para você
Decola Tech 2025
Desenvolvimento Frontend com Angular
Potência Tech Angular Developer -  Powered by iFood
Comentários (0)
Recomendados para vocêMicrosoft Certification Challenge #3 DP-100