Você já imaginou usar a mesma tecnologia de ponta que gigantes como Facebook, Instagram, Uber, Wallmart, Tesla, Skype (dentre outros) utilizam para criar Apps nativos para Android e iOS de forma simples, rápida e divertida?

“O cara” — React Native.

O React Native é uma poderosa biblioteca stack criada pelo Facebook para desenvolver Apps nativos para Android e iOS, utilizando praticamente o mesmo código para executar em ambas as plataformas, utilizando a linguagem Javascript.

Como funciona o React Native?

Dentro do seu dispositivo existem 2 núcleos: um núcleo nativo (Java para Android e Objective-C para iOS) e um núcleo de Javascript, chamado JavaScript Core (ou para os íntimos como eu, JSC).

Ao contrário de stacks como Ionic, Cordova, Phonegap que criam uma camada Webview (baseado em Html, Css e Javascript), o React Native compila seu App (escrito com Javascript) para executar diretamente no núcleo JSC. Isso dá acesso aos componentes nativos do aparelho (câmera, GPS, bluetooth, wifi, etc).

Exemplo de “HelloWorld” em React Native:

Captura de tela_2020-03-13_15-39-15.png

Mas porque usar React Native?

Imagina só a seguinte situação…

" Sua missão: Você foi desafiado a desenvolver um App de delivery (tipo iFood) para Android e iOS, no menor tempo possível."

  • Missão dada é missão cumprida

Eis então que você sabiamente resolve criar os Apps de modo nativo para cada plataforma, afinal você já conheçe um pouco de cada mundo… Porém é aqui que literalmente começa a enorme dor de cabeça!

tenor.gif

Se liga só o trampo que isso vai dar…

Partindo para o Android você precisa escrever o código (milhares de linhas) usando a linguagem Java ou Kotlin. E para sua surpresa precisa replicar (re-escrever) todo o código para iOS usando Swift (trabalho em dobro, problema em dobro).

Percebeu o quanto de tempo e habilidade você precisa dominar para fazer um mesmo App para ambas as plataformas? Novamente: Trabalho em dobro, problemas em dobro. 🤦‍♂

Sem tirar o comportamento de cada App, que pode conter diversos bugs, e as ações esperadas pode não se comportar de forma igual. Poutz! 🤦‍♂

Então como resolver esse problema?

Depois de várias aspirinas e noites mal dormidas, você agora repensa e resolve partir para o desenvolvimento híbrido (que contempla as duas plataformas ao mesmo tempo). Meus parabéns jovem padawan! Mas a ficha cai e vem a próxima pergunta:

"Que ferramenta utilizar? 🤔"

Se você partir para stacks como Ionic, Cordova ou Phonegap você terá um grande pepinão 🥒em suas mãos…

Eles não criam Apps nativos (eita lelê). Eles criam uma camada Webview com componentes Html, Css e Javascript (igual a um navegador).

Nem preciso dizer que além da queda de performance, você ainda tem sérios riscos de não ter acesso aos componentes nativos do dispositivo (câmera, GPS, bluetooth, etc).

Eis então que surge a solução para essa dor de cabeça (não, não é doril)…

O REACT NATIVE, como já mencionado no início do artigo, consegue através de Javascript, ter ACESSO NATIVO ao dispositivo tanto em Android quanto iOS. (eureka!)

1ios-android-react-native-design-patterns-7-1560547783070.png

"Com um único código você escreve o App uma única vez e compila nativamente para Android e iOS. Simples assim. 😁"

Na grande maioria dos casos você consegue aproveitar até 100% do código (em alguns casos, basta criar um bloco de condição para cada plataforma, nada complicado).

1ios-android-react-native-design-patterns-3-1560547782072.png

Percebeu o quanto você economiza de tempo e custo e skills no seu projeto?

A comunidade do React Native cresce a cada dia, empresas gigantes já utilizam essa stack e o mercado de trabalho procura cada vez mais por pessoas com habilidades nessa tecnologia (o mundo está cada vez mais digital). 😎

E não para por ai não… Tem muito mais!

Uma vez você dominando React Native você de quebra pode facilmente aumentar suas skills usando ReactJS para criar projetos Web (site). Segue a mesma lógica (javascript), só que voltado para projetos web. 😱

E se quiser ir mais afundo, pode se aventurar no Node.js para criar APIs backend para se comunicar com seu front (web e mobile).

Ai filhote, você já se tornou um Jedi FULLSTACK e oportunidades no mercado faltar não irá. Deu pra perceber agora a OPORTUNIDADE que está nas suas mãos?

react-app1.png