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.