Pakete, Repositories und App-Kategorien suchen

Paketdetailsv2.0.1

nuvigator

Eine leistungsstarke Routing-Abstraktion über den Flutter-Navigator, die einige neue Funktionen bietet und einen einfachen Weg zum Definieren von Routern bereitstellt.

AndroidiOSWebmacOSWindowsLinux
30-Tage-Downloads
49.400
Likes
50
Pub-Punkte
140

Paket installieren

flutter pub add nuvigator

Paketübersicht

Aus öffentlichen Paketdaten erstellte Orientierung.

Nuvigator ist eine Routing-Abstraktion für Flutter, die den integrierten Navigator durch zusätzliche Funktionen erweitert und eine vereinfachte, deklarative Möglichkeit bietet, Navigationsschritte zu definieren. Es bietet einen sauberen, skalierbaren Ansatz zur Verwaltung der App-Navigation über mehrere Plattformen hinweg, einschließlich Android, iOS, Web, macOS, Windows und Linux. Durch strukturierte Router-Konfiguration und verbesserte Navigationsverarbeitung hilft Nuvigator Entwicklern, komplexe Navigationsflüsse mit weniger Boilerplate und größerer Wartbarkeit zu erstellen.

Anwendungsfälle

  • Komplexe Navigationsflüsse
  • Plattformübergreifende Navigation
  • Modulare App-Architektur
  • Einfache Routenverwaltung
  • Navigationzustandspersistenz

Hauptmerkmale

  • Deklarative Routendefinitionen
  • Multiplattformunterstützung
  • Navigationzustandsverwaltung
  • Erweiterbares Routersystem
  • Klare Trennung der Verantwortlichkeiten

Geeignet für

  • Großskalige Flutter-Anwendungen
  • Teams, die konsistente Navigationsmuster benötigen
  • Apps, die erweiterte Routing-Logik erfordern
  • Entwickler, die reduzierten Navigations-Boilerplate suchen
  • Projekte für mehrere Plattformen

Hinweise

  • Lernkurve für neue Benutzer
  • Potenzielle Überhead in einfachen Apps
  • Erfordert Verständnis von Routing-Konzepten
  • Geringe Community-Adoption im Vergleich zum nativen Navigator
  • Möglicherweise ist eine benutzerdefinierte Einrichtung für erweiterte Anwendungsfälle erforderlich

Original-README

Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.

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

Kategorien

Abhängigkeiten

Abhängigkeiten 3 Einträge

Quell-Repository

Projekte, die dieses Paket verwenden

Noch keine Daten verfügbar.