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
|
|
|
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.