Chega um projeto novo para mobile, qual a primeira pergunta que a equipe de desenvolvimento faz? “Como teremos que fazer?”. Até um tempo atrás, existiam apenas duas formas. Fazer nativo, que pode exigir 2 equipes diferentes (uma para iOS e outra para Android) trabalhando simultaneamente e que, provavelmente, entregarão com prazos diferentes, ou de forma híbrida.

Os aplicativos híbridos, desenvolvidos em Ionic, Phonegap etc., vieram para ocupar espaço não atendido pelos nativos. Desenvolvimento de aplicações de qualidade, sem precisar de tanta especialização e com menos recursos.

Em março de 2015 surgiu algo com poder de diminuir o espaço entre aplicações nativas e híbridas. Facebook liberou para os desenvolvedores a primeira versão do React Native, versão para aplicações mobile da sua biblioteca React.

O que é React Native?

React Native é um framework desenvolvido pelo Facebook para tornar o desenvolvimento para aplicações móveis mais rápido. “Learn once, write anywhere” (aprenda uma vez, escreva em todos os lugares, em uma tradução literal) é a ideia central por trás do framework. Atrás dessa ideia central existe um objetivo: Tornar mais prático a adaptação para múltiplos devices de aplicações.

É bom mesmo?

Alguns desenvolvedores acham melhor do que fazer um aplicativo nativo. A não ser que você tenha um problema muito específico, os resultados alcançados com React Native são parecidos com os nativos, mas executados de maneira mais prática.

Ao contrário do React que é visto apenas como uma forma diferente a mesma coisa que outros frameworks, React Native é visto como algo revolucionário. Com grande potencial para mudar a forma como aplicações mobile são desenvolvidas.

São incontáveis as experiências relatadas por desenvolvedores que no primeiro momento não acreditavam ser possível entregar tudo o que era prometido, mas foram surpreendidos pelo poder real do framework. Depois do processo de adaptação, não parecem dispostos a voltar atrás.

O live reloading também transformou a forma de desenvolver. Assim como no desenvolvimento web, é possível visualizar de forma instantânea suas alterações. Fazendo que o processo seja mais rápido e fluido.

O usuário não sentirá a diferença entre uma aplicação nativa ou com React Native. Além de comportamento parecido, aplicações em React Native são menores, essencial para novas empresas, já que, pela limitação de espaço dos devices, aplicativos periféricos (não usados com tanta frequência) acabam sendo os primeiros a serem deletados na necessidade de espaço.

Experiência da Vizir:

Aqui na Vizir um de nossos desenvolvedores, Fellipe Chagas, teve uma boa experiência com React Native. Mesmo sendo um fã do Ionic e sentir falta de alguns templates que já havia criado, tornando o começo mais prático, conta que a experiência com React Native foi muito boa. Conseguindo resultados muito melhores do que se tivesse desenvolvido de outra forma.

Também criamos um repositório no GitHub de pagamento via PayPal usando React Native.

É tudo um mar de rosas?

Como nada é perfeito, existem alguns problemas. Por ser um framework muito novo, mesmo com uma biblioteca consistente, muito ainda precisa ser desenvolvido e, dependendo do projeto, seja mais rápido desenvolver de forma híbrida convencional.

Outro problema é se manter atualizado. Por ser muito novo, ainda enfrenta muitas mudanças. O que pode ser um entrave para o desenvolvimento de aplicações enterprise, por exemplo, já que essas enfrentam mais dificuldades para atualizar de forma rápida.

Quais aplicativos já estão usando React Native?

A cada dia que passa mais e mais empresas adotam o React Native para desenvolver seus projetos. Para citar alguns exemplos, a CBS esta usando no seu aplicativo de Android de Fantasy Football, a Discovery no seu aplicativo VR. Uma lista mais detalhada você pode ver aqui

Sabe a área de eventos do aplicativo do Facebook? É toda feita em React Native. Você pode achar que é pouca coisa em produção de quem criou, mas saiba que não vai demorar muito para que outras partes, e mesmo ele todo, migre para o seu framework. Os resultados são muito bons para não aplicar no app inteiro em um futuro próximo.

Nossa opinião:

Ainda não se pode afirmar que frameworks híbridos baseados no Cordova irão entrar em desuso, mas, com os resultados obtidos pelo React Native até agora, se eles não apresentarem algo competitivo, o futuro pode não ser brilhante para eles.

Para alguns projetos ainda faz muito sentido fazer em Ionic ou Phonegap. O conhecimento ainda não está espalhado. Uma pequena parte da comunidade de desenvolvedores sabe como usar. Então, em situações com poucos recursos e necessidade de velocidade, como um MVP por exemplo, faz todo sentido desenvolver de forma híbrida.

React Native é algo revolucionário com potencial de transformar a maneira como desenvolvemos aplicações mobile. Além de ser uma excelente porta de entrada para que o desenvolvimento em React ganhe tração e deixe de ser moda. Estamos animados com as possibilidades.