Novidades da Versão 0.74 do React Native

React Native 2 de Mai de 2024

O React Native lançou recentemente a versão 0.74. Essa atualização traz uma série de melhorias significativas, aprimorando a experiência tanto para desenvolvedores quanto para usuários finais. Vem comigo ficar pode dentro das principais novidades dessa versão.

Yoga 3.0

Uma das mudanças mais significativas é a inclusão do Yoga 3.0. Essa biblioteca é fundamental para a estilização de layouts no React Native, facilitando a conversão de propriedades CSS para comandos de layout compreendidos pelas plataformas nativas, como Android e iOS.

Além disso, a nova versão do Yoga traz suporte para a propriedade align-content no modo space-evenly, permitindo uma distribuição uniforme de espaçamentos, tanto internos quanto externos. Essa atualização também alinha o comportamento do Yoga mais de perto com o CSS Flexbox, facilitando a vida dos desenvolvedores que trabalham em ambos os ambientes.

Nova Arquitetura: Fabric

Outra grande novidade é a adoção mais ampla da nova arquitetura do React Native, conhecida como Fabric. Introduzida gradualmente desde a versão 0.68, a nova arquitetura visa melhorar a integração entre JavaScript e o lado nativo, por meio de três componentes principais:

JSI (JavaScript Interface): Conecta o código JavaScript diretamente à interface nativa, eliminando a necessidade de serialização de JSON pela Bridge. Isso permite uma comunicação mais rápida e eficiente entre JavaScript e o lado nativo, proporcionando uma experiência mais fluida para o usuário.

Turbo Modules: Carrega componentes apenas quando são necessários, otimizando o desempenho e reduzindo o tempo de carregamento do aplicativo.

Codegen: Automatiza a compatibilidade entre o JavaScript e o lado nativo, gerando interfaces necessárias para o funcionamento do Turbo Modules e do Fabric, evitando verificações de tipo em tempo de execução.

Melhorias de Desempenho

A versão 0.74 também traz aprimoramentos significativos no desempenho. Um exemplo disso é a otimização do método onLayout, que agora agrupa atualizações de estado, reduzindo renderizações desnecessárias e aumentando a eficiência do aplicativo.

function MyComponent(props) {
  const [state1, setState1] = useState(false);
  const [state2, setState2] = useState(false);

  return (
    <View>
      <View
        onLayout={() => {
          setState1(true);
       }}>
      <View
         onLayout={() => {
          // When this event is executed, state1's new value is no longer observable here.
          setState2(true);
        }}>
      </View>
    </View>
  );
}

Isso é especialmente importante para aplicações complexas que dependem de múltiplos estados.

Gerenciamento de Pacotes e SDK

Outra atualização importante é a adoção do Yarn 3 como o gerenciador de pacotes padrão para novos projetos React Native. Essa mudança ajuda a modernizar o gerenciamento de pacotes, tornando o processo mais ágil e eficiente.

$ yarn --help
━━━ Yarn Package Manager - 3.6.4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  $ yarn <command>

Além disso, a SDK mínima do Android foi atualizada para a versão 23, melhorando a compatibilidade com dispositivos mais recentes e reduzindo o tamanho do aplicativo final.

Essa redução de tamanho é significativa, como exemplificado por uma redução de aproximadamente 4 MB no tamanho de um aplicativo recém-criado em comparação com a versão anterior.

Descontinuações

A versão 0.74 também descontinua alguns recursos obsoletos, incentivando desenvolvedores a adotar práticas mais modernas:

  1. PropTypes: Este método de verificação de tipos, amplamente utilizado antes do TypeScript, foi removido. Isso incentiva desenvolvedores a migrarem para o TypeScript, melhorando a verificação de tipos e simplificando a experiência de desenvolvimento.
  2. PushNotificationIOS: Essa API foi removida devido à sua incompatibilidade com os requisitos da Apple. No lugar dela, a recomendação é usar um pacote separado da comunidade, [@react-native-community/push-notification-ios](<https://github.com/react-native-push-notification/ios>).

Compatibilidade com Expo

Para desenvolvedores que utilizam a plataforma Expo, a versão 0.74 do React Native é compatível com o Expo SDK 51, que será lançado em breve. Essa integração é fruto de uma colaboração próxima entre as equipes do React Native e do Expo, garantindo uma experiência de desenvolvimento suave e integrada.

A versão 0.74 do React Native traz uma série de melhorias que aprimoram o desempenho, simplificam a arquitetura e modernizam o ecossistema de desenvolvimento móvel. Essas mudanças beneficiam tanto desenvolvedores quanto usuários finais, alinhando a plataforma aos padrões modernos da web e melhorando a compatibilidade com as últimas versões de Android e iOS. Além disso, a atualização promove uma experiência de desenvolvimento mais fluida e integrada, consolidando o React Native como uma escolha de primeira linha para a criação de aplicativos móveis.

Marcadores