Alcance y compatibilidad de RC
La versión candidata 0.1.0-rc.4 congela la API no experimental documentada mientras la validamos para la versión estable. Las tablas de rutas explícitas JavaScript/TypeScript siguen siendo las predeterminadas. Las convenciones de archivos son opcionales; ambos usan navegación nativa, sin un Vue Router o tiempo de ejecución de Nuxt.
Línea base admitida
| Dependencia | Requisito RC | Línea base de aceptación |
|---|---|---|
| NativeScript Core | ^9.1.3 | 9.1.3 |
| NativeScript-Vue | ^3.1.2 | 3.1.2 |
| Node.js | >=20.19.4 | Instalación de Node 20.19.4 y 22.23.3; Compilaciones nativas del nodo 22 |
| npm | Compatible con la versión de Node seleccionado | 10.8.2 y 11.21.1 |
| webpack (opcional) | webpack 5, NativeScript webpack 5 | webpack 5.112.0 / NativeScript webpack 5.0.38 |
| Vite (opcional) | Vite 8, NativeScript Vite 8.0.20+ | Vite 8.3.4 / NativeScript Vite 8.0.20 |
El RC reduce las declaraciones Core >=8.9.0 y NativeScript-Vue ^3.0.0 beta a la línea base validada. Actualice esas dependencias antes de actualizar el enrutador. Un rango de versiones compatibles no es una afirmación de que se hayan probado todas las versiones de dependencia intermedias.
CI nativo cubre los simuladores Android API 34/35/36 y iOS/iPadOS 18.6. Las ejecuciones adicionales de iOS 26 y las comprobaciones de accesibilidad de dispositivos físicos se registran en los informes de validación validation reports del repositorio. Estos informes identifican sus revisiones probadas; no implican un nuevo pase de dispositivo físico para cada versión.
El desarrollo y la demo ahora usan NativeScript-Vue 3.1.3; la línea base de aceptación de la RC.4 publicada que figura arriba sigue siendo 3.1.2 y el requisito peer sigue siendo ^3.1.2. La versión 3.1.3 conserva las aplicaciones Vue de las páginas abiertas con $navigateTo durante la recreación de ventanas nativas y las libera al cerrar definitivamente la ventana. Las páginas Frame del router ya tienen un ciclo de vida propio mediante createNativeView(). El informe de validación de 3.1.3 documenta las pruebas específicas de ventanas; esta actualización no es una nueva versión del router ni una repetición de toda la matriz de publicación.
Alcance de la API
El RC congela rutas explícitas y ubicaciones tipadas; push/replace/back y resultados; guards y ciclo de vida de navegación; RouterView, RouterLink, pestañas, navegación dividida drawer y Frame; rutas modales; restauración opcional del estado de la página; y las integraciones nativas documentadas fuera de la lista experimental a continuación. La reparación de defectos sigue siendo posible. Una corrección incompatible inevitable antes de la estabilidad debe documentarse con instrucciones de migración en un nuevo candidato.
Estas funciones siguen siendo experimentales y opcionales:
- Múltiples ventanas nativas: un enrutador por ventana, restauración de tareas/escenas independientes y reconexión del mismo proceso en la línea base de plataforma documentada.
- Composición nativa de Suspense: registro de compatibilidad de renderizador explícito y contenido asíncrono dentro de un Page estable.
- Carga de datos de ruta: estado por entrada y cancelación sin bloquear presentación nativa.
- Enrutamiento de archivos, incluido su contrato de herramienta de generación/compilación. Las rutas explícitas existentes no dependen de ello.
- Hosts nativos personalizados y Destinos de fragmento/controlador nativo. La versión del contrato del host debe cambiar en caso de cambios de contrato incompatibles.
backPreview: 'core', que requiere el prototipo upstream fijado documentado en el informe predictivo informe de validación. El Core publicado utiliza el respaldo existente.
La propiedad y restauración de múltiples ventanas se incluyen como características experimentales, con su evidencia de aceptación y límites de plataforma documentados en la guía de ventanas Navegación en múltiples ventanas nativas y el informe de estado de página informe de validación. La hoja de ruta no es un compromiso de entrega. El rc.3 agrega iOS drawer y presentación adaptativa, acciones de página compartida, visor de informes de diagnóstico y ejemplo integrado. El comportamiento de superposición Android existente permanece disponible; La presentación adaptable y las acciones compartidas son opcionales. Consulte el mapa de capacidades Capacidades nativas y opciones de contenedores para conocer propietarios nativos y composiciones compatibles.
Límites conocidos
NativeScript CSS
directionheredado alrededor de la navegación nativa genérica puede provocar un bloqueo del gráfico de gestos en iOS 18.6.RouterDrawerutiliza su propia propdirectiony manejo limitado de UIKit; los diseños genéricos permanecen rastreados en #139. La reproducción de Core aisló la carga prematura de la vista del controlador dentro derequestLayout()antes deApplication.run(). Una corrección candidata de Core que utilizaviewIfLoadedsupera los casos de teclado y navegación Back interactiva en iOS/iPadOS 18.6, incluidas las comprobaciones con Vue y el router. Aún no forma parte de las dependencias publicadas; esto sigue siendo una limitación para las aplicaciones. Ni aplazar la dirección ni el parche de investigación de suscripción voluntaria son soluciones alternativas validadas para las aplicaciones.Las comprobaciones de flags, etiquetas y foco de accesibilidad nativas automatizadas no certifican el recorrido hablado de VoiceOver/TalkBack. La aceptación del escaparate informe de validación y los informes de características individuales identifican las comprobaciones manuales restantes.
El HMR nativo Vite utiliza metadatos
.route.json.definePageMetafunciona con webpack y Vite incluido, pero no es compatible con Vite HMR nativo. Agregar o eliminar registros de diseño o middleware requiere reiniciar la aplicación; Las ediciones de script pueden volver a montar páginas. Consulte enrutamiento de archivos.Con npm 10, mantenga un archivo de bloqueo NativeScript Vite en funcionamiento: su propio árbol de dependencia de pares opcional puede fallar en una instalación sin archivo de bloqueo. El fallo de instalación de npm 10 del enrutador se solucionó en la versión beta.15. Consulte instalación.
La terminación del proceso nunca preserva las promesas JavaScript. Conserve el estado propiedad de la aplicación pequeña e inicie una nueva operación después de la recuperación. El enrutador conserva las aplicaciones de la Page de un Frame durante la recreación de la actividad Android en las dependencias publicadas admitidas, lo que permite volver a vincular un flujo nativo pendiente. Eliminar la ruta o cerrar permanentemente a su propietario aún cancela ese flujo. Ver flujos nativos y restauración.
Las pestañas y bottom sheets de Material requieren su dependencia nativa en la aplicación enviada, incluidas las versiones de lanzamiento. Las funciones de disponibilidad informan lo que está presente; no lo instalan. La indexación/clasificación de Spotlight y el comportamiento del SDK externo siguen siendo responsabilidades del sistema/proveedor.
Validación de la release
Se publica una nueva versión de main solo después de que el CI completo y los flujos de trabajo del contrato nativo pasan la mismo commit. El tarball npm final se instala en nuevos proyectos de ruta explícita, webpack y Vite antes de su publicación; el tarball y los registros de instalación se conservan como un artefacto del flujo de trabajo. Una suite requerida fallida o cancelada bloquea la publicación. Las pruebas de prototipos upstream no sustituyen a las pruebas de las dependencias publicadas.
Las compilaciones RC utilizan la etiqueta next de npm. Al igual que con las versiones beta, latest también sigue la versión preliminar más reciente hasta que exista la primera versión estable. Utilice una versión exacta y confirme su archivo de bloqueo para compilaciones de aplicaciones reproducibles.
Consulte Versión estable y preparación para 1.0 para criterios de publicación, evidencia y trabajo restante.