Anunciamos React Native 0.64 con Hermes en iOS
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
Hoy lanzamos React Native 0.64 que incluye soporte para Hermes en iOS.
Hermes como opción en iOS
Hermes es un motor JavaScript de código abierto optimizado para ejecutar React Native. Mejora el rendimiento reduciendo el uso de memoria, disminuyendo el tamaño de descarga y acortando el tiempo hasta que la app se vuelve utilizable o "tiempo hasta la interacción" (TTI).
Con esta versión, nos complace anunciar que ahora también puedes usar Hermes para desarrollo en iOS. Para activarlo, establece hermes_enabled como true en tu Podfile y ejecuta pod install.
use_react_native!(
:path => config[:reactNativePath],
# to enable hermes on iOS, change `false` to `true` and then install pods
:hermes_enabled => true
)
Ten en cuenta que el soporte de Hermes en iOS aún está en etapa temprana. Lo mantenemos como opción mientras realizamos más pruebas de rendimiento. Te animamos a probarlo en tus aplicaciones y contarnos tu experiencia.
Inline Requires activado por defecto
Inline Requires es una opción de configuración de Metro que mejora el tiempo de inicio al retrasar la ejecución de módulos JavaScript hasta que se usan, en lugar de hacerlo al inicio.
Esta función ha existido y sido recomendada durante años como opción configurable, listada en la sección de Rendimiento de nuestra documentación. Ahora la activamos por defecto en nuevas aplicaciones para facilitar React Native rápido sin configuración adicional.
Inline Requires es una transformación de Babel que toma importaciones de módulos y las convierte en inline. Por ejemplo, transforma esta llamada de importación desde la parte superior del archivo hasta donde se utiliza.
Antes:
import {MyFunction} from 'my-module';
const MyComponent = props => {
const result = MyFunction();
return <Text>{result}</Text>;
};
Después:
const MyComponent = props => {
const result = require('my-module').MyFunction();
return <Text>{result}</Text>;
};
Más información sobre Inline Requires está disponible en la documentación de Rendimiento.
Visualiza trazas de Hermes con Chrome
El último año Facebook patrocinó la beca Major League Hacking, apoyando contribuciones a React Native. Jessie Nguyen y Saphal Patro añadieron la capacidad de usar la pestaña Performance en Chrome DevTools para visualizar la ejecución de tu aplicación cuando usa Hermes.
Para más detalles, consulta la nueva página de documentación.
Hermes con soporte para Proxy
Hemos añadido soporte para Proxy en Hermes, permitiendo compatibilidad con proyectos populares como react-native-firebase y mobx. Si usas estos paquetes, ahora puedes migrar a Hermes.
Planeamos hacer Hermes el motor JavaScript predeterminado para Android en próximas versiones, por lo que estamos resolviendo problemas pendientes. Por favor, abre un issue en el repositorio de Hermes en GitHub si encuentras obstáculos para adoptarlo.
React 17
React 17 no incluye nuevas funciones para desarrolladores ni cambios importantes. Para aplicaciones React Native, el cambio principal es un nuevo transformador JSX que elimina la necesidad de importar React para usar JSX.
Más información sobre React 17 está disponible en el blog de React.
Cambios mayores en versiones de dependencias
-
Eliminado soporte para niveles de API Android 16-20. La app de Facebook consistentemente elimina soporte para versiones con uso suficientemente bajo. Como la app de Facebook ya no soporta estas versiones y es la principal superficie de prueba de React Native, también eliminamos el soporte.
-
Se requiere Xcode 12 y CocoaPods 1.10
-
El soporte mínimo de Node se ha incrementado de 10 a Node 12
-
Flipper actualizado a la versión 0.75.1
Agradecimientos
¡Agradecemos a los cientos de colaboradores que hicieron posible la versión 0.64! El registro de cambios de la 0.64 incluye todas las modificaciones de esta versión.