Ir para o conteúdo principal

Qual estrutura é melhor? 2021

Existem três estruturas para a construção de propósitos de rede sobre os quais cada desenvolvedor de front-end já ouviu falar: Reagir, Vue.jse Angular.

React é uma biblioteca de IU, Angular é uma estrutura de front-end totalmente desenvolvida, enquanto Vue.js é uma estrutura progressiva.

Eles podem ser usados ​​virtualmente de forma intercambiável para construir finalidades front-end, porém eles não são 100% idênticos, então é inteligente verificá-los e perceber suas variações.

Cada estrutura é baseada em componentes e permite a criação rápida de opções de IU.

No entanto, todos eles têm uma construção e estrutura únicas - então, primeiro, veremos suas variações arquitetônicas para compreender a filosofia por trás deles.

Arquitetura

Reagir

O React não implementa uma construção de desafio selecionada, e como você pode ver no exemplo oficial “Hello World” abaixo, você pode começar a utilizar o React com apenas alguns traços de código.

ReactDOM.render ( Olá Mundo! , doc.getElementById ('root'));

O React pode ser utilizado como uma biblioteca de IU para renderizar partes, sem impor uma construção de desafio selecionada, e é por isso que não é estritamente um framework.

Elementos de reação são os menores blocos de construção de aplicativos React. Eles são mais altamente eficazes do que as partes DOM porque o React DOM torna positivo para substituí-los a qualquer momento quando alguma coisa muda.

componentes são blocos de construção maiores que descrevem itens imparciais e reutilizáveis ​​para uso durante toda a aplicação. Eles se contentam com insumos conhecidos como adereços e produzem peças que podem ser exibidas ao consumidor.

React depende de JavaScript, no entanto, é amplamente misturado com Jsx (JavaScript XML), uma extensão de sintaxe que permite criar partes que incluem HTML e JavaScript ao mesmo tempo.

Qualquer coisa que você criar com JSX pode ser criada com a API React JavaScript, no entanto, a maioria dos construtores favorece JSX por ser extremamente intuitivo.

vista

A biblioteca principal do Vue.js concentra-se apenas na camada de Visualização. É conhecido como uma estrutura progressiva, porque você pode prolongar seu desempenho com pacotes oficiais e de terceiros, equivalentes a Vue Router or Vuex, para mostrá-lo em uma estrutura precisa.

Embora o Vue não esteja estritamente relacionado ao exemplo MVVM (Model-View-ViewModel), seu design ficou parcialmente impressionado por ele. Com o Vue, você trabalhará totalmente na camada ViewModel, para ter certeza de que as informações de aplicação são processadas em um método que permite ao framework renderizar uma View atualizada.

Vue's sintaxe de modelagem ajuda a criar partes de visualização e combina HTML familiarizado com diretivas e opções específicas. Essa sintaxe de modelo é mais popular, apesar do fato de que JavaScript e JSX não cozinhados também são suportados.

componentes in Vue são pequenos, independentes e serão reutilizados durante toda a aplicação. Componentes de arquivo único (SFCs) com o .vue extensão inclui HTML, CSS e JavaScript para que cada código relacionado resida em um único arquivo.

SFCs são o método realmente útil para organizar o código em tarefas Vue.js, particularmente as maiores. Ferramentas equivalentes a Webpack ou Browserify são necessárias para transpilar SFCs em código JavaScript funcional.

Angular

Neste texto, estou discutindo o Angular 2, e nunca o modelo principal da estrutura que agora é frequentemente chamada de AngularJS.

AngularJS, a estrutura única, é uma estrutura MVC (Model-View-Controller)). Mas em Angular 2, não há afiliação estrita com os padrões MV *, pois geralmente é baseado em componentes.

Projetos em Angular são estruturados em Módulos, componentese Serviços. Cada utilitário Angular tem pelo menos um elemento raiz e um módulo raiz.

Cada elemento em Angular incorpora um Template, uma Classe que define a lógica de aplicação e MetaData (Decoradores). Os metadados de um elemento informam ao Angular o local para buscar os blocos de construção que ele deve criar e atualizar sua visualização.

