React Native CLI
CLI é uma sigla em inglês que significa command-line interface, ou interface de linha de comando. É uma forma de manipular uma aplicação através de linhas de comando e não de interface gráfica. Utilizamos CLI, geralmente, para configurar computadores, acessando recursos que não estão disponíveis na interface gráfica.
As diferenças entre utilizar o CLI ou não, é que se você deseja acessar recursos como integração de bibliotecas nativas de terceiros ou estender funcionalidades do aplicativo, não é possível fazer isso com o Expo, através da interface. Então, será necessário utilizar o CLI do Expo ou do React Native. Os projetos da Expo, não possuem códigos nativos IOS e Android liberados, então quando o React Native é atualizado, demora um pouco para que o Expo também seja. Se você quiser utilizar o bluetooth por exemplo, com o Expo você encontrará dificuldades até que essa atualização seja liberada.
Existem algumas formas de desenvolver aplicativos com React Native, como por exemplo utilizando o Expo, que é um framework que facilita bastante nosso trabalho, trazendo funcionalidades prontas para serem aplicadas no projeto, ou utilizando o React Native CLI, que é a versão onde podemos acessar de forma mais personalizável os arquivos de configuração da aplicação, pois estamos trabalhando com React Native puro, digamos assim.