Niveles de lanzamiento
Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →
React Native ofrece a la comunidad la capacidad de adoptar nuevas funciones individuales tan pronto como su diseño e implementación están casi completos, incluso antes de que se incluyan en una versión estable. Este enfoque se conoce como niveles de lanzamiento.
Puedes configurar el nivel de lanzamiento de React Native para que tu instancia se inicialice con Feature Flags establecidos en modo EXPERIMENTAL, CANARY o STABLE.
Este enfoque es similar a los lanzamientos Canary y Experimental en React, pero con una diferencia clave: independientemente del nivel de lanzamiento, se utiliza la misma versión del código de React JS y React Native.
React Native tampoco usa etiquetas NPM @canary o @experimental, ya que los niveles de lanzamiento están disponibles tanto para versiones estables como nightly de React Native.
Además, establecer el nivel de lanzamiento en EXPERIMENTAL o CANARY no hará que se consuma react@nightly o react@canary debido a cómo react-native consume la versión de React (puedes leer más aquí).
Cuándo usar cada nivel de lanzamiento
-
STABLE:- Úsalo para todas las aplicaciones y bibliotecas de producción que no necesiten acceso temprano a funciones no publicadas.
- Este es el nivel predeterminado para versiones estables y nightly.
-
CANARY:- Úsalo si eres creador de frameworks, desarrollador avanzado de aplicaciones o necesitas probar/adoptar nuevas funciones antes de su lanzamiento estable.
- No recomendado para aplicaciones de producción o orientadas a usuarios finales.
-
EXPERIMENTAL:- Úsalo solo para pruebas y retroalimentación de nuevas funciones en etapas tempranas de desarrollo.
- No recomendado para aplicaciones de producción o orientadas a usuarios finales.
Cómo inicializar React Native usando Canary y Experimental
Android
La clase DefaultNewArchitectureEntryPoint ahora tiene una propiedad releaseLevel (predeterminada: STABLE).
El sistema de Feature Flags usa esta propiedad para seleccionar el conjunto adecuado de banderas para el nivel de lanzamiento elegido.
DefaultNewArchitectureEntryPoint.releaseLevel = ReleaseLevel.CANARY
DefaultNewArchitectureEntryPoint.load()
El sistema de compilación genera diferentes clases de anulación de Feature Flags para cada nivel de lanzamiento, garantizando que las funciones correctas estén habilitadas en cada etapa.
iOS
La clase RCTReactNativeFactory ahora tiene un inicializador que acepta un parámetro releaseLevel. La configuración de Feature Flags usa este parámetro para seleccionar las anulaciones correctas.
- ObjectiveC
- Swift
[[RCTReactNativeFactory alloc] initWithDelegate:delegate releaseLevel:Canary];
let factory = RCTReactNativeFactory(delegate: delegate, releaseLevel: RCTReleaseLevel.Canary)
El sistema garantiza que solo un nivel de lanzamiento esté activo por instancia de aplicación, y fallará si se crean múltiples fábricas con diferentes niveles.