sábado, 15 de junho de 2019

React Native: Entendendo a tecnologia

React Native: Entendendo a tecnologia

    Vejo na comunidade de desenvolvimento de aplicativos móveis uma discussão cada vez maior com relação a linguagem de desenvolvimento. Sempre que essas discussões acontecem o desenvolvimento nativo prevalece, mas é sabido que uma grande redundância de códigos é gerada e a governança dos códigos sempre prejudicada por isso, pois de fato é preciso manter 2 códigos fonte.

     Desde os primeiros desenvolvimentos mobile que fiz vejo que muitos tentam criar linguagens com compiladores para as plataformas (predominantemente iOS e Android), mas essas soluções nunca foram as melhores pois geram códigos "sujos", perda de performance, suporte restrito a recursos do aparelho, entre outras coisas que o benefício da governança de código e o fato de não ter que fazer tudo dobrado não justificam.

    Até que o Facebook começou a investir na plataforma React Native, a partir do React e, a grande sacada, é que eles não fizeram mais do mesmo:

    Tanto o iOS quanto o Android possuem em seus motores nativos uma camada que interpreta JavaScript e a sacada do React Native é utilizar essa camada para a interpretação de seus códigos, fazendo assim com o que o App rode de forma realmente nativa na plataforma, mas com seu desenvolvimento sendo realizado em JavaScript. Isso além de garantir a performance da aplicação e a compatibilidade do código, também permite que a cada atualização da plataforma as novas features já sejam utilizadas, pois elas são igualmente atualizadas no "motor" core da plataforma.

    Como se não bastasse, se ainda assim você não souber implementar o código que deseja no JavaScript, poderá fazê-lo utilizando a linguagem nativa da plataforma (Swift e Kotlin), isso porque você consegue também escrever nessas linguagens e manter a convivência delas com o JavaScript.

    Uma resposta objetiva a uma pergunta comum: React Native é nativo? SIM, é considerado nativo o código gerado pelo React Native, mas ele é pequeno e leve, diferente dos seus concorrentes que prometem fazer o mesmo, isso ocorre pelos motivos expostos acima.

   Abaixo segue um exemplo de como o React Native funciona:

Funcionamento React Native


   Com base nesse funcionamento essa tecnologia tende a ser cada vez mais adotada em desenvolvimentos para dispositivos móveis.

    Temos visto ainda um movimento de empresas resistindo ou com receio desta mudança, vemos casos também de empresas como Airbnb que anunciou estar deixando o React Native, mas lembro a todos que eles implementaram nas primeiras versões e, muitas das coisas que fizeram, estavam em códigos nativos, dessa forma o código deles começou a ficar insustentável.

    Começar hoje um App em React Native traz, sem dúvida alguma, mais vantagens do que desvantagens, mas é claro que o desenvolvimento nativo na plataforma nunca será superado, mas hoje em dia com o React Native as vantagens do desenvolvimento em linguagem nativa são pouco relevantes frente aos benefícios de ter um único código fonte mitigando problemas de divergências, aumentando a produtividade e melhor governança de código.

Espero que tenham gostado!

Até a próxima.
   

Nenhum comentário:

Postar um comentário

Como turbinar sua internet com uma configuração simples

Como turbinar sua internet com uma configuração simples    É sabido que seu provedor de internet lhe fornece uma conexão de internet com ...