BT

Início Notícias Facebook lança ferramenta para facilitar a criação de aplicações React

Facebook lança ferramenta para facilitar a criação de aplicações React

Favoritos

Uma nova ferramenta lançada pela equipe do Facebook espera reduzir toda a complexidade envolvida para configurar um novo projeto de uma aplicação React.

No blog oficial do React, Dan Abramov explicou sobre o projeto "Create React App" que permite aos desenvolvedores criarem uma nova aplicação React — incluindo o processo de build e as dependências necessárias — em um único comando. O projeto é uma forma oficial de como criar aplicações React, embora ainda não seja um "React CLI" no mesmo formato que os projetos Ember-CLI e Angular-CLI.

Os desenvolvedores poderão começar uma nova aplicação React com apenas três comandos:

npm install -g create-react-app
create-react-app hello-world
npm start

Diversos comandos do Babel e do Webpack, comuns em aplicações React, ficaram abstraídos do projeto. Abramov explica que essa ferramenta foi criada porque ultimamente os desenvolvedores associam o ecossistema de desenvolvimento do React com uma grande quantidade de ferramentas:

Combinar essas ferramentas requer alguma experiência com cada uma delas. E mesmo assim, é muito fácil acabar encontrando problemas de incompatibilidade, conflito de dependências e arquivos de configuração ilegíveis. Algumas dessas ferramentas não conhecem diretamente a existência de outra ferramenta. Isso obriga que o desenvolvedor conecte cada uma delas. As ferramentas acabam evoluindo e mudando independentemente, fazendo com que tutoriais fiquem desatualizados rapidamente.

Teoricamente, o React não requer muito para começar a utilizá-lo, mas criar aplicações para irem à produção requer muito mais. Ao longo do tempo, a comunidade do React se tornou mais dependente do Babel e do Webpack como parte do toolchain padrão. Ainda assim, essas duas ferramentas frequentemente tem frustrado os desenvolvedores. O Babel por exemplo, não vem com uma instalação direta. Andrew Stuart descreveu em seu blog um post com o título "useless by default". Abramov defendeu a intenção do projeto Babel, dizendo: "Não entenda errado o projeto Babel, pois ele apenas quer ser uma ferramenta de baixo nível. Na minha opinião, qualquer desenvolvedor pode (e deveria) construir algo sobre ele."

Os desenvolvedores experientes de React descobriram um processo de build que funciona para eles. Essa nova ferramenta auxilia o resto da comunidade, ajudando quem não tem experiência com React. E a funcionalidade eject permite que o desenvolvedor que tenha ganho experiência possa se desvincular das configurações padrões. Um usuário no Reddit a_simple_pie comentou:

A funcionalidade "Eject" é realmente ótima. A primeira coisa que queria fazer era adicionar suporte ao SASS, então ter a possibilidade de rodar o comando "eject" foi ótimo.

A ferramenta Create React App não tem a mesma profundidade de uma ferramenta CLI, o que é totalmente compreensível já que isso era um projeto de hackathon feito em uma semana, comentou Abramov. Há planos para adicionar mais funcionalidades, como adicionar testes. Eles não irão fazer muita coisa tão breve, mas Abramov comentou que irão gradualmente deixar as configurações padrões melhores para cobrir mais casos de uso.

A página do projeto no GitHub tem mais informações sobre a ferramenta.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Seu cadastro no InfoQ está atualizado? Poderia rever suas informações?

Nota: se você alterar seu email, receberá uma mensagem de confirmação

Nome da empresa:
Cargo/papel na empresa:
Tamanho da empresa:
País:
Estado:
Você vai receber um email para validação do novo endereço. Esta janela pop-up fechará em instantes.