1 00:00:02,200 --> 00:00:04,510 Então, agora que aprendemos sobre todas 2 00:00:04,510 --> 00:00:09,860 essas alternativas, a pergunta óbvia é: qual abordagem você deve usar para seu aplicativo? 3 00:00:09,860 --> 00:00:15,250 Agora, acho que ao longo do curso, você viu que usar a expo em geral é uma 4 00:00:15,260 --> 00:00:21,000 experiência incrível de desenvolvimento, tudo é super rápido, é fácil testar alterações tanto em simuladores quanto em dispositivos reais. 5 00:00:21,050 --> 00:00:22,940 Você não precisa criar localmente; 6 00:00:22,960 --> 00:00:29,990 portanto, também é possível criar e testar para iOS, sistemas Windows e Linux, o que não é possível sem o 7 00:00:30,170 --> 00:00:32,050 fluxo de trabalho gerenciado e 8 00:00:32,390 --> 00:00:34,150 isso é muito legal. 9 00:00:34,370 --> 00:00:39,950 Mas quando comparamos as configurações expo a não expo e com não expo, quero dizer, criando-o com o React Native 10 00:00:39,950 --> 00:00:43,610 CLI ou usando um fluxo de trabalho de expo, então é claro 11 00:00:43,610 --> 00:00:45,760 que temos que comparar todas as coisas. 12 00:00:45,770 --> 00:00:52,760 Portanto, como mencionado na expo, com o fluxo de trabalho gerenciado, é fácil usar que, fácil de desenvolver, não expo 13 00:00:52,820 --> 00:00:55,970 significa mais configuração manual e assim por diante. 14 00:00:55,970 --> 00:01:01,310 Agora, você também terá facilidade em implantar seu aplicativo, como também verá na seção de implantação, e 15 00:01:01,700 --> 00:01:06,260 poderá criar e implantar para iOS se estiver na máquina Windows ou Linux, algo que 16 00:01:06,260 --> 00:01:09,500 não é possível sem o fluxo de trabalho gerenciado. 17 00:01:09,860 --> 00:01:15,590 Portanto, existem algumas restrições e implantação, como você verá, também exige mais trabalho manual, como o 18 00:01:15,710 --> 00:01:23,520 fluxo de trabalho que não é de exposição, em geral. Quando no mundo do fluxo de trabalho gerenciado da expo, também temos 19 00:01:23,520 --> 00:01:25,200 uma rica variedade de módulos 20 00:01:25,260 --> 00:01:32,760 nativos; portanto, todas essas APIs de expo que são sempre fáceis de usar, apenas uma expo instalada, não precisam de nenhuma configuração, então isso 21 00:01:32,760 --> 00:01:33,200 é 22 00:01:33,210 --> 00:01:38,070 realmente incrível e você fica bonito tudo o que você poderia querer em um aplicativo nativo 23 00:01:38,070 --> 00:01:41,440 lá - câmera, localização, sistema de arquivos, está tudo lá. 24 00:01:41,910 --> 00:01:46,440 Se, às vezes, você precisar de algo que não é suportado ou precisar escrever seu próprio 25 00:01:46,470 --> 00:01:52,560 código nativo ao qual deseja se conectar ao React Native, seu próprio pacote ou o que for, então a não-expo é a solução. 26 00:01:52,560 --> 00:01:59,700 Portanto, é possível usar qualquer código nativo, mas é claro, é necessário configurá-lo manualmente e isso pode ser fácil 27 00:01:59,700 --> 00:02:07,140 com o link React Native como você viu ou mesmo em algumas bibliotecas de vínculo automático, mas você também pode ter 28 00:02:07,140 --> 00:02:09,060 bibliotecas que exigem mais esforço. 29 00:02:09,060 --> 00:02:14,820 Além disso, é importante notar que é claro que as bibliotecas de terceiros precisam ser mantidas para 30 00:02:14,820 --> 00:02:20,850 manter-se atualizado com o React Native e as versões mais recentes do React Native, mas também precisam se 31 00:02:20,940 --> 00:02:22,440 manter atualizados com o 32 00:02:22,440 --> 00:02:27,740 Android e iOS, pois essas plataformas também evoluir e introduzir novos recursos ou descontinuar recursos antigos. 33 00:02:27,930 --> 00:02:34,410 É garantido que as APIs da expo são mantidas porque a equipe da expo está ativa, está trabalhando nisso 34 00:02:34,410 --> 00:02:37,710 e é um ecossistema inteiro que trabalha em conjunto. 35 00:02:37,950 --> 00:02:40,740 Isso pode não ser verdade para todos os 36 00:02:40,740 --> 00:02:45,840 pacotes de terceiros, portanto, essa segurança extra obtida com os pacotes expo é definitivamente muito boa. 37 00:02:45,840 --> 00:02:52,920 Dito isso, como você viu com o fluxo de trabalho simples, é claro que também é possível adicionar certas APIs de 38 00:02:52,920 --> 00:02:55,160 expo a aplicativos não gerenciados, mas 39 00:02:55,170 --> 00:03:02,910 nem todas, isso é possível, mas exige um pouco mais de trabalho. Agora é claro que o fluxo de trabalho gerenciado tem desvantagens, é 40 00:03:02,910 --> 00:03:07,600 um invólucro em torno de seu aplicativo e, claro, afeta o tamanho e o desempenho, 41 00:03:07,710 --> 00:03:14,640 provavelmente não da maneira que você sentirá ou verá, mas vale a pena notar, há um invólucro extra fino e você não tem 42 00:03:14,840 --> 00:03:19,610 isso no fluxo de trabalho simples ou quando apenas trabalha com a React Native CLI e, 43 00:03:20,520 --> 00:03:24,000 é claro, como mencionado, está restrito aos módulos nativos integrados. 44 00:03:24,000 --> 00:03:27,700 Existem vários deles e provavelmente tudo o que você pode precisar, mas 45 00:03:28,200 --> 00:03:31,580 se você precisar de algo que não esteja incorporado na 46 00:03:31,620 --> 00:03:36,390 expo, portanto, uma API que não seja suportada pela expo, não haverá como fazê-la funcionar, 47 00:03:36,390 --> 00:03:39,710 então você precisará para ejetar porque apenas não expo e 48 00:03:39,720 --> 00:03:46,790 com isso quero dizer que aplicativos de fluxo de trabalho não gerenciado suportam todos os pacotes de terceiros e todos os módulos nativos 49 00:03:46,800 --> 00:03:48,550 que você pode querer usar. 50 00:03:48,780 --> 00:03:54,000 Portanto, minha sugestão seria que, para a maioria dos aplicativos, provavelmente todos os aplicativos, 51 00:03:54,000 --> 00:04:00,690 você trabalha com expo por causa da grande experiência de desenvolvimento e da grande flexibilidade que você tem lá. 52 00:04:00,690 --> 00:04:07,230 Como você sempre pode ejetar, não há muito a perder, você sempre pode voltar para um aplicativo gerenciado que não seja 53 00:04:07,230 --> 00:04:08,340 da expo, 54 00:04:08,370 --> 00:04:12,340 se quiser, como você viu, começando com um aplicativo que não seja 55 00:04:12,360 --> 00:04:17,180 da expo, portanto, com um aplicativo simples ou mesmo com apenas um aplicativo React Native 56 00:04:17,190 --> 00:04:23,460 CLI é uma boa idéia, se você souber que precisará de muitas funcionalidades nativas que não são suportadas pela expo 57 00:04:23,460 --> 00:04:29,460 ou se estiver criando um aplicativo de alto desempenho em que todos os kilobytes de empacotamento extra importam, é 58 00:04:29,460 --> 00:04:35,820 claro que você pode começar com esse aplicativo, mas, caso contrário, não vejo realmente nenhuma razão forte para não usar 59 00:04:35,820 --> 00:04:37,000 a expo e, especialmente, 60 00:04:37,290 --> 00:04:42,120 se você não estiver trabalhando em uma equipe enorme, em uma corporação ou algo assim, 61 00:04:42,330 --> 00:04:46,860 conseguir criar aplicativos iOS no Windows também é realmente uma coisa boa, e só 62 00:04:46,860 --> 00:04:54,420 isso também é uma boa razão para permanecer no mundo gerenciado. Portanto, esses são meus dois centavos sobre isso, já que 63 00:04:54,420 --> 00:04:55,890 você pode ejetar, não 64 00:04:55,890 --> 00:04:58,490 é necessário ter uma solução se você 65 00:04:58,500 --> 00:05:05,700 começar com ela, basta voltar do zero ou da configuração somente da CLI do React Native para o fluxo 66 00:05:05,700 --> 00:05:11,250 de trabalho gerenciado. mais complicado porque lá, você precisa criar um novo projeto gerenciado da 67 00:05:11,250 --> 00:05:18,330 expo, copiar seu código e, se você usou bibliotecas de terceiros que não são da expo, não poderá mais 68 00:05:18,330 --> 00:05:19,280 usá-las. 69 00:05:19,290 --> 00:05:21,450 Portanto, mudar de volta pode ser 70 00:05:21,450 --> 00:05:26,610 difícil, alternar de expo gerenciado para expo não gerenciado, isso é muito fácil com a ejeção.