Anunciando React Native 0.70

React Native v0.70.0

Foi lançado uma nova versão do React Native, 0.70.0. Esta versão vem com várias melhorias, como uma nova configuração unificada para o CodeGen, Hermes como mecanismo padrão e suporte completo ao Android, juntamente com uma atualização da documentação para a nova arquitetura.

Nos últimos meses, a equipe do React Native trabalharam para adicionar mais conteúdo à seção Nova arquitetura da documentação. Na nova seção, você pode encontrar guias de migração, exemplos e tutoriais para se atualizar.

Junto com ele, você pode encontrar novos documentos mergulhando em Por que uma Nova Arquitetura e suas várias partes. Esperamos que isso ajude você a entender melhor a lógica por trás das novas APIs.

Hermes como motor padrão

O React Native 0.70 é a primeira versão com Hermes habilitado por padrão.

Este é o resultado do esforço colaborativo entre a equipe Hermes e a equipe React Native, juntamente com as contribuições inestimáveis da comunidade. As equipes trabalharam para melhorar e ajustar o Hermes para torná-lo mais eficiente e fornecer recursos altamente solicitados pela comunidade.

Com a versão 0.70, introduziram uma maneira unificada de definir as especificações do Codegen para iOS e Android. Anteriormente, você tinha que colocar a configuração do Android em um arquivo build.gradle separado.

Agora, você pode defini-lo diretamente no package.json com:

"codegenConfig": {
"name": "CustomAnimationView",
"type": "components",
"jsSrcsDir": "./src",
"android": {
"javaPackageName": "com.custom.animation"
}
}

Essa melhoria fornece uma experiência mais consistente para os mantenedores de bibliotecas na migração de suas bases de código para a nova arquitetura.

Com a versão 0.70, os usuários da Nova Arquitetura podem vincular bibliotecas automaticamente sem qualquer configuração adicional em seus arquivos Android.mk ou CMake.

Autolinking é uma parte crucial da experiência de desenvolvimento React Native. Ele permite incluir bibliotecas externas com um comando yarn add, sem lidar com configurações de CocoaPods ou Gradle.

A Nova Arquitetura exigiu que adapta-se os recursos de vinculação automática para oferecer suporte a bibliotecas que estão usando o Codegen e expondo código nativo para desenvolvedores de aplicativos.

Embora o Autolinking tenha funcionado bem para bibliotecas de Nova Arquitetura no iOS, o mesmo não aconteceu com o Android. Com 0.70 fecharam essa lacuna e agora você pode continuar incluindo bibliotecas com yarn add ao seu projeto: elas serão vinculadas corretamente em qualquer arquitetura.

A partir da versão 0.70, os usuários agora podem usar o CMake para configurar suas compilações nativas. Embora não esperam que os usuários do aplicativo escrevam diretamente o código C++, você ainda precisa de um ponto de entrada para a compilação nativa.

A partir de agora, você pode usar um arquivo CMakeLists.txt em vez de um arquivo Android.mk para qualquer coisa relacionada ao Android/Native em seu projeto.

Essa mudança beneficia usuários de aplicativos e bibliotecas na Nova Arquitetura como:

  • O arquivo CMake criado em seu aplicativo é muito menor (3 linhas de código vs mais de 50 linhas de código para arquivos Android.mk). Isso facilita a experiência de atualização entre as versões do React Native no futuro e menos código para manter do seu lado.
  • Codegen agora está gerando Android.mk e CMakerLists.txt, então as bibliotecas não devem se preocupar em fazer nada se estiverem usando a configuração padrão para bibliotecas de Nova Arquitetura.
  • A vinculação automática mencionada acima funcionará com arquivos CMake e Android.mk prontos para uso.
  • Apesar de os aplicativos serem gratuitos para usar arquivos Android.mk ou CMake, a solução recomendada no futuro seriam arquivos CMake (devido à melhor documentação, ferramentas e ecossistema em torno do CMake).

Conforme mencionado acima, algumas das melhorias mais importantes nesta versão estão centradas na experiência da Nova Arquitetura. No entanto, houve outras mudanças notáveis, incluindo:

Também houve algumas mudanças:

E atualizamos algumas de nossas dependências:

  • Bump RN CLI to v9.0.0
  • Bump Android Gradle Plugin to 7.2.1
  • Bump Gradle to 7.5.1
  • Bump RCT-Folly to 2021–07–22
  • Bump Metro to 0.72
  • Bump SoLoader to 0.10.4

Você pode conferir a lista completa de alterações no Changelog.

88 colaboradores com seus 493 commits ajudaram a tornar esse lançamento possível — obrigado a todos! Também somos gratos a todos os outros que deram seus comentários para garantir que essa liberação seja o mais estável possível.

--

--

Software Enginner | Next.js | NestJs | React Native | Flutter | DevOps

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store