1 00:00:02,460 --> 00:00:06,610 Eu também não quero esconder que o React Native é um alvo 2 00:00:06,660 --> 00:00:10,010 rápido, temos novas versões sendo publicadas quase todo mês. 3 00:00:10,110 --> 00:00:15,480 Mudanças inesperadas acontecem e, é claro, farei o melhor para manter esse curso atualizado para informar 4 00:00:15,480 --> 00:00:21,210 sobre alterações e como ajustar seu código, mas, às vezes, basta voltar para um aplicativo criado há 5 00:00:21,210 --> 00:00:26,610 seis meses e você tem que mudar alguma coisa lá porque algo mudou na versão mais 6 00:00:26,610 --> 00:00:28,170 recente do React Native e 7 00:00:28,170 --> 00:00:33,930 para continuar trabalhando no seu aplicativo, você precisa alterar algo no código que costumava funcionar antes, isso é 8 00:00:33,930 --> 00:00:34,800 normal, isso 9 00:00:34,800 --> 00:00:35,850 vai acontecer, não 10 00:00:35,850 --> 00:00:41,800 todos os tempo, não todo mês, mas vai acontecer. Também no React Native, você normalmente 11 00:00:41,820 --> 00:00:45,120 tem uma alta dependência de pacotes de terceiros. 12 00:00:45,120 --> 00:00:51,600 Agora, a coisa boa é quando se trabalha com expo, isso é verdade apenas parcialmente porque a expo já é 13 00:00:51,600 --> 00:00:54,690 um wrapper com muitos recursos interessantes embutidos, portanto 14 00:00:54,690 --> 00:01:00,060 você tem uma alta dependência de expo ao trabalhar com isso, mas você não precisa encontre 15 00:01:00,060 --> 00:01:05,950 dezenas de outros pacotes de terceiros para acessar a câmera, para trabalhar com Bluetooth ou qualquer coisa assim. 16 00:01:06,030 --> 00:01:09,200 Se você está criando um aplicativo React Native bareboned, isso seria 17 00:01:09,290 --> 00:01:14,060 diferente, há apenas um conjunto básico de recursos embutido no React Native e, para a maioria 18 00:01:14,100 --> 00:01:19,320 das coisas que você deseja adicionar ao seu aplicativo nativo, você teria que entrar em contato outros pacotes 19 00:01:19,320 --> 00:01:21,550 gerenciados pela comunidade para fazê-los funcionar e 20 00:01:21,570 --> 00:01:26,600 até mesmo com a expo, precisaremos de alguns pacotes de terceiros para ter tudo o que queremos. 21 00:01:26,700 --> 00:01:31,350 E isso é algo que você tem, você tem essa dependência e isso, é claro, 22 00:01:31,350 --> 00:01:37,300 significa que se esses pacotes mudarem ou não forem mais mantidos, você terá que encontrar alternativas ou terá que atualizar 23 00:01:37,440 --> 00:01:44,400 seu código, então é algo que você também precisa ciente de. E Reagir Nativo simplesmente também tem alguns bugs, não os 24 00:01:44,400 --> 00:01:45,360 cruciais, você 25 00:01:45,390 --> 00:01:51,270 pode construir basicamente qualquer aplicativo que quiser com o React Native, mas às vezes, as coisas simplesmente 26 00:01:51,270 --> 00:01:56,360 não funcionam como você esperaria que funcionassem e você precisa ser criativo, encontrar soluções alternativas 27 00:01:56,430 --> 00:02:02,640 e e também neste curso eu também mostrarei algumas dessas coisas estranhas que o React Native tem, mas 28 00:02:02,730 --> 00:02:09,420 em geral, ao criar aplicativos React Native, você tem que estar disposto a ficar atualizado, usar o Google, mergulhar em 29 00:02:09,420 --> 00:02:15,690 discussões de questões e simplesmente tente as coisas. Com a expo, você tem uma experiência de desenvolvimento bastante 30 00:02:15,720 --> 00:02:22,770 suave, mas ainda assim, a estrada pode ser acidentada de tempos em tempos. Agora tudo isso pode soar muito ruim, então você não 31 00:02:22,800 --> 00:02:27,100 deveria aprender React Native então? Bem, vamos dar uma olhada nas alternativas. 32 00:02:27,220 --> 00:02:33,580 Claro que uma alternativa sempre é que você construa aplicativos nativos reais com o framework Android para 33 00:02:33,580 --> 00:02:37,710 Java ou Kotlin ou com o Swift, ObjectiveC para iOS. 34 00:02:38,290 --> 00:02:43,180 Você pode fazer isso, mas é claro que a desvantagem é que você tem que aprender essas linguagens e a enorme vantagem de 35 00:02:43,180 --> 00:02:49,330 trabalhar em um projeto e compartilhar um monte de código será totalmente perdida. Nos aplicativos Reagir Nativos, com certeza você provavelmente 36 00:02:49,330 --> 00:02:54,460 precisará ajustar seu código para a plataforma que está sendo executada de vez em 37 00:02:54,460 --> 00:03:01,330 quando, mas a grande maioria de sua base de código pode ser compartilhada e pode ser reutilizada sem nenhum ajuste. 38 00:03:01,330 --> 00:03:06,520 Se você está usando as linguagens de plataforma nativas, então você definitivamente tem que trabalhar em dois 39 00:03:06,520 --> 00:03:12,790 projetos totalmente diferentes e você não poderá reutilizar muito código. A alternativa também é que você crie um aplicativo 40 00:03:12,790 --> 00:03:13,210 da 41 00:03:13,240 --> 00:03:19,300 Web progressivo, que é um aplicativo da Web normal que utiliza alguns recursos que o fazem parecer um aplicativo 42 00:03:19,300 --> 00:03:26,230 para dispositivos móveis, mas não é distribuído pelas lojas de aplicativos e depende de usuários que usam os recursos você está usando 43 00:03:26,230 --> 00:03:30,550 e, se esse não for o caso, seu aplicativo não funciona muito bem. 44 00:03:30,560 --> 00:03:38,790 A terceira alternativa é que você usa o Ionic ou uma solução semelhante, o Ionic é uma ferramenta ou um framework que permite que você construa aplicativos nativos reais que você 45 00:03:38,820 --> 00:03:44,790 distribui através das lojas de aplicativos com tecnologias da web. No final, o Ionic usa um aplicativo da 46 00:03:44,790 --> 00:03:50,550 web normal e o envolve em um aplicativo nativo, de modo que ele não compila nada, apenas envolve e 47 00:03:50,550 --> 00:03:53,700 é uma boa abordagem. Na verdade, gosto do Ionic e 48 00:03:53,700 --> 00:03:59,320 pode ser perfeito para muitos aplicativos mas é claro, uma possível desvantagem é que o desempenho pode ser 49 00:03:59,340 --> 00:04:03,290 pior porque você só tem um aplicativo da web, você não tem um 50 00:04:03,330 --> 00:04:09,030 aplicativo nativo compilado e isso é algo que você tem com o React Native, claro, e já que 51 00:04:09,030 --> 00:04:15,060 obtivemos ferramentas e podemos adquirir conhecimento que nos ajuda a superar os desafios que o React Native às vezes apresenta, 52 00:04:15,090 --> 00:04:22,080 o React Native é uma ótima maneira de criar aplicativos nativos. Você pode compartilhar um código, obter um ótimo 53 00:04:22,260 --> 00:04:26,150 desempenho, distribuí-lo pelas lojas de aplicativos, o que é muito bom. 54 00:04:26,280 --> 00:04:32,160 Agora uma nota lateral, você também tem alternativas como Flutter ou Native Script, essas alternativas seguem uma 55 00:04:32,160 --> 00:04:37,770 abordagem semelhante à do React Native, você obtém um aplicativo compilado lá, eles simplesmente usam linguagens 56 00:04:37,770 --> 00:04:43,440 de programação diferentes, frameworks diferentes e anexados, você encontrará um link para um vídeo comparativo onde eu 57 00:04:43,440 --> 00:04:49,050 comparo todas essas alternativas caso você esteja interessado em um mergulho mais profundo nesse tópico.