Skip to content

Escopo da RC e compatibilidade ​

A candidata 0.1.0-rc.4 congela a API documentada não experimental enquanto validamos a versão estável. A tabela explícita de rotas em JavaScript/TypeScript continua sendo o padrão. Convenções de arquivos são opcionais; ambas usam navegação nativa, sem runtime de Vue Router ou Nuxt.

Base suportada ​

DependênciaRequisito da RCBase de validação
NativeScript Core^9.1.39.1.3
NativeScript-Vue^3.1.23.1.2
Node.js>=20.19.4Instalação em 20.19.4 e 22.23.3; builds nativos em Node 22
npmCompatível com a versão escolhida do Node10.8.2 e 11.21.1
webpack (opcional)webpack 5, NativeScript webpack 5webpack 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

A RC restringe as declarações da beta, Core >=8.9.0 e NativeScript-Vue ^3.0.0, à base validada. Atualize essas dependências antes do router. Um intervalo compatível não significa que cada versão intermediária foi testada.

O CI nativo cobre emuladores Android API 34/35/36 e simuladores iOS/iPadOS 18.6. Execuções adicionais em iOS 26 e acessibilidade em aparelhos físicos estão nos relatórios de validação. Cada relatório identifica a revisão testada; não representa um novo teste físico em todo release.

O desenvolvimento e o demo agora usam NativeScript-Vue 3.1.3; a base de aceitação da RC.4 publicada acima continua em 3.1.2 e o requisito peer permanece ^3.1.2. A versão 3.1.3 corrige a retenção dos apps Vue de páginas abertas com $navigateTo durante a recriação de janelas nativas e os libera no fechamento definitivo. As páginas em Frames do router já usam um ciclo de vida próprio com createNativeView(). O relatório de validação da 3.1.3 registra os testes específicos de janelas; esta atualização não é um novo release nem uma repetição da matriz completa de publicação.

Escopo da API ​

A RC congela rotas explícitas e destinos tipados; push/replace/back e resultados; guards e ciclo de navegação; RouterView, RouterLink, abas, drawer e split com Frames; rotas modais; restauração opcional do estado das páginas; e as integrações nativas documentadas fora da lista experimental abaixo. Correções continuam possíveis. Uma correção incompatível indispensável antes da estável exige uma nova candidata com instruções de migração.

Continuam experimentais e opcionais:

O controle e a restauração de múltiplas janelas estão incluídos como recursos experimentais, com evidências de validação e limites de plataforma no guia de janelas e no relatório de estado das páginas. O roadmap não é um compromisso de release. A rc.3 adiciona o drawer iOS e a apresentação adaptativa, ações compartilhadas por página, o visualizador de relatórios e o exemplo integrado. O overlay Android existente continua disponível; a apresentação adaptativa e as ações compartilhadas são opcionais. Veja o mapa de capacidades para responsabilidades nativas e composições suportadas.

Limites conhecidos ​

  • CSS direction herdado do NativeScript ao redor de navegação nativa genérica pode causar um crash no grafo de gestos do iOS 18.6. RouterDrawer usa sua própria prop direction e tratamento limitado ao container UIKit; layouts genéricos continuam acompanhados na #139. A reprodução com Core isolou o carregamento antecipado da view do controller em requestLayout(), antes de Application.run(). Uma correção candidata no Core usando viewIfLoaded passa os cenários de teclado e Back interativo no iOS/iPadOS 18.6, incluindo controles com Vue e router. Ela ainda não faz parte das dependências publicadas; a limitação continua para aplicativos. Nem adiar a direção nem aplicar o patch de pesquisa constitui uma solução alternativa certificada para produção.

  • Flags, labels e declarações de foco verificadas automaticamente não certificam a navegação falada com VoiceOver/TalkBack. A validação do exemplo integrado e os relatórios de cada recurso identificam as verificações manuais restantes.

  • HMR nativo com Vite usa metadados .route.json. definePageMeta funciona com webpack e Vite empacotado, mas não durante HMR nativo do Vite. Adicionar/remover registros de layouts ou middleware exige reiniciar o app; editar scripts pode remontar páginas. Veja rotas por arquivos.

  • Com npm 10, preserve um lockfile funcional do NativeScript Vite: a árvore de peers opcionais dele pode falhar em instalações sem lockfile. O crash de instalação do router com npm 10 foi corrigido na beta.15. Veja instalação.

  • A morte do processo nunca preserva Promises JavaScript. Persista pequenos estados do app e inicie uma nova operação após recuperar. O router mantém os apps das páginas em Frames durante a recriação da Activity Android nas dependências publicadas suportadas, permitindo registrar novamente um fluxo nativo pendente. Remover a rota ou fechar permanentemente sua janela ainda cancela esse fluxo. Veja fluxos nativos e restauração.

  • Abas/sheets Material exigem a dependência nativa no app distribuído, inclusive em builds de release. Os helpers de disponibilidade consultam o que está presente; não instalam dependências. Indexação/ranking do Spotlight e comportamento de SDKs externos continuam sob responsabilidade do sistema/provedor.

Validação do release ​

Uma versão nova em main só é publicada após os workflows completos de CI e contratos nativos passarem naquele mesmo commit. O tarball final do npm é instalado em projetos novos com rotas explícitas, webpack e Vite antes da publicação; o pacote e os logs ficam como artefato do workflow. Uma suíte obrigatória com falha ou cancelada bloqueia a publicação. Testes com protótipos upstream não substituem testes com dependências publicadas.

As RCs usam a tag next do npm. Como nas betas, latest também acompanha o prerelease mais novo até existir uma versão estável. Fixe uma versão exata e versione o lockfile para builds reproduzíveis do app.

Veja o caminho para a 0.1.0 estável para os critérios, evidências e trabalho restante.

Publicado sob a licença MIT.