5 de jun de 2018

5 razões para desenvolvedores usarem React

Udacity Brasil

O JavaScript certamente está entre as linguagens de programação mais importantes do mundo e é utilizada por milhões de aplicações. Muito disso se deve a sua flexibilidade e capacidade de se atualizar e de se reinventar.

Na última década, a aparição de bibliotecas e frameworks baseados nessa linguagem — como Node.js, Backbone, Angular, Vue.js, Ember — permitiu que ela atingisse novos patamares na maior “revolução” do JavaScript desde a criação do jQuery, em 2006.

O React é parte dessa realidade – e já deixou de ser “moda” há muito tempo.

Criado por funcionários do Facebook e do Instagram, React é uma biblioteca JavaScript declarativa, eficiente e flexível para a criação de User Interfaces (UI), as interfaces de usuário.

Como se propõe a trabalhar somente com a View em uma estrutura MVW — ao contrário de soluções mais “pesadas”, como Angular e Ember —, o React é simples e leve.

Qualquer desenvolvedor JavaScript consegue entender o básico e começar a criar aplicações modernas com pouco tempo de estudo. Mas ser “fácil” não é a única, nem a melhor razão pela qual um desenvolvedor front-end deve saber usar React.

Assista ao Meetup React de São Paulo!

5 razões para usar React

1. Velocidade na renderização

Quem já trabalha com JavaScript para criar aplicações complexas sabe que um dos maiores gargalos é a atualização do DOM (Document Object Model) durante as interações e mudanças de estados dos elementos da página.

Ler e escrever no DOM repetidamente aumenta o reflow do navegador, o que leva a layout trashing e perda de velocidade na re-renderização. Em resumo, o aplicativo fica pesado, lento e com baixa performance.

Pensando nisso, o React introduziu o chamado Virtual DOM. Cria-se um DOM em memória, no qual o estado de cada componente é guardado. Quando há alguma mudança no estado desses elementos, o Virtual DOM analisa as diferenças (por meio de um algoritmo de diff) para encontrar o “caminho mais fácil” para concretizar a atualização.

Somente após o Virtual DOM se atualizar é que as modificações são inseridas no DOM, garantindo que o mínimo de ações de escritura e leitura sejam feitas. Por esse motivo, o React tem ótima performance e tira das mãos dos desenvolvedores a necessidade de se preocupar com a troca de estados dos elementos.

2. Componentes reutilizáveis

Para garantir a coesão e o funcionamento correto do Virtual DOM, o React trabalha com uma estrutura em componentes.

A ideia é bem simples: imagine que cada pequeno elemento de sua aplicação, como um botão ou um campo de um texto, é um componente que deverá ser agrupado em componentes maiores, como um formulário. Este, enfim, é agrupado em um componente raiz — a sua aplicação.

Cada componente é independente, possui sua própria lógica interna e decide como deverá ser renderizado e atualizado. Isso traz grandes vantagens para os desenvolvedores, entre elas:

  • Todo componente pode ser reutilizado em novas partes de sua aplicação sem precisar ser recriado;
  • A aplicação fica bem organizada e escalável, ou seja, de fácil manutenção, mesmo que cresça em complexidade e tamanho;
  • O desenvolvimento fica mais rápido e limpo.

3. A arquitetura não é imposta

Por ser uma biblioteca para renderizar views — e não um framework que impõe uma arquitetura a ser seguida —, o React possui uma abstração limpa.

Assim, você não precisa se preocupar em entender muita coisa além do ciclo de vida dos componentes e do funcionamento dos props e states para começar a atingir seus objetivos.

Você pode criar o resto da arquitetura do jeito que bem entender. Caso necessite de algo mais robusto, há várias soluções de arquitetura que integram bem com React. O Redux é a mais famosa delas.

4. Flexibilidade

Learn Once, Write Anywhere (aprenda uma vez, escreva em qualquer lugar). Essa frase, que se encontra na página principal do React, resume bem outras vantagens de se aprender a biblioteca.

Primeiramente, é possível escrever aplicações em React que se renderizam em back-end. Isso permite criar páginas que carregam mais rápido e dependem menos do navegador do usuário para funcionar. Outro grande benefício é que esse método é ótimo para SEO.

Em segundo lugar, com a ajuda do framework React Native, é possível criar aplicativos móveis para iOS e Android usando apenas JavaScript e a mesma estrutura de componentes que o React propõe.

Isso é um grande diferencial para os desenvolvedores front-end e traz um mundo de oportunidades no mercado de trabalho.

5. Comunidade e mercado

Dois indicadores são ótimos na hora de buscar uma nova ferramenta para aprender: empresas que a utilizam e a quantidade de pessoas que, atualmente, desenvolvem nessa tecnologia.

O primeiro indicador representa o mercado de trabalho e o segundo, a comunidade.

O Facebook mantém uma lista atualizada de empresas e sites que atualmente usam o React, entre elas Airbnb, Amazon Videos, Asana, Netflix, Paypal, BBC, eBay, e, claro, Facebook e Instagram.

Quanto mais companhias usam uma tecnologia, maior é o mercado de trabalho. No caso do React, são várias empresas e o mercado está aquecido, tanto no Brasil quanto no exterior.

Como uma coisa puxa a outra, a quantidade de pessoas interessadas e que trabalham com React é crescente.

O gráfico abaixo comprova essa ideia: o número de perguntas feitas sobre React e React Native no StackOverflow tem crescido exponencialmente. Por comparação, perceba como o interesse em jQuery vem caindo.

Quanto maior a comunidade, mais fácil encontrar soluções para problemas em que o programador pode esbarrar durante a criação de sua aplicação. Além disso, mais e mais pessoas produzem tutoriais, cursos, ferramentas e plugins.

Leia também:

Udacity Brasil