Skip to content
José Naves Moura Neto edited this page Dec 12, 2017 · 1 revision

O que é Expo?

Expo é um framework para desenvolvimento de aplicativos móveis com React Native. O SDK do Expo é uma biblioteca de código Javascript e código nativo (Android = Java ou Kotlin / iOS = Swift ou Objective-C) que promovem acesso ao sistema em questão (câmera, contatos, local storage, e outros). Isso significa que você não precisará usar Xcode ou Android Studio. Não precisará escrever nenhum código nativo. Com isso, seu projeto será feito apenas com código Javascript fazendo com que ele seja altamente portável uma vez que você poderá executá-lo em qualquer ambiente que use a SDK do Expo.

Expo versus React Native Vanilla

A grande diferença entre Expo e React Native é que o Expo não utiliza código nativo Android e IOS, todo o código de um APP EXPO fica no "host", que é o APP da Expo que precisa estar instalado no Smartphone. Com isso você não precisa de ter um ambiente configurado com Android Studio e XCode para criar um APP para Android e IOS. A grande desvantagem do EXPO em relação ao React Native é que por ele não utilizar código nativo, apenas o que está no app "host" Expo, você fica limitado as libs que estão disponíveis no app da Expo, alem de ter uma camada a mais de comunicação com o código nativo.

Vantagens EXPO

  • Comece a desenvolver mais rápido.
  • Faça um APP para iOS sem a necessidade de um Mac.

Desvantagens EXPO

  • Maior controle sobre seus builds
  • Fique a vontade para adicionar e criar suas propiás libs Nativas.

Conclusão

Ao iniciar o desenvolvimento de um APP você analisar qual a melhor opção para você, se você está iniciando com o desenvolvimento Mobile e quer desenvolver um aplicativo de forma rápida, sem ter que configurar um ambiente para cada plataforma e não tem 5k sobrando pra comprar um MAC, eu recomendo utilizar o EXPO. Agora se está construindo um APP complexo e que necessite muita performance e vários componentes diferentes eu te recomendo utilizar o React Native. Então você deve utiliza-los de acordo com a sua necessidade, você deve decidir se as vantagens compensam as desvantagens e então utilizar o CRNA ou o react-native-cli.

Clone this wiki locally