Tecnologia

React – Repensando boas práticas

Por: , fevereiro 11, 2015

O título do post não é meu, mas falaremos dele depois.

Há uns meses eu ouvi falar do React uma “biblioteca para interface” assim como eu já tinha visto várias, decidí dar uma chance e ver do que se tratava. Não gostei do que ví, uma sintaxe meio javascript meio html que tem uma espécie de tradutor para javascript e html nativo, misturando a tela com o javascript, loucura. Deixei de lado.

Porém, há poucos dias atrás eu lí um desenvolvedor perguntando em um fórum de javascript: What’s so great about React.js? E complementava pergunta com os mesmos critérios que eu, tempos atras, tinha pensado:

  • Misturar HTML com a camada de lógica
  • Ter que converter a sintaxe (jsx) para javascript parecia um ferramental extra e desnecessário.

Eis que no meio das respostas alguns argumentos foram interessantes, em resumo os pontos que me chamaram atenção foram:

Apresentação da interface e a interação com a interface estão muito ligados, qual o real problema de eles se misturarem?

A lógica de acesso a serviços não se mistura com a camada de apresentação, apenas a lógica de apresentação.

Enfim, se quiserem podem ler o post completo.

Durante as pesquisas sobre a linguagem, achei esse vídeo: http://youtu.be/DgVS-zXgMTk que é de uma conferência de javascript que ocorreu em 2013, dele vem o título do post. Nesse vídeo é apresentado um pouco sobre a arquitetura e as decisões por tras do React.

Decidí então experimentar usar React para algo. Lí um tutorial no próprio site do React e peguei um projeto base com backend em java apenas para servir json. Mão na massa.

Não vou fazer suspense, a biblioteca me surpreendeu.

O tal código declarativo que parecia bagunçado fica simples de entender quando se dá 10 minutos para aprender os conceitos da ferramenta, e o fluxo de dados e comportamento dos componentes ficam bem simples de se acompanhar. A criação de componentes independentes parece muito mais lógica do que a criação de templates, aumentando bastante a reutilização.

E o que mais me animou de estudar mais a fundo esta ferramenta é que ela não requer a implantação no projeto inteiro, você pode pegar apenas um pequeno pedaço de um projeto e tentar componentizar a interface usando React.

Continuando com os vídeos relacionados, peguei um vídeo bem recente, da primeira React conference (http://youtu.be/KVZ-P-ZI6W4) onde o apresentador fala mais sobre o react e faz um anúncio interessante, o React Native, que são basicamente os mesmos conceitos do React mas para criação de aplicativos mobile, e antes que venham com as pedras, o código final gerado é nativo, assim como na web o resultado final é Javascript e HTML. Na segunda parte do vídeo(http://youtu.be/7rDsRXj9-cU) é mostrado um exemplo de código, me parecei bem promissor, principalmente o conceito de “learn once, write anywhere”.

E vocês, já testaram, usaram, gostaram/odiaram?

  • Receba nosso conteúdo em primeira mão.