Os modelos angulares são escritos em HTML, mas podem incorporar Sintaxe de modelo angular com diretivas específicas para produzir informações reativas e processar uma série de partes, entre diferentes questões.

Os serviços no Angular são utilizados pelos componentes para delegar funções de lógica de negócios equivalentes a buscar informações ou validar enter. Eles são uma parte definitiva dos propósitos angulares. Embora o Angular não implemente seu uso, é extremamente recomendado para aplicativos de construção como um conjunto de empresas distintas que podem ser reutilizadas.

Angular é TypeScript embutido, então seu uso é realmente útil para obter essencialmente o conhecimento mais perfeito; entretanto, JavaScript simples também pode ser suportado.

Popularidade

Reagir

React é sem dúvida uma das tarefas mais quentes do JavaScript com 160 estrelas no GitHub. É desenvolvido e mantido pelo Facebook e é usado internamente em muitas de suas tarefas. Além disso, ele alimenta mais de 2 milhões de sites, em linha com Construído comestatísticas de utilização de.

vista

Dos três frameworks, Vue tem essencialmente mais estrelas no GitHub, com 176k estrelas. O desafio é desenvolvido e liderado pelo ex-googler Evan You. É um desafio realmente robusto e imparcial dentro do grupo de código aberto e é utilizado por mais de 1 milhão de sites, de acordo com Construído com.

Angular

Angular é desenvolvido pelo Google, mas surpreendentemente não é usado em alguns de seus produtos principais como Search ou Youtube. É geralmente utilizado em tarefas corporativas e alimenta mais de 97,000 sites baseados principalmente em Construído cominformações de.

É o menos estrelado entre os muitos três frameworks, com 68k estrelas no GitHub. No entanto, ao mudar de Angular 1 para Angular 2, eles criaram um repositório completamente novo como uma alternativa de AngularJS desafio, que adicionalmente tem 59k estrelas.

Ecossistema

Os pacotes de código aberto evitam o tempo precioso ao criar objetivos. Não apenas isso, mas eles são geralmente maiores do que peças e pacotes feitos sob medida, porque eles são testados em batalha.

É vital dar uma olhada no fornecimento de peças, temas e diferentes instrumentos prontos para usar que podem mostrar a você como criar novas opções de maneira mais simples.

Reagir

Muitos propósitos de front-end dependem da administração do estado mundial para os dados do varejista, equivalentes a quem está conectado e a diferentes configurações do consumidor.

O maior desafio para a administração de estado JavaScript é Redux. A maioria dos construtores usa o ligações oficiais do React para Redux, que são mantidos pelo grupo Redux.

Por causa da reputação do React, descobrir peças de entrada e peças prontas para uso é extraordinariamente simples. Eles são todos apenas uma pesquisa do Google ou GitHub de distância.

O ecossistema React contém adicionalmente Reagir Nativo que permite construir propósitos nativos de iOS e Android a partir de uma única base de código escrita em React. Portanto, React geralmente é uma boa alternativa para a construção de propósitos celulares, utilizando também ciências aplicadas na Internet.

React é uma parte da pilha MERN, que incorpora MongoDB, ExpressJS, React e NodeJS. A coisa maravilhosa sobre essa mistura é que uma única linguagem - JavaScript - capacita todo o utilitário.

vista

Mesmo que Redux possa ser utilizado no Vue, não existem ligações oficiais. Mas isso não deve temer você como resultado de Vuex é a biblioteca oficial da administração do estado feita especialmente para propósitos Vue. Além da integração muito eficaz com o Vue, é simples depurar utilizando os instrumentos de desenvolvedor do Vue.

Nos primeiros dias do Vue, era mais difícil procurar peças prontas para usar. Como o grupo cresceu, há uma variedade de peças de entrada e peças superiores que você deve usar para acelerar seu aprimoramento.

Para a melhoria de aplicativos para celular, há um desafio crescente conhecido como Weex. O Weex é desenvolvido e utilizado pela Alibaba, no entanto não é tão maduro e altamente eficaz quanto o React Native. O que é extra, como o desafio é desenvolvido e usado extra na China, é mais difícil buscar documentação e opções de pontos em inglês.

O Vue se integra efetivamente ao Laravel, e é por isso que eles geralmente são usados ​​coletivamente. Laravel apresenta full Estrutura de JavaScript e CSS para permitir o uso do Vue em novas tarefas.

