Desde o lançamento de do React 17 no outono de 2020, a comunidade de desenvolvedores tem grandes expectativas na próxima versão do React Native. React Native 0.64 foi lançado em março de 2021 em meio a muita fanfarra e especulação. A nova versão traz alguns novos recursos interessantes que irão beneficiar toda a comunidade, especialmente os desenvolvedores iOS que anteciparam com entusiasmo o lançamento do Hermes na plataforma.

Neste guia, daremos uma olhada no que há de novo no React Native 0.64, incluindo:

Hermes no iOS

Hermes é um mecanismo JavaScript de código aberto otimizado para executar React Native em várias plataformas. O Hermes melhora o desempenho do aplicativo diminuindo a utilização da memória, reduzindo o tamanho do download do aplicativo e reduzindo o tempo que leva para se tornar utilizável ou tempo para interação (TTI).

A Hermes estava anteriormente disponível apenas para Android como uma opção. Com esta atualização, Hermes também está disponível no iOS .

Conforme o ecossistema React Native cresceu, os desenvolvedores encontraram desafios relacionados à produção de aplicativos em grande escala. O tamanho enorme do pacote, o uso excessivo da memória do telefone e o aumento do tempo de interação, para citar alguns problemas, podem resultar em uma experiência do usuário ruim.

Os engenheiros do Facebook criaram o Hermes como uma solução leve para esses problemas. No entanto, antes do lançamento do React Native 0.64, o desenvolvedor iOS enfrentou uma batalha difícil quando se tratava de manter o mesmo nível de qualidade.

A inclusão do Hermes no iOS ajuda os aplicativos React Native a ter um melhor desempenho, torna-os mais leves e diminui o tempo de interação em plataformas iOS. Isso deve incentivar a comunidade React Native a contribuir ainda mais para o crescimento da Hermes e da plataforma em geral.

Mudança de um projeto existente para Hermes

Antes de mudar um projeto existente para Hermes, você deve garantir que atualizou o projeto para usar o React Native 0.64. Para habilitar o Hermes no iOS, defina hermes_enabled como true em seu podfile e execute pod install .

É importante notar que o suporte para Hermes ainda está em sua forma incipiente no iOS. Podemos esperar mais melhorias e suporte nos próximos dias.

Para ativar o Hermes no Android, adicione enableHermes: true ao seu arquivo android/app/build.gradle .

Visualização de traços de Hermes com o Chrome

No ano passado, o Facebook patrocinou a bolsa Major League Hacking e apoiou contribuições para React Native, incluindo o uso da guia Performance no Chrome DevTools para visualizar a execução de um aplicativo React Native ao usar o Hermes.

Embora útil, esse recurso não é inteiramente novo porque você já pode criar o perfil de seu aplicativo React Native em execução no Hermes. Mas, executando este novo comando, você pode converter um perfil de rastreamento Hermes em um perfil de rastreamento Chrome e puxá-lo para a máquina local:

 react-native profile-hermes [destinationDir] 

Saiba mais sobre como registrar um perfil de amostragem Hermes no formulário oficial docs.

Hermes com suporte a proxy

O React Native 0.64 também traz suporte de proxy para Hermes. Esse suporte permite a compatibilidade com os projetos populares da comunidade, como React Native Firebase e M ob X . Se você tem usado esses pacotes, agora você pode migrar seu projeto para Hermes.

A equipe React Native está planejando tornar o Hermes o mecanismo JavaScript padrão para Android em uma versão futura. Se você encontrar um problema ao usar o Hermes em seus projetos do React Native, você deve relatá-lo .

Inline requer habilitado por padrão

Inline requer é uma opção de configuração Metro que pode ajudar a acelerar o tempo de inicialização de um aplicativo atrasando a execução de módulos JavaScript até que sejam usados. Tradicionalmente, a execução de módulos JavaScript começa na inicialização.

Este recurso existe há alguns anos como uma opção de configuração opcional, mas o React Native 0.64 tem essa opção habilitada por padrão para ajudá-lo a criar aplicativos móveis de rápido desempenho sem nenhuma configuração extra.

Requer inline é uma transformação Babel. Ele faz a importação de módulos e os converte para inline.

Vejamos um exemplo em que inline requer transforma uma chamada de importação de módulo de estar no topo do arquivo para onde é usada.

Antes:

 import {TestFunction} do'módulo de teste'; const TestComponent=(props)=> { resultado const=TestFunction (); return  {result} ;
};

Depois:

 const TestComponent=(props)=> { const result=require ('test-module'). TestFunction (); return  {result} ;
};

Reação 17

O React 17 não inclui nenhum recurso novo ou nenhuma mudança significativa voltada para o desenvolvedor. A postagem do blog oficial observou que React 17 é um lançamento de “trampolim” projetado para fazer é mais seguro incorporar uma árvore gerenciada por uma versão do React dentro de uma árvore gerenciada por outra versão. Também torna mais fácil incorporar o React a aplicativos criados com outras estruturas.

Além disso, uma nova transformação JSX elimina a necessidade de importar React para usar JSX. Este é um recurso opcional e a equipe React observou que planeja continuar com o suporte para a transformação JSX clássica.

Mudanças de dependência

  • O React Native retirou o suporte para os níveis 16–20 da API Android. À medida que o aplicativo do Facebook deixa de oferecer suporte para essas versões do Android, o React Native seguirá o exemplo
  • Xcode 12 e CocoaPods 1,10 agora são necessários
  • O suporte mínimo para Node.js aumentou da versão 10 para a 12
  • Flipper saltou para 0.75.1

Conclusão

Graças aos esforços de mais de 100 colaboradores em todo o mundo, React Native 0.64 já está no ar. Este novo lançamento é benéfico e apoia toda a comunidade React Native. Com a ajuda da comunidade para detectar bugs, podemos esperar mais melhorias nos próximos lançamentos.

A postagem O que há de novo no React Native 0.64 apareceu primeiro no LogRocket Blog .

Source link