1 00:00:02,410 --> 00:00:05,770 Você poderia dizer que existem cerca de três maneiras de criar um 2 00:00:05,770 --> 00:00:09,420 aplicativo React Native - um deles é o expo com o chamado fluxo 3 00:00:09,430 --> 00:00:14,920 de trabalho gerenciado, que é a abordagem que usamos no curso e que tem uma espécie de linha tracejada em 4 00:00:14,920 --> 00:00:20,290 torno dele, porque isso não é realmente uma alternativa para a criação de um aplicativo não expo, é claro 5 00:00:20,440 --> 00:00:21,440 que isso abraça 6 00:00:21,450 --> 00:00:27,190 fortemente a expo. É a abordagem que usamos no curso. É fácil de usar, possui praticamente nenhuma configuração, funciona de 7 00:00:27,190 --> 00:00:33,250 maneira imediata, você pode testar facilmente o aplicativo em um dispositivo real, possui vários módulos nativos integrados, super fáceis de instalar e usar. 8 00:00:33,730 --> 00:00:39,610 É controlado com a CLI expo, basta digitar npm start ou expo start, você possui as ferramentas expo dev no 9 00:00:39,610 --> 00:00:46,710 navegador, é fácil de executar em simuladores e dispositivos reais e ainda pode obter um aplicativo independente que pode ser implantado, que, como expliquei, 10 00:00:46,720 --> 00:00:53,080 contém o cliente expo como um invólucro, por assim dizer. Como você também pode testá-lo facilmente 11 00:00:53,080 --> 00:00:58,510 em dispositivos reais, tecnicamente nem é necessário instalar o Android Studio ou 12 00:00:58,600 --> 00:01:05,530 o Xcode para criar um aplicativo com expo. Eu o instalei e eu o instruí a instalá-lo neste curso 13 00:01:05,630 --> 00:01:11,320 para que pudéssemos ativar simuladores e testá-lo lá, porque eu não queria testá-lo constantemente em um dispositivo real e 14 00:01:11,320 --> 00:01:16,990 gravar a tela, mas você não não é necessário fazer isso, você pode testá-lo em um dispositivo real 15 00:01:16,990 --> 00:01:20,360 com o aplicativo cliente expo instalado apenas nele, então é algo 16 00:01:20,410 --> 00:01:23,120 que você pode fazer. Agora, essa é 17 00:01:23,200 --> 00:01:28,810 a abordagem que usamos, mas é claro que esse é um aplicativo pesado para expo, é um 18 00:01:28,840 --> 00:01:33,590 aplicativo totalmente no ecossistema da expo com todas as restrições ou desvantagens que descrevi. 19 00:01:33,640 --> 00:01:39,610 Agora, uma alternativa a isso é que você ainda usa o expo, mas o chamado fluxo de trabalho simples, 20 00:01:39,610 --> 00:01:44,380 ou cria um aplicativo React Native sem expo, com a CLI do React Native. 21 00:01:44,610 --> 00:01:51,720 Agora, o fluxo de trabalho expo bare pode ser criado do zero ou ejetado do fluxo de trabalho gerenciado, e 22 00:01:51,720 --> 00:01:55,080 isso é algo que também mostrarei neste módulo. 23 00:01:55,110 --> 00:02:01,530 Agora, quando você cria um aplicativo com o fluxo de trabalho simples, obtém um aplicativo não expo, cria um aplicativo 24 00:02:01,530 --> 00:02:03,490 nativo como o faria com 25 00:02:03,520 --> 00:02:05,950 a React Native CLI, para obter a mesma 26 00:02:05,970 --> 00:02:13,920 base, a diferença é que você ainda pode use pacotes especiais de exposição. A instalação deles é um pouco mais complexa do que 27 00:02:13,920 --> 00:02:20,040 quando você está no fluxo de trabalho gerenciado, é necessário fazer mais trabalho manual de conexão, pelo 28 00:02:20,040 --> 00:02:27,330 menos em alguns pacotes, mas muitos, não todos, mas todos os pacotes expo incluídos no fluxo de trabalho gerenciado estão disponíveis 29 00:02:27,420 --> 00:02:32,560 como pacotes autônomos que você pode trazer para qualquer aplicativo React Native e a 30 00:02:32,640 --> 00:02:38,480 equipe da expo está trabalhando para disponibilizar cada vez mais pacotes fora do fluxo de trabalho gerenciado. 31 00:02:38,970 --> 00:02:45,450 Assim, você pode trazer isso e, com o fluxo de trabalho simples, é relativamente fácil adicionar esses pacotes, não tão fácil e rápido como no 32 00:02:45,450 --> 00:02:50,870 fluxo de trabalho de gerenciamento, mas ainda assim, muito fácil. Ao criar um aplicativo sem expo, com a CLI 33 00:02:50,890 --> 00:02:51,900 do React Native, 34 00:02:51,930 --> 00:02:58,420 você ainda pode trazer esses pacotes, mas é necessária mais configuração manual. Agora, como eu disse, é relativamente fácil de configurar e 35 00:02:58,420 --> 00:03:01,660 gerenciar no fluxo de trabalho simples, você precisa gerenciar 36 00:03:01,660 --> 00:03:04,610 mais no fluxo de trabalho do React Native 37 00:03:04,630 --> 00:03:12,790 CLI, para que você realmente construa tudo sem o suporte da expo. Com relação aos módulos nativos que você usa, você pode usar qualquer 38 00:03:13,480 --> 00:03:19,540 módulo nativo que desejar, também os que não sejam da expo, você pode trazer esses pacotes especiais da expo 39 00:03:19,540 --> 00:03:23,620 que você precisa conectar manualmente, mas pode trazer qualquer outro módulo nativo. 40 00:03:23,620 --> 00:03:28,480 Agora, quando criamos e distribuímos o aplicativo, com o fluxo de trabalho gerenciado que 41 00:03:28,480 --> 00:03:35,650 você verá no módulo de implantação que é super fácil de fazer, com o fluxo de trabalho simples, é um pouco "mais 42 00:03:35,650 --> 00:03:42,700 difícil" entre aspas, exige mais trabalho com o Android Studio e Xcode e não é tão fácil quanto no fluxo de trabalho 43 00:03:42,940 --> 00:03:48,670 gerenciado da expo, você também, por exemplo, e essa é uma restrição importante, não poderá criar aplicativos iOS 44 00:03:48,670 --> 00:03:49,520 no Windows. 45 00:03:49,660 --> 00:03:54,910 Isso é possível no fluxo de trabalho gerenciado porque a compilação não ocorrerá na sua máquina, mas 46 00:03:54,910 --> 00:04:00,160 na nuvem, com o fluxo de trabalho simples e com a CLI do React Native, você é 47 00:04:00,160 --> 00:04:05,260 responsável pela criação dos aplicativos e, portanto, precisa fazê-lo localmente na sua máquina e, portanto, devido às 48 00:04:05,260 --> 00:04:10,320 restrições da Apple, você não poderá criar um aplicativo iOS no Windows ou Linux; portanto, é 49 00:04:10,330 --> 00:04:12,630 uma coisa a ter em mente também. 50 00:04:12,670 --> 00:04:14,820 Então você faz tudo por conta 51 00:04:14,950 --> 00:04:20,320 própria, precisa das ferramentas instaladas e, embora não as utilize para escrever código, precisará mexer nelas um 52 00:04:20,320 --> 00:04:27,360 pouco e usá-las para criar seu aplicativo e implantar no final. Essas são as 53 00:04:27,360 --> 00:04:29,830 alternativas. Agora, para implantação, terei 54 00:04:29,830 --> 00:04:35,050 um módulo separado, onde veremos como isso funciona com o fluxo de trabalho gerenciado e também sem o fluxo 55 00:04:35,050 --> 00:04:36,700 de trabalho gerenciado. Portanto, não é 56 00:04:36,820 --> 00:04:39,820 algo em que vou me concentrar neste módulo, mas no módulo 57 00:04:39,820 --> 00:04:45,130 que desejo para mostrar como você cria um aplicativo com a React Native CLI, como também o cria com expo 58 00:04:45,140 --> 00:04:50,350 no fluxo de trabalho simples e como é possível ejetar do fluxo de trabalho gerenciado para o fluxo de 59 00:04:50,350 --> 00:04:51,280 trabalho simples. 60 00:04:51,280 --> 00:04:56,560 Também veremos como você pode adicionar alguns recursos nativos do dispositivo nessas duas alternativas, porque essa é 61 00:04:56,590 --> 00:05:00,390 a parte em que difere principalmente do fluxo de trabalho gerenciado. 62 00:05:00,540 --> 00:05:05,130 A maneira como você escreve seus componentes e assim por diante, e quais componentes você usa no React Native, isso 63 00:05:05,130 --> 00:05:10,710 não difere, porque não havia nada específico sobre a exposição nisso. Em outras palavras, se dermos uma olhada 64 00:05:10,710 --> 00:05:14,370 no projeto em que trabalhamos no início do curso, este projeto 65 00:05:14,370 --> 00:05:20,100 de módulo nativo, essencialmente o que você perderá quando não estiver usando o fluxo de trabalho gerenciado, 66 00:05:20,460 --> 00:05:24,960 são todas as importações relacionadas à exposição, tudo o que você está importando da 67 00:05:25,080 --> 00:05:31,290 expo, isso basicamente é algo que agora é mais difícil ou que agora você precisa fazer de maneira diferente. 68 00:05:31,290 --> 00:05:36,540 Se você não estiver usando o expo como neste arquivo, esse arquivo não precisaria ser alterado, apenas os 69 00:05:36,540 --> 00:05:42,120 arquivos em que você usa algo do expo precisam ser ajustados ou precisam ser implementados de maneira diferente quando 70 00:05:42,240 --> 00:05:48,190 não estiver usando o fluxo de trabalho gerenciado ou preciso, você pode não ser mais capaz de usar determinados pacotes ou 71 00:05:48,270 --> 00:05:52,810 ainda pode usá-los e provavelmente nem precisa tocar no seu código, mas para usá-los, você 72 00:05:52,920 --> 00:05:58,020 precisa realizar mais trabalhos de configuração manual do que precisa fazer com expo e o fluxo de 73 00:05:58,020 --> 00:05:58,910 trabalho gerenciado.