Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev2.0.1

nuvigator

Uma abstração de roteamento poderosa sobre o Flutter navigator, fornecendo alguns novos recursos e uma maneira fácil de definir roteadores.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
49,4 mil
Curtidas
50
Pontos Pub
140

Instalar pacote

flutter pub add nuvigator

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Nuvigator é uma abstração de roteamento para o Flutter que aprimora o Navigator embutido com funcionalidades adicionais e uma maneira simplificada e declarativa de definir rotas de navegação. Ele oferece uma abordagem limpa e escalonável para gerenciar a navegação do aplicativo em múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Ao fornecer uma configuração estruturada do roteador e um melhor tratamento de navegação, o Nuvigator ajuda os desenvolvedores a criar fluxos de navegação complexos com menos código repetitivo e maior manutenibilidade.

Casos de uso

  • Fluxos de navegação complexos
  • Navegação multiplataforma
  • Arquitetura de aplicativo modular
  • Gerenciamento fácil de rotas
  • Persistência do estado de navegação

Principais recursos

  • Definições declarativas de rota
  • Suporte multiplataforma
  • Gerenciamento de estado de navegação
  • Sistema de roteador extensível
  • Separação clara de responsabilidades

Indicado para

  • Aplicações Flutter em grande escala
  • Equipes que precisam de padrões consistentes de navegação
  • Aplicativos que exigem lógica avançada de roteamento
  • Desenvolvedores procurando redução de boilerplate de navegação
  • Projetos com destino a múltiplas plataformas

Considerações

  • Curva de aprendizado para novos usuários
  • Sobrecarga potencial em aplicativos simples
  • Requer conhecimento dos conceitos de roteamento
  • Adoção limitada pela comunidade em comparação com o Navigator nativo
  • Pode ser necessário configuração personalizada para casos de uso avançados

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Nuvigator

CircleCI Pub

Routing and Navigation package.

Não fala bem inglês? Leia o README_PT

What

Nuvigator provides a powerful routing abstraction over Flutter's own Navigators. Model complex navigation flows using a mostly declarative and concise approach, without needing to worry about several tricky behaviors that Nuvigator handles for you.

Nuvigator can help you with:

  • Large/Modular Apps: Where you need to have an unified API to able to register routes and design relationship between them
  • Nested Navigation: When you want to have nested/children Navigator inside your app, creating the concept of self contained flows
    • Handles Navigation thought Nuvigator ins your Widget Tree, not need to know where your route is declared
    • Handles pop behavior when a nested Navigator reaches it's end, is able to transparently forward pop results into underlying caller, provider helpers to deal with nested navigation
    • Handles Hero animation/transition between nested Navigators
    • Handles Android back button correctly on nested Navigators
    • Improve support for nested PageRoutes with NuvigatorPageRoute mixin
  • Using DeepLinks: You want to navigate inside your App using DeepLinks, with support for Path Parameters and Query Parameters
  • A declarative, easy to use API to declare and compose Routes together

API Documentation

Focus on providing a more flexible, easier and dynamic API for declaring Navigation and Routing

Quick Start

The simplest you can get:

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Nuvigator App',
      builder: Nuvigator.routes(
        initialRoute: 'home',
        screenType: materialScreenType,
        routes: [
          NuRouteBuilder(path: 'home', builder: (_, __, ___) => HomeScreen()),
          NuRouteBuilder(path: 'second', builder: (_, __, ___) => SecondScreen()),
        ],
      ),
    );
  }
}

A more complete example:

import 'package:nuvigator/next.dart'; // import the next file instead of `nuvigator.dart`
import 'package:flutter/material.dart';

// Define a new NuRoute
class MyRoute extends NuRoute {
  @override
  String get path => 'my-route';

  @override
  ScreenType get screenType => materialScreenType;

  @override
  Widget build(BuildContext context, NuRouteSettings settings) {
    return MyScreen(
      onClick: () => nuvigator.open('next-route'),
    );
  }
}

// Define your NuRouter
class MyRouter extends NuRouter {
  @override
  String get initialRoute => 'my-route';

  @override
  List<NuRoute> get registerRoutes => [
    MyRoute(),
  ];
}

// Render
Widget build(BuildContext context) {
  return Nuvigator(
    router: MyRouter(),
  );
}

License

Apache License 2.0

Categorias

Dependências

Lista de dependências 3 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.