Começando com React Native

Imagem para Começando com React Native

React nativePostado em  3 min de leitura

Na ReactConf 2015, que rolou nos dias 28 e 29 de janeiro de 2015, foi feito o anúncio do React Native. Tendo o seu primeiro release no Github no dia 27 de Março de 2015.

Desenvolvimento móvel nativo

Antes de tudo, precisamos escolher uma plataforma.

A plataforma Android, por ter ferramentas gratuitas já oferece para muitos desenvolvedores que tem pouco dinheiro para investir, uma grande oportunidade.

Mesmo que apps android contém 85% do mercado de usuários do planeta. Quando você cria apps iOS baseado-se em compras por meio no aplicativo, você tem como benefício a chance de gerar lucros de até 4 vezes maior do que Android.

Temos que olhar as características de cada um..

Android

  • Utiliza a linguagem Java.
  • Apps Android são baixados com maior frequência e números do que outras plataformas.
  • Para Publicar seu trabalho, é cobrado uma taxa fixa de apenas US$ 25 dólares.
  • Muitos países emergentes estão adotando a desenvolvimento Android como Brasil, índia, África, China dentre outros.
  • Por se tratar de código aberto, você corre risco de sofrer com problemas de Malware.
  • Taxas altas de fragmentação da indústria por conta da grande quantidade de fornecedores e quantidade de aparelhos no mercado.
  • Lucratividade da loja Google Play menor em comparação ao iOS.

IOS

  • Utiliza linguagens de programação como Objective-C e Swift.
  • Usuários iOS são normalmente muito leais, significa uma base de usuários ativa e constante.
  • Usuários mais dispostos a gastar dinheiro.
  • Para publicar seu trabalho na plataforma, você terá que gastar cerca de US$ 99 dólares.
  • Seu app passará por um processo rigoroso que pode levar um bom tempo antes de ser aprovado.
  • A concentração desses usuários são de maioria dos EUA, um pouco na China e na Europa.

Resultado

Simplesmente a nível de desenvolvimento com uma pessoa, teríamos que escolher um. Pois seria um trabalho dobrado que demandaria muito tempo de aprendizado e desenvolvimento.

E a nível de empresa, comparando com um desenvolvimento móvel web, os custos são mais altos no desenvolvimento e manutenção, demandando mais pessoal e tempo para manter os códigos iOS e Android separadamente. E consequentemente, linguagens diferentes em plataformas distintas geram comportamentos.

A solução(?)

Surgiram os frameworks para desenvolvimento híbrido (ex: Cordova, Xamarin, PhoneGap, Intel XDK, Ionic e Sencha Touch). Eles permitem compilar o mesmo projeto em ambas as plataformas.

Esses frameworks utilizam HTML, CSS e JavaScript. Eles operam em cima de uma WebView (página Web simulando uma aplicação nativa).

Dessa forma, o desempenho é inferior e a interação gráfica com o usuário pode não ser satisfatória.

Arquitetura

Nativo
Aplicação    
Bibliotecas de terceiros    
SDK de desenvolvedores, bibliotecas padrão  
Sistema operacional móvel (IOS, Android, etc...)
Híbrido
Aplicação
Framework para desenvolvimento móvel (ex: Cordova)
Bibliotecas compatíveis com os Frameworks
WebView API
IOS SDKs Android SDKs
IOS Android
React native
Aplicação
 
  Bibliotecas de terceiros
  Pacotes NPM (ex: React)
    Componentes RN de terceiros
  React native
IOS / Android SDKs JS Runtime
IOS / Android

Conclusão

O React native revolucionou, já que o código gerado pelo React pode ser reaproveitado em até 100% entre as plataformas, fazendo com que o custo e duração do projeto caia pela metade.

Ele compila o projeto nativamente, aproveitando 100% dos recursos do dispositivo e sistema operacional. O desenvolvedor tem acesso nativamente a toda API.