DEV Community

Lucas
Lucas

Posted on

Introdução ao expo-dev-client

Introdução

Se você iniciou no desenvolvimento de apps com Expo, deve ter notado que ele facilita muito alguns dos processos do React Native, sendo uma ferramenta conhecida por simplificar o desenvolvimento de aplicativos móveis, atuando desde em configurações do seu ambiente até em deploy dos seus aplicativos.

No entanto, em alguns momentos você provavelmente vai sentir falta de ter um controle maior do seu desenvolvimento ou querer utilizar de algumas bibliotecas que precisam de dependências nativas e não são suportadas diretamente pelo Expo, esse é um problema comum e para resolver ele podemos utilizar da ferramenta expo-dev-client

O que é o expo-dev-client

O expo-dev-client é um package da própria Expo que permite você a utilizar dependências nativas em sua aplicação, não ficando mais limitado apenas as libs do Expo e tendo uma experiência de desenvolvimento "quase nativa".

Alguns exemplos de bibliotecas que requerem de código-fonte nativo personalizado são a React Native Firebase e o Realm, ou seja, caso você queira utilizar algumas delas e ainda continuar utilizando do Expo, o expo-dev-client vai se tornar uma ferramenta útil para você.

Para iniciar o seu uso os passos são bem simples:

  1. Instale o package com o seguinte comando:

    npm i expo-dev-client
    
  2. Gere então o código-fonte nativo com o comando prebuild:

    npx expo prebuild
    

    Esse comando gera automaticamente o código seguindo alguns fatores, recomendo dar uma olhada no comando prebuild pra ver melhor possíveis especificações, após finalizar serão geradas as pastas android/ e ios/ no seu ambiente de desenvolvimento.

  3. Realize o build da aplicação com os comandos:

    npx expo run:android
    // ou
    npx expo run:ios
    

    Esse comando vai compilar e iniciar a sua aplicação no dispositivo conectado.

Obs: Após isso, caso tenha compilado e não iniciado seu aplicativo, você pode utilizar o comando npx expo start --dev-client, e vale informar também que esse é um processo fora do aplicativo Expo Go, então você não conseguirá utilizar dele nesse caso.

Essa foi apenas uma pequena introdução sobre a ferramenta até porque eu tinha esquecido dela e pesquisei para relembrar, você pode procurar ver mais sobre na documentação também: Development builds

Top comments (3)

Collapse
 
nahtanpng profile image
Nathan Ferreira

Vai auxiliar muito quem programa aplicações em React Native com expo, ótimo artigo!

Collapse
 
lucasm4sco profile image
Lucas

Vlw mano, realmente é uma ferramenta que vale a pena conhecer ao lidar com Expo, mesmo sendo introdutório.

Collapse
 
margarette1011 profile image
Margarette Storie