Os 5 principais Frameworks Front end em 2020

Javascript

Grande parte da lógica/código que costumava ficar do lado do servidor está sendo movida para o lado do cliente. É um framework nos ajuda a ser mais produtivos eliminando a necessidade de “reinventar a roda” em todo projeto. 

Nesse artigo vamos falar sobre os principais Frameworks Front end do mercado e citar os prós e contras de cada um. Isso não vai ser uma comparação entre eles, essa é apenas uma lista com os frameworks front end que você deve procurar antes de começar um novo projeto.

Se você gosta de projetos front end, mas não tem experiência com framework javascript é bom entender o básico, da uma olhada nesse projeto, para aprender como criar uma página de login do zero.

Com tantas opções nem sempre é uma tarefa fácil escolher um framework Javascript mesmo que muitas vezes nossas escolhas fiquem apenas entre Angular, React, e Vue.js, é difícil para os novos desenvolvedores. 

A fim de tornar essa busca menos cansativa, aqui vai uma lista com os melhores frameworks front end de 2020.

Quais são os top 5 Frameworks Front end

A nossa lista, não por acaso, é formada pelos 5 frameworks front end mais conhecidos no momento. Se você é um desenvolvedor front end ou vai iniciar seu novo projeto, estas são as suas cinco melhores apostas.

Existem diversos motivos para a lista se resumir a esses 5 frameworks front end. Mas os motivos que vou citar são, popularidade, comunidade, desempenho e documentação.

Frameworks Front end: Estatísticas

Aqui está uma visão das tendências do npm(gerenciador de pacotes para Javascript) nos últimos seis meses.

Como você pode ver React domina a lista de downloads de longe. Seguido, (nada de perto), por Vue.js.

Mas React não domina todas as categorias dos frameworks front end, ele perde em número de estrelas no GitHub para o Vue.js e no número de forks para Angular. Todos eles têm seu lugar ao sol.

Frameworks Front end: React

React é o atual líder no mundo JS. Este framework JavaScript usa uma abordagem reativa e introduz muitos de seus próprios conceitos para o desenvolvimento front end.

Para usar o React, talvez você precise aprender a usar algumas ferramentas adicionais. Por exemplo, Redux, MobX, Fluxy, Fluxible, ou RefluxJS. 

Prós:

  • Comunidade gigantesca, é bem provável que a dúvida já foi respondida.
  • A estrutura em componentes facilita a reutilização, que é uma ótima maneira de economizar tempo valioso no desenvolvimento.
  • Desempenho consistente e sem falhas com o uso do DOM virtual.
  • React Hooks apresentado na versão 16.8 muda a perspectiva de como escrever códigos em React, tornando mais fácil a aprendizagem.

Contras:

  • Atualizações constantes na estrutura, acaba dificultando a vida de quem está aprendendo React.
  • A utilização de JSX pode não ser a sua favorita, e a documentação não ajuda.
  • Só oferece soluções front-end.

Um exemplo de código em React:

ReactDOM.render(
  <h1>Debug Everything, world!</h1>,
  document.getElementById('root')
);

Frameworks Front end: Vue.js

Vue.js foi um framework javascript concebido desde o início para poder ser adotado de forma gradual. A biblioteca principal é focada apenas na camada de visualização. Vue.js é fácil de integrar com outras bibliotecas ou projetos existentes. 

E você é perfeitamente capaz de criar aplicações de página única (SPA) com Vue.js, quando usada em combinação com outras ferramentas e bibliotecas de suporte.

Uma das maiores vantagens do Vue.js é o seu tamanho. Estamos falando de uma estrutura de 18-21KB.

Prós:

  • Documentação extensa e detalhada.
  • Sintaxe simples, programadores com a base do javascript podem facilmente começar com o Vue.js.
  • Você tem flexibilidade para escrever seu template em um arquivo HTML, JavaScript e JavaScript puro usando virtual nodes.
  • Two-way data binding, uma funcionalidade muito bem-vinda para auxiliar a conexão entre a View e o Model.

Contras:

  • Instabilidade nos componentes. Essa é uma questão conhecida e abordada na documentação do Vue.js.
  • Vue.js ainda é um projeto jovem. E a sua comunidade ainda é relativamente pequena.
  • Existe uma barreira linguística com plugins e componentes (grande parte dos plugins estão escritos em chinês)

Um exemplo de código em Vue.js:

<!--Html-->
<div id="app">
  {{ message }}
</div>
//Javascript
var app = new Vue({
  el: '#app',
  data: {
    message: 'Debug Everything!'
  }
})

Frameworks Front end: Angular

Você não pode ter uma lista dos melhores frameworks front end sem falar de Angular. Angular é o único framework javascript que é baseado em TypeScript nesta lista.

Ao contrário do React, e assim como Vue.js, Angular também aborda o modelo two-way data binding. Significa que há uma sincronização em tempo real entre Model e View, onde qualquer mudança no Model reflete instantaneamente sobre na Views e vice-versa.

Se o seu projeto envolve a construção de aplicativos móveis ou web, esse framework javascript é uma boa alternativa.

Em comparação ao React e Vue.js. Angular não é fácil de aprender. Apesar de haver inúmeras documentações disponíveis, elas são muito complexas ou confusas.

Prós:

  • Two-way data binding, a integração entre Model e View em Angular é sólida e funciona de forma consistente.
  • As Diretivas permitem você atribuir comportamentos especiais ao DOM.
  • Os componentes são reutilizáveis e fáceis de gerenciar utilizando injeção de dependência.
  • Uma vasta comunidade para aprendizagem e apoio.

Contras:

  • Com Angular sempre existem múltiplas formas de realizar a mesma tarefa, por isso a curva de aprendizado é mais acentuada.
  • A performance pode ficar a desejar em projetos grandes e complexos devido ao tamanho do framework.

Um exemplo em Angular:

//javascript
@Component({
    selector: 'main-app',
    template: ` <p>
    Debug Everything
    </p>`,
})

export class MainAppComponent {
    constructor() { }
}

Frameworks Front end: Ember

Ember é um dos frameworks javascript mais antigos, vindo antes de Angular JS, por exemplo. 

Ember possui uma arquitetura relativamente complicada. Ele é mais um na lista dos frameworks javascript que utilizam a estrutura MVC.

Uma das melhores características da Ember é sua ferramenta de linha de comando. Você não só pode criar novos projetos com configurações prontas, mas tabém pode criar controllers, components e arquivos de projeto usando geração automática.

Prós:

  • Extremamente bem organizado e estruturado.
  • Vinculação de dados bidirecional, two-way data binding.
  • Documentação compreensível para um framework tão extenso.

Contras:

  • Comunidade pequena atualmente, já teve seus tempos de glória.
  • Sintaxe complexa e atualizações lentas.
  • Curva de aprendizado pode ser bem inclinada.
  • Não foi pensando para construir pequenas aplicações.

Um exemplo de código em Ember.js

//Javascript
export default Ember.Component.extend({
  componentGreeting: 'Debug Everything'
})
<!-- HTML -->
<h2 class="title">{{componentGreeting}}</h2>

Frameworks Front end: Backbone.js.

O último framework javascript da nossa lista não é um framework javascript, assim como React, Backbone.js é uma biblioteca.

Ao trabalhar em uma aplicação web que envolve muito JavaScript, uma das primeiras coisas que você aprende é a parar de amarrar seus dados ao DOM.

Com o Backbone, você representa seus dados como modelos, que podem ser criados, validados, destruídos e salvos no servidor.

Backbone.js é uma biblioteca incrivelmente pequena pela quantidade de funcionalidade e estruturas que entrega. Ela é essencialmente MVC para o cliente e permite que você faça seu código modular.

O Backbone.js reforça que a comunicação com o servidor deve ser feita inteiramente através de uma API RESTful. 

Prós:

  • Permite que você sincronize com o back-end com um suporte incrível para as APIs RESTful.
  • Tem apenas uma dependência, Underscore.js.
  • Estrutura leve, a versão de desenvolvimento tem apenas 72 kb (full).

Contras:

  • Para persistência RESTful e manipulação DOM com Backbone.View, necessita do jQuery.
  • Ao construir uma aplicação com Backbone.js, você certamente precisará de muitas bibliotecas e add-ons.

Um exemplo de código em Backbone.js:

// Javascript
var AppView = Backbone.View.extend({
  el: '#container',
  initialize: function(){
    this.render();
  },
  render: function(){
    this.$el.html("Debug Everytthing");
  }
});

Conclusão

Como você deve ter percebido, todos os frameworks javascript sofrem com um ou outro problema. Nenhum é a “solução perfeita” se é que isso existe.

O mais importante é você avaliar o seu projeto, pensar nele hoje, e daqui a 5 anos. Escalabilidade e manutenibilidade são fatores importantes para a longevidade de um projeto.

E outra, a escolha de um framework javascript ou biblioteca não precisa ser definitiva, você pode fazer a transição se necessário. Ou até mesmo unir um framework javascript como Angular e uma biblioteca como React. Não é o ideal, mas nada de te impede de fazê-lo.

A Microsoft já está fazendo isso!

Em fim, espero que tenha gostado do conteúdo. Se inscreva para receber todas as novidades e conteúdo exclusivo de muito valor!

Até a próxima.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 Comments