Angular

Para administração estadual em Angular, você deve usar o NgRx desafio. Ele ficou impressionado com Redux, mas foi especialmente criado para Angular.

Como no caso do Vue e do React, existem várias peças prontas para usar que você pode importar para suas tarefas. O que é totalmente diferente no Angular é que existem várias partes oficiais dentro do Material Angular desafio. Este é um desafio oficial do Google que fornece peças de design de material para fins angulares.

Você pode construir fins celulares de plataforma cruzada no Angular utilizando NativeScript. Ajuda a Vue de forma igualmente eficaz, mas a ajuda Angular é mais madura.

Angular é uma parte da conhecida pilha MEAN que mistura Angular com MongoDB, ExpressJS e NodeJS. Semelhante à pilha MERN, depende totalmente do JavaScript para cada front-end e back-end.

Tecnologias Comuns

Angular, React e Vue podem ser usados ​​para desenvolver Progressive Web Apps, também conhecidos como PWAs.

Os PWAs não devem ser usados ​​para celular, mas para fins de rede que os clientes de smartphones podem adicionar como atalhos para a tela de sua casa e fornecer uma aparência semelhante a aplicativos celulares nativos.

Você pode descobrir modelos premium e finalidades predefinidas para cada estrutura, no entanto, Angular e React têm opções premium extras acessíveis do que Vue.

atuação

Ao selecionar uma estrutura ou biblioteca, você deve levar em consideração a eficiência da mesma forma.

Em muitos casos, você não precisa se preocupar com a eficiência, especialmente se estiver criando um pequeno desafio. No entanto, quanto mais um desafio cresce em escopo e complexidade, a eficiência pode (e pode) se tornar uma prioridade.

É importante notar que o padrão de melhoria e seguir as melhores práticas em relação à eficiência líquida é mais vital do que a seleção da estrutura.

Mas, uma vez que existem algumas variações e métricas de eficiência, vou analisá-las e esclarecer como cada uma pode ter um efeito em seus esforços de melhoria.

Benchmark do JS Framework: Angular vs. React vs. Vue

Os resultados do JS Framework Benchmark apresentar que todos eles executam com bastante eficácia na maioria dos benchmarks, o que equivale a criar ou acrescentar linhas em uma mesa.

JS Benchmark

Como você pode ver acima, o Vue é significativamente mais lento do que o Angular e o React na escolha das linhas. Por outro lado, Angular e React não devem ser muito amigáveis ​​ao meio ambiente na troca de linhas.

Estas são as variações substanciais em benchmarks de renderização - e normalmente, não produzem resultados perceptíveis. Como escolher as linhas é um desempenho mais difundido do que trocar as linhas, eu diria que este benchmark coloca Vue em terceiro lugar atrás de Angular e React que compartilham o lugar mais alto.

Quando envolve reminiscência e tempo de inicialização, React e Vue avaliam de forma muito eficaz, porém Angular é um pouco mais lento. O Angular pode levar 150 ms além de um script fundamental e requer reminiscência extra para ser executado.

Perf Track: Angular vs React vs Vue

Perf Track da Google Chrome Labs exibe informações de fabricação de milhares de sites da Internet. Essas estatísticas são afetadas por muitos problemas diferentes e nunca apenas pela estrutura alternativa, no entanto, vamos dar uma olhada nos números.

Perf Track

Primeira pintura com conteúdo

Os sites Vue e React têm uma classificação maior para essa métrica em comparação com o Angular, que pode levar mais tempo além do material de conteúdo atual para o consumidor.

A maior pintura com conteúdo

O Angular também é o mais lento entre os três frameworks para renderizar uma página inteira, com apenas 27% dos sites Angular com pontuação dentro da faixa aceitável.

Primeiro Atraso de Entrada

Para todas as três estruturas, mais de 80% dos sites estão dentro da variação aceitável para o atraso de entrada principal, que mostra o quanto leva até que o usuário possa trabalhar com a página da web.

Bytes de JavaScript

Os propósitos mais leves são de longe aqueles desenvolvidos com Vue, com 68 pc de aplicativos Vue carregando menos de 1 MB de JavaScript. Por outro lado, as finalidades Angular e React tendem a ter uma medida de código maior.

Como usar essas métricas

Você pode ver um padrão nessas figuras, mas não deve ser muito rápido para tirar conclusões. Para a determinação final, por exemplo, uma prova pode muito bem ser que Vue é usado para desenvolver propósitos de peso extra leve enquanto Angular é usado para tarefas maiores.

As estatísticas podem ajudá-lo a fazer uma escolha excelente, mas você não pode usá-las para mostrar que um framework é mais rápido ou superior que o oposto.

Recursos avançados

Para propósitos extra superiores, a estrutura de front-end em uso deve ter a capacidade de realizar algumas tarefas que aumentam a eficiência e podem escalar mais alto.

Duas ciências aplicadas que podem ser fundamentais são a renderização do lado do servidor (SSR) e a virtualização.

Reagir

React ajuda a renderizar do lado do servidor com o oficial ReactDOMServer agrupar. Para virtualização, você deve usar um dispositivo de terceiros conhecido como React Virtualizado.

vista

A renderização do lado do servidor é suportada no Vue tão efetivamente com o oficial Pacote SSR. Além disso, você também pode usar o Nuxt.js estrutura que é construída no alto do Vue e ajuda SSR.

As opções de virtualização no Vue não devem ser tão robustas, infelizmente. Na minha opinião, Vue Virtual Scroll List é a melhor resolução para rolagem digital; no entanto, é um pouco problemática e nunca tão estável devido às opções para React e Angular.

Angular

Angular tem o oficial Angular Universal pacote para SSR e um componente oficial para rolagem digital e renderização ecológica de listas enormes.

Curva de aprendizado

É simples estudar cada uma dessas estruturas?

Para responder a essa pergunta, temos que dar uma olhada na complexidade de cada estrutura e nas ideias que elas apresentam.

Reagir

Em seu caso de uso mais simples, React é o menos complicado dos três frameworks. Isso porque você apenas deve importar a biblioteca, então pode começar a escrever seu utilitário React com alguns traços de código.

Mas, além da instância Hello World, a maioria dos propósitos do React são baseados em componentes e não simplesmente renderizam algumas partes na página da web.

Um fator que alguns construtores descobrem estranho ou problemático no React é a verdade de que estudar JSX é uma estrada de mão única. Você pode usar JavaScript não cozido com a mesma eficácia, no entanto, como a maioria dos construtores do React usa JSX, estudá-lo é quase inevitável.

Este é o principal fator que pode tornar a curva de estudo do React um pouco mais íngreme; no entanto, além disso, é uma biblioteca simples de estudar para construtores que conhecem JavaScript e percebem ideias de melhoria em rede.

vista

Vue é um pouco mais complicado de organizar do que React. Você pode usá-lo como uma biblioteca para delinear as partes que você deve usar em todo o seu HTML - no entanto, assim como o React, não é assim que a maioria das tarefas é construída.

A maioria das tarefas Vue pode ter um elemento raiz chamado App.vue e um monte de peças infantis para exibir problemas variados.

Quando envolve sintaxe, um novo fator que você precisa estudar é a sintaxe do modelo do Vue, que pode ser muito simples de entender se você entender o HTML. Diretivas básicas, equivalentes a v-if e v-for para renderização condicional e renderização de listagem, são simples de entender, mesmo para iniciantes.

Além disso, as partes de arquivo único do Vue preservam todo o código de front-end em um único lugar, tornando simples preparar novas tarefas.

O Vue é o mais simples de estudar, na minha opinião, devido à sua simplicidade e sintaxe intuitiva.

Angular

O Angular tem essencialmente a construção de desafio mais complicada dos três e, como é uma estrutura de front-end totalmente desenvolvida, depende de ideias extras.

Além de peças, a Angular auxilia módulos e empresas. Ele espera que você escreva e projete sua base de código em um método selecionado que torne seu desafio mais fácil de manter quando for escalonado.

Quanto à sintaxe, como o Angular funciona melhor com o TypeScript, é vital que você realize o TypeScript ao construir um desafio Angular.

Da mesma forma que com o Vue, você precisa se familiarizar adicionalmente com a sintaxe semelhante a HTML com a intenção de começar a codificar novas opções de IU com o Angular.

Na minha opinião, o Angular é o mais difícil de estudar para o desenvolvedor típico, porque é extremamente complicado e depende do TypeScript.

Previsões futuras

Muitas tarefas e estruturas de código aberto caem no esquecimento e crescem para não receber manutenção. Você deveria se assustar com qualquer uma das estruturas que estamos discutindo aqui?

Embora não possamos prever totalmente o que ocorre, o trabalho de melhoria contínua é um indicador eficaz do bem-estar dessas tarefas. Popularidade e progresso também são métricas vitais para prever a longevidade de um desafio, então vamos verificar cada estrutura.

Reagir

React v17.0 foi lançado, embora surpreendentemente, não incorpora nenhuma opção nova para os construtores.

A principal mudança é que este novo modelo torna mais simples melhorar o próprio React. Você pode melhorar apenas alguns elementos do React do modelo mais antigo para o mais novo, sem ter que melhorar todo o desafio.

Se o seu utilitário depende de opções que mudam ou se tornam obsoletas com o novo modelo, você pode preservar o modelo anterior para manter seu desempenho vivo. Essa substituição torna o React uma incrível alternativa de longo prazo, pois torna mais fácil se manter atualizado com novas variações.

React cresceu 44% desde os últimos 12 meses em downloads npm semanais. Em números absolutos, é essencialmente a mais baixada das três tarefas.

vista

Vue 3 foi lançado em setembro de 2020, e aborda muitos pontos críticos que Vue 2 tem em tarefas gigantescas. Ele apresenta o API de composição que está impressionado com Ganchos de reação e torna mais simples reutilizar a lógica em todas as partes.

Todo o desafio foi reescrito em TypeScript, o que melhora a ajuda do TypeScript em novas tarefas Vue e, adicionalmente, torna o desafio mais fácil de manter.

O Vue 3 é uma melhoria muito necessária e torna o Vue uma combinação melhor para tarefas de grande escala.

Vue's downloads semanais cresceram 87% desde os últimos 12 meses, tornando Vue a estrutura de crescimento mais rápida em termos relativos. Se o Vue pode sustentar esse preço de progresso, então ele pode superar o Angular rapidamente.

Angular

Angular lançou recentemente o Ivy Compiler. Ele reduz instâncias de construção, otimiza pertences, permite testes mais rápidos e geralmente melhora a experiência do desenvolvedor.

O grupo Angular lança atualizações principais duas vezes a cada 12 meses, que podem incorporar novas opções ou simplesmente transmitir a estrutura no controle com novas variações do navegador.

Angular cresceu cerca de 50% em downloads semanais desde os últimos 12 meses, portanto, é um desafio preferido.

Conclusão

Angular, React e Vue estão todos sob uma melhoria muito viva. Eles repetidamente lançam novas variações e preservam as existentes. Como o atual grau de ajuda é excessivo em todos os casos, você pode usar qualquer uma dessas estruturas com segurança.

É importante notar que o Angular não está subindo tão rápido quanto antes, enquanto o Vue - apesar de ter começado muito recentemente - parece estar subindo bastante.

Como reconhecemos de antemão, não vamos prever quais frameworks permanecerão relacionados no longo prazo, entretanto, cada desafio tem um grupo incrível por trás dele e está em constante evolução.

Meu objetivo com este texto foi esclarecer as variações arquitetônicas, dividir os pontos fortes e fracos de cada estrutura e avaliá-los sempre que for relevante.

Antes de entrar em uma estrutura totalmente nova, há algumas coisas a se pensar.

Primeiro, a experiência do seu grupo geralmente é uma questão decisiva ao selecionar um novo know-how.

Da mesma forma, você precisa levar em consideração a expertise que está acessível em seu espaço com a intenção de alugar construtores em seu desafio.

Finalmente, em relação ao próprio desafio, a complexidade e o escopo podem afetar sua alternativa de estrutura.

Ao fazer uma concessão para todas as variações importantes, espero que você possa decidir qual é a melhor estrutura de front-end para seus objetivos e desejos.



Este item é 0 Postar comentários

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

De volta ao topo