“Aprender React é o sonho de 1 a cada 5 Desenvolvedores Front-end, ouvi dizer“
Se a estatística é assertiva ou não, não creio que seja o momento de discutir.
Mas o que sabemos é que, se alguém falou isso, é porque com certeza entende o crescimento e o potencial desta, que é uma das libraries mais famosas e queridas pelos Front-ends do meu Brasil (leia-se até do mundo).
O React foi idealizado pelo Facebook, que foi o responsável por evangelizar o mercado sobre a tecnologia. É óbvio que tem muita coisa boa surgindo — (acho que é legal você saber também que o Flutter existe), mas React ainda vale muito a pena e agora é a hora que você vai saber o porquê.
Vamos lá? 🙂
1. Baixa complexidade de aprendizado
Se comparado ao Angular, por exemplo, o React tem um nível de complexidade baixíssimo.
Isso não quer dizer que o React é melhor que o Angular, apenas quer dizer que, se você quer apostar em uma tecnologia com curva de aprendizado menor, talvez devesse considerar o React.
Nós escrevemos um artigo que compara os três frameworks/libraries mais populares da atualidade. Estamos falando do React, Angular e Vue. Dá um confere!
Aqui na GeekHunter nós construímos nosso software usando Angular, que nos serviu muito bem para o fim que precisávamos na época.
Então não vamos demonizar o Angular, já que foi este frameworkzinho que abriu grandes caminhos para o Front-end que conhecemos hoje.
Ainda sobre o aprendizado, há quem diga que a documentação é tão eficiente que em menos de 1 mês você tem a possibilidade de construir um software completo e funcional o usando.
Curtiu? Se essa é sua necessidade, vai de React, então!
2. React é uma library de alto desempenho
Bem, quando eu falo alto desempenho, estou querendo dizer várias coisas, não apenas uma. O React foi desenvolvido pela equipe do Facebook, então você já pode imaginar que “coisa fraca” não é.
Aliás, como exemplo de alto desempenho, podemos citar o scroll infinito do Facebook, que normalmente daria uma “travadinha”, se tivesse sido desenvolvido usando outras tecnologias.
Virtual DOM
O React emplacou, já na sua primeira versão, um algoritmo poderoso para manipulação de DOM, o Virtual DOM.
Isso faz com que mudanças no estado de aplicação primeiro reflitam no Virtual DOM e só sejam aplicadas depois de bons cálculos das implicações que isso geraria no DOM original.
Em resumo, apenas a parte que mudou vai re-renderizar. Simples? Não se você trabalha em um grande monolito, por exemplo.
O que isso tem a ver com performance? Se você desenvolve em Javascript já faz um tempo deve saber que manipular o DOM em excesso prejudica a renderização, e aí também perde-se performance.
Vai dizer que o Virtual DOM não é um gol de placa do React?!
3. O mercado está superaquecido!
Não há como negar, que, hoje, pequenas, médias e grandes empresas usam React. Dentre as grandes nós encontramos nomes como Netflix, Facebook (a mãe do React!), Amazon e até Instagram.
Isso significa que, além de terem muitas pessoas querendo aprender React para ter uma “chance” em empresas como essas, o suporte da tecnologia também se torna cada vez maior e especializado.
Uma outra razão para que o mercado esteja tão aquecido para “Reacters” é a realidade daquele que abriu caminhos para o Front-end, o saudoso Angular (Angular 8 é a última versão!).
O fato é que o Angular já foi muito popular, mas, pela sua complexidade, está se tornando cada vez menos usado. Isso nos diz muito sobre a ascensão do React, já que, desde o seu nascimento, esteve pau a pau com o Angular.
Esse tópico tem total intersecção com o desempenho da tecnologia. Afinal, trata-se de um efeito cascata: bons desenvolvedores perseguem o bom desempenho da mesma forma que boas empresas perseguem bons profissionais.
Como as vagas para react não param de crescer e a tendência é crescer ainda mais — por conta dos players ‘evangelizadores’ — você já sabe que pode e deve aprender React sim!
Quando que você começará mesmo? 🙂
4. React é flexível e escalável
Esse tópico até poderia ser um subtópico da seção “desempenho”, mas consideramos uma vantagem tão louvável, que reservamos um tópico só para ela.
Inevitavelmente, quando falamos de flexibilidade, também falamos de componentização. No React cada componente é autônomo, isto é, você pode reutilizá-lo em outros projetos, ganhando muito mais tempo.
Essa característica de “flexibilidade” do React também faz com que sua aplicação fique bem mais escalável, independente do seu tamanho, uma vez que a manipulação de componentes é feita para ser simples.
5. React é leve, mas deixa sua aplicação robusta
É fato que o Angular, pelo pack imenso de ferramentas, pode deixar sua aplicação extremamente robusta. No entanto, esse não pode ser o principal argumento para optar pelo Angular.
Afinal, como já dizia o Tio Ben “Com grande poder vem grande responsabilidade”. Sim, a verdade nua e crua é que o Angular pode fazer sua aplicação perder desempenho.
Com o React você consegue, sim, criar uma aplicação robusta, e o melhor de tudo é que não perderá desempenho. Aí é que está o grande benefício, o equilíbrio entre as forças.
Como falamos em nosso artigo comparando os principais frameworks e libraries, o React é leve. Tipo, leve pra caramba.
>> React + react-dom v16.0 = 49.8 kb gzipped.
Agora, falando da parte da robustez, o React também trouxe integração com as versões atualizadas do ECMA Script, dando suporte às classes e modularização. Tudo isso só torna mais fácil você implementar novas features.
Mas React é só felicidade, então?
Entre os desenvolvedores front-end existe um consenso de que o React possui mais vantagens do que desvantagens. Isso não quer dizer que o React não tenha suas peculiaridades e pontos de melhoria.
A questão é que a maioria dos pontos de melhoria reside mais em opiniões pessoais de desenvolvedores, do que em consensos quase que absolutos.
Vejam quais são os pontos para entender se isso interfere na sua decisão de aprender react:
“A documentação do React é pobre”
Alguns desenvolvedores afirmam, por exemplo, que a documentação do React é pobre, enquanto para outros, o que está documentado é mais do que o suficiente para rodar uma aplicação em poucos dias.
É questão de ponto de vista, mas acho que é bom você estar atento(a) a essa questão.
“O mal funcionamento da API Animation”
Houve um tempo onde o React tinha alguns problemas um pouco mais “sérios” de performance, como é o caso de renderização de animações.
Isso foi motivo o suficiente para muita gente sair falando mal do React e dizendo que o React não era a escolha ideal.
Agora isso não pode mais ser dito, uma vez que a equipe React do Facebook — sim, os criadores do framework — alteraram o modo como a API Animation funciona.
Essa alteração fez com que as tarefas de animação fossem delegadas ao núcleo nativo e, assim, resolvesse o problema.
“O React não é Native”
Alguns profissionais também afirmam que o desempenho do React, em relação a aplicativos totalmente nativos, fica inferior. Você já deve imaginar que isso não é verdade, já que o React é, sim, nativo.
O ponto de divergência desses desenvolvedores reside no fato de que existem alguns gaps de performance — que, particularmente, não considero tão graves — mas que podem causar estranhamento a alguns profissionais.
Me refiro à comunicação entre os núcleos, mais especificamente. A verdade é que isso é imperceptível para o cliente, mas é perceptível para os entendedores da tecnologia.
Em vias práticas, acho que é algo que você precisava saber, mas que não deve se preocupar.
Espero que tenhamos ajudado a apoiar a sua decisão de aprender React. Agora? Hands on!
Este artigo foi escrito pela equipe da GeekHunter.