DEV Community

Altencir Junior
Altencir Junior

Posted on

Desenvolvimento Mobile: React Native CLI vs Expo ,quais as diferenças?

Ao iniciar sua jornada no desenvolvimento Mobile, utilizando React Native, os desenvolvedores serão confrontados com a decisão de usar o React Native CLI ou o Expo. Neste artigo nós iremos analisar as diferenças existentes entre os diferentes caminhos que um desenvolvedor pode recorrer na criação de sua aplicação.

Ele foi pensado para os que querem saber a diferença entre eles,logo, não teremos um veredito sobre "qual dos dois é o melhor". Ao final, sinta-se a vontade para decidir qual dos dois mais se encaixa com seu projeto pessoal, até mesmo tendo ciência e poder de escolha entre essas opções.

React Native CLI

O React Native CLI é a maneira padrão de criar aplicativos React Native. Seria uma forma mais "nativa" de construir um aplicativo, permitindo acesso direto às bibliotecas nativas do dispositivo. Isso significa que você terá controle total sobre o projeto e poderá ajustá-lo para atender às suas necessidades localmente. Nós podemos iniciar um projeto usando o código a seguir:

npx react-native init NomeProjeto
Enter fullscreen mode Exit fullscreen mode

Entre seus pós e contras estão:

PRÓS:

  • Maior controle: Nós sabemos que aplicativos Android são desenvolvidos usando Java ou Kotlin e aplicativos IOS são desenvolvidos usando Objective-C e Swift de maneira Nativa. No React Native CLI nós podemos chegar o mais próximo disso ,você pode adicionar módulos nativos escritos em Java/Objective-C , e temos a nossa disposição os arquivos de desenvolvimento do Android e iOS

  • Acesso direto às bibliotecas nativas: Como o React Native CLI permite acesso direto às bibliotecas nativas do dispositivo, ele oferece maior desempenho e a capacidade de adicionar recursos que o Expo pode não suportar.

  • Maior flexibilidade: Com o React Native CLI, você pode adicionar qualquer biblioteca nativa de terceiros ao seu projeto, enquanto no Expo, você está limitado às bibliotecas suportadas pelo Expo.

CONTRAS:

  • Curva de aprendizado mais acentuada: Devido a tamanho poder e controle sobre tantas funções,o aprendizado do desenvolvedor iniciante é parcialmente prejudicado.

  • Configuração inicial mais complicada: A configuração inicial pode ser um pouco mais difícil, pois você precisará configurar o ambiente de desenvolvimento e instalar dependências adicionais manualmente as vezes antes mesmo de começar a desenvolver.

  • Requer mais tempo de desenvolvimento: Como você terá que lidar com mais tarefas de configuração, o tempo de desenvolvimento pode ser maior do que com o Expo.

Expo

O Expo é uma estrutura de código aberto que fornece um conjunto de ferramentas para criar aplicativos móveis React Native rapidamente. O Expo fornece um conjunto de APIs abstratas para criar aplicativos, o que simplifica o processo de desenvolvimento, permitindo que você se concentre mais em escrever código do que em configuração.

Como o Expo é uma estrutura externa, é necessário instalá-lo:

npm install -g expo-cli
Enter fullscreen mode Exit fullscreen mode

Para iniciar seu projeto utilizando expo o seguinte comando:

npx create-expo-app nome-projeto
Enter fullscreen mode Exit fullscreen mode

Caso queira iniciar um projeto utilizando TypeScript, o comando a seguir:

npx create-expo-app -t expo-template-blank-typescript
Enter fullscreen mode Exit fullscreen mode

PRÓS:

  • Configuração fácil: O Expo oferece uma experiência de desenvolvimento mais fácil e tranquila, com uma configuração inicial simples e fácil.

  • Suporte para vários dispositivos: O Expo suporta facilmente o desenvolvimento de aplicativos para iOS e Android, bem como para a web e outras plataformas.

  • Desenvolvimento rápido: O Expo simplifica o processo de desenvolvimento, permitindo que você se concentre mais na criação de seu aplicativo do que em configurações e personalizações.

CONTRAS:

  • Menor controle: O Expo oferece menos controle sobre o projeto, limitando as opções de personalização e ajustes.

  • Limitações: O Expo tem limitações quanto à quantidade de bibliotecas nativas que você pode adicionar ao seu projeto, pois algumas bibliotecas podem não ser suportadas pelo Expo.

  • Dependência de terceiros: Você estará dependendo do Expo para gerenciar seu projeto, o que pode ser um problema.

O React Native recomenda o uso do React Native CLI se você já estiver familiarizado com o Desenvolvimento Mobile(usando Java e ObjetiveC). No entanto, se você é novo no desenvolvimento de aplicativos mobile e deseja configurar o projeto mais rapidamente,sem muitas configuraçõe, o Expo CLI é recomendado.

Espero que esta artigo tenha dado um caminho para suas dúvidas. Obrigado por ler!!!

Top comments (0)