Saltar al contenido principal

Anunciando React Native 0.70

· 6 min de lectura
Dmytro Rykun
Dmytro Rykun
Software Engineer @ Meta
Thibault Malbranche
Thibault Malbranche
Lead Mobile Engineer @ Brigad
Nicola Corti
Nicola Corti
Software Engineer @ Meta
Lorenzo Sciandra
Lorenzo Sciandra
Senior Software Engineer @ Microsoft
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

Nos complace anunciar una nueva versión de React Native, la 0.70.0. Esta versión incluye varias mejoras como una configuración unificada para Codegen, Hermes como motor predeterminado y soporte completo de CMake para builds de Android, junto con una actualización de la documentación de la Nueva Arquitectura. ¡Sigue leyendo para conocer más detalles!

Secciones

Nueva documentación de la Nueva Arquitectura

Durante los últimos meses, hemos trabajado para ampliar el contenido de la sección Nueva Arquitectura en nuestra documentación. En esta nueva sección encontrarás guías de migración, ejemplos y tutoriales para ponerte al día rápidamente.

Además, hemos añadido nuevos documentos que profundizan en los motivos para crear una Nueva Arquitectura y sus diferentes componentes. Esperamos que esto te ayude a comprender mejor la lógica detrás de las nuevas APIs.

Agradecemos cualquier comentario que quieras compartir en el repositorio de react-native-website.

Hermes como motor predeterminado

React Native 0.70 es la primera versión que incluye Hermes, nuestro motor JavaScript interno, activado por defecto.

Esto es resultado del esfuerzo colaborativo entre el equipo de Hermes y el de React Native, junto con invaluables contribuciones de la comunidad. Trabajamos para mejorar y optimizar Hermes, haciéndolo más eficiente e implementando funciones muy solicitadas por los desarrolladores.

Puedes leer más detalles en la publicación oficial del anuncio.

Configuración unificada para Codegen

En la versión 0.70, presentamos una forma unificada de definir las especificaciones de Codegen para iOS y Android. Anteriormente, la configuración de Android requería un archivo build.gradle separado.

Ahora puedes definirlo directamente en el package.json con:

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

Esta mejora ofrece una experiencia más consistente a los mantenedores de bibliotecas durante la migración a la Nueva Arquitectura.

Si eres mantenedor de una biblioteca, por favor comparte tu experiencia en esta discusión del grupo de trabajo de Nueva Arquitectura.

Auto-enlace en Android para bibliotecas de Nueva Arquitectura

Con la versión 0.70, los usuarios de la Nueva Arquitectura pueden enlazar bibliotecas automáticamente sin configuración adicional en sus archivos Android.mk o CMake.

El autolinking es una parte crucial de la experiencia de desarrollo en React Native. Permite incluir bibliotecas externas con un comando yarn add, sin necesidad de configurar CocoaPods o Gradle.

La Nueva Arquitectura nos obligó a adaptar las funciones de auto-linking para admitir bibliotecas que utilizan Codegen y exponen código nativo a los desarrolladores de aplicaciones.

Aunque el auto-linking funcionaba correctamente para bibliotecas de Nueva Arquitectura en iOS, no ocurría lo mismo en Android. Con la versión 0.70 hemos cerrado esta brecha y ahora puedes seguir añadiendo bibliotecas con yarn add a tu proyecto: se vincularán correctamente en cualquier arquitectura.

Compatibilidad total con CMake para compilaciones Android

A partir de la versión 0.70, los usuarios pueden utilizar CMake para configurar sus compilaciones nativas. Aunque no esperamos que los desarrolladores escriban directamente código C++, aún necesitan un punto de entrada para la compilación nativa.

Ahora puedes usar un archivo CMakeLists.txt en lugar de Android.mk para cualquier aspecto relacionado con Android/Nativo en tu proyecto.

Este cambio beneficia tanto a usuarios de aplicaciones como de bibliotecas en la Nueva Arquitectura porque:

  • El archivo CMake creado en tu aplicación es mucho más pequeño (3 líneas de código frente a más de 50 para archivos Android.mk). Esto facilita las actualizaciones entre versiones de React Native y reduce el código a mantener.

  • Codegen ahora genera tanto Android.mk como CMakeLists.txt, por lo que las bibliotecas no necesitan hacer nada si usan la configuración predeterminada que proporcionamos.

  • El auto-linking mencionado anteriormente funciona con archivos CMake y Android.mk sin configuración adicional.

  • Aunque las aplicaciones pueden usar libremente archivos Android.mk o CMake, la solución recomendada para el futuro son los archivos CMake (debido a su mejor documentación, herramientas y ecosistema).

Aspectos destacados de la versión 0.70

Como mencionamos anteriormente, algunas mejoras importantes de esta versión giran en torno a la experiencia de Nueva Arquitectura. Sin embargo, también hay otros cambios notables:

Cambios importantes

También ha habido algunos cambios importantes:

Ten en cuenta también que la versión de Metro se ha actualizado a 0.72, que incluye 5 cambios importantes.

Actualizaciones

Y hemos actualizado algunas de nuestras dependencias:

  • Actualización de RN CLI a la versión 9.0.0

  • Actualización de Android Gradle Plugin a la versión 7.2.1

  • Actualización de Gradle a la versión 7.5.1

  • Actualización de RCT-Folly a 2021-07-22

  • Actualización de Metro a la versión 0.72

  • Actualización de SoLoader a la versión 0.10.4

Puedes consultar la lista completa de cambios en el registro de cambios.

Agradecimientos

88 colaboradores con 493 commits han hecho posible esta versión: ¡gracias a todos! También estamos agradecidos con quienes aportaron sus comentarios para garantizar la máxima estabilidad de este lanzamiento.