fluro 1.2.1

  • README.md
  • Example
  • Installing
  • Versions
  • 93


The brightest, hippest, coolest router for Flutter.

Version Build Status Coverage

Features

  • Simple route navigation
  • Function handlers (map to a function instead of a route)
  • Wildcard parameter matching
  • Querystring parameter parsing
  • Common transitions built-in
  • Simple custom transition creation

Version compatability

In general we try not to introduce breaking changes but version 1.1 did introduce a breaking change in order to support function handlers. As such, you will need to change all of your route handler definitions to use the new Handler class. The RouteHandler definition has now been removed.

Swapping out the handlers should be as simple as changing:

RouteHandler usersHandler = (Map<String, String> params) {}

to

var usersHandler = new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {});

Getting started

You should ensure that you add the router as a dependency in your flutter project.

dependencies:
 fluro: "^1.2.1"

You can also reference the git repo directly if you want:

dependencies:
 fluro:
   git: git://github.com/goposse/fluro.git

You should then run flutter packages upgrade or update your packages in IntelliJ.

Example Project

There is a pretty sweet example project in the example folder. Check it out. Otherwise, keep reading to get up and running.

Setting up

First, you should define a new Router object by initializing it as such:

final router = new Router();

It may be convenient for you to store the router globally/statically so that you can access the router in other areas in your application.

After instantiating the router, you will need to define your routes and your route handlers:

var usersHandler = new Handler(handlerFunc: (BuildContext context, Map<String, dynamic> params) {
  return new UsersScreen(params["id"]);
});

void defineRoutes(Router router) {
  router.define("/users/:id", handler: usersHandler);
}

In the above example, the router will intercept a route such as /users/1234 and route the application to the UsersScreen passing the value 1234 as a parameter to that screen.

You can use the Router with the MaterialApp.onGenerateRoute parameter via the Router.generator function. To do so, pass the function reference to the onGenerate parameter like: onGenerateRoute: router.generator.

You can then use Navigator.push and the flutter routing mechanism will match the routes for you.

You can also manually push to a route yourself. To do so:

router.navigateTo(context, "/users/1234",
    transition: TransitionType.fadeIn);

<br/>


Fluro is a Posse Production.

example/lib/main.dart

/*
 * fluro
 * A Posse Production
 * http://goposse.com
 * Copyright (c) 2017 Posse Productions LLC. All rights reserved.
 * See LICENSE for distribution and usage details.
 */
import 'components/app/app_component.dart';
import 'package:flutter/material.dart';

void main() {
  runApp(new AppComponent());
}

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  fluro: "^1.2.1"

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter packages get

Alternatively, your editor might support packages get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:fluro/fluro.dart';
        
Version Uploaded Documentation Archive
1.2.1 Oct 6, 2017 Go to the documentation of fluro 1.2.1 Download fluro 1.2.1 archive
1.2.0 Oct 6, 2017 Go to the documentation of fluro 1.2.0 Download fluro 1.2.0 archive
1.1.0 May 29, 2017 Go to the documentation of fluro 1.1.0 Download fluro 1.1.0 archive
1.0.0 May 14, 2017 Go to the documentation of fluro 1.0.0 Download fluro 1.0.0 archive

Analysis

This feature is new.
We welcome feedback.
More details: scoring.

We analyzed this package, and provided a score, details, and suggestions below.

  • completed on Jan 17, 2018
  • Dart: 2.0.0-dev.15.0
  • pana: 0.9.1
  • Flutter: 0.0.20

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
96 / 100
Health:
Code health derived from static analysis. [more]
98 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
76 / 100
Overall score:
Weighted score of the above. [more]
93

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Suggestions

  • Maintain CHANGELOG.md.

    Changelog entries help clients to follow the progress in your code.

  • Use constrained dependencies.

    The pubspec.yaml contains 1 dependency without version constraints. Specify version ranges for the following dependencies: flutter.

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

Dependencies

Package Constraint Resolved Available
Direct dependencies
flutter 0.0.40
Transitive dependencies
async 1.13.3 2.0.3
charcode 1.1.1
collection 1.14.3 1.14.5
http 0.11.3+14 0.11.3+16
http_parser 3.1.1
meta 1.1.1 1.1.2
path 1.5.1
sky_engine 0.0.99
source_span 1.4.0
stack_trace 1.9.1
string_scanner 1.0.2
typed_data 1.1.4 1.1.5
vector_math 2.0.5
Dev dependencies
flutter_test