flutter_thrio makes it easy and fast to add flutter to existing mobile applications, and provide a simple and consistent navigator APIs.
Alternatives To Flutter_thrio
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
a year ago1apache-2.0Java
Android 技术中台,但愿人长久,搬砖不再有
14 hours ago22mitDart
Flutter Version Management: A simple CLI to manage Flutter SDK versions.
2 years ago9Dart
Flutter Intellij1,894
7 days ago557bsd-3-clauseJava
Flutter Plugin for IntelliJ
Alan Sdk Flutter1,742
2 months ago4Ruby
Conversational AI SDK for Flutter to build AI-powered voice assistants for Flutter applications (iOS and Android)
6 days ago103bsd-3-clauseDart
The Dart implementation of atClient SDK used for implementing Atsign's technology into other software
App Space983
2 months ago2apache-2.0C
应用内网发布分发测试部署管理平台版本管理类似蒲公英蒲公英 类似fir.im fir App publish IOS超级签名免签 开源| https://app-space.up.railway.app |APP增量热更新| 支持iOS、Android、flutter、 react-native更新摇一摇提Bug SDK 提供自动化部署jenkins fastlane 丰富组件库 安卓苹果发布发版publish 管理发发布适用于企业手机应用内测服务应用内测托管的平台开源
Awesome Appwrite827
17 days ago2
Carefully curated list of awesome Appwrite resources 💪
Stream Chat Flutter78315 hours ago48July 07, 202215otherDart
Flutter Chat SDK - Build your own chat app experience using Dart, Flutter and the Stream Chat Messaging API.
3 years ago78May 18, 20218mitObjective-C
flutter_thrio makes it easy and fast to add flutter to existing mobile applications, and provide a simple and consistent navigator APIs.
Alternatives To Flutter_thrio
Select To Compare

Alternative Project Comparisons

thrio logo


QQ 1014085473

The Navigator for iOS, Android, Flutter.

Version 0.2.2 requires Flutter >= 1.12.0 and Dart >= 2.6.0.


  • push,pop,popTo,remove native pages or flutter pages from anywhere
  • Get the callback parameters when the push page is popped
  • Send and receive page notifications
  • Register observers for the life cycle of pages
  • Register observers for the route actions of pages
  • Hide native navigation bar for flutter pages
  • Supports custom transition animation on the Flutter side

Getting started

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

  thrio: '^0.5.0'

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

    git: [email protected]:hellobike/thrio.git

You should then run flutter pub 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.

push a page in dart

ThrioNavigator.push(url: 'flutter1');

ThrioNavigator.push(url: '/biz1/native1', params: { '1': {'2': '3'}});

ThrioNavigator.push(url: '/biz1/native1', animated:true);

    url: '/biz2/flutter2',
    params: {'1': {'2': '3'}},
    poppedResult: (params) => ThrioLogger.v('/biz2/flutter2 popped: $params'),

push a page in iOS

[ThrioNavigator pushUrl:@"flutter1"];

[ThrioNavigator pushUrl:@"/biz2/flutter2" poppedResult:^(id _Nonnull params) {
    ThrioLogV(@"/biz2/flutter2 popped: %@", params);

push a page in Android

ThrioNavigator.push(this, "/biz1/flutter1",
        mapOf("k1" to 1),
        poppedResult = {
            Log.e("Thrio", "/biz1/native1 popResult call params $it")

pop a page in dart

// Pop the page without animation
ThrioNavigator.pop(animated: false);
// Pop the page and return parameters
ThrioNavigator.pop(params: 'popped flutter1'),

pop a page in iOS

[ThrioNavigator pop];
// Pop a page without animation
[ThrioNavigator popAnimated:NO];
// Pop the page and return parameters
[ThrioNavigator popParams:@{@"k1": @3}];

pop a page in Android

ThrioNavigator.pop(this, params, animated)

popTo a page in dart

ThrioNavigator.popTo(url: 'flutter1');

ThrioNavigator.popTo(url: 'flutter1', animated: false);

popTo a page in iOS

[ThrioNavigator popToUrl:@"flutter1"];

[ThrioNavigator popToUrl:@"flutter1" animated:NO];

popTo a page in Android

ThrioNavigator.popTo(context, url, index)

remove a page in dart

ThrioNavigator.remove(url: 'flutter1');

ThrioNavigator.remove(url: 'flutter1', animated: true);

remove a page in iOS

[ThrioNavigator removeUrl:@"flutter1"];

[ThrioNavigator removeUrl:@"flutter1" animated:NO];

remove a page in Android

ThrioNavigator.remove(context, url, index)

notify a page in dart

ThrioNavigator.notify(url: 'flutter1', name: 'reload');

notify a page in iOS

[ThrioNavigator notifyUrl:@"flutter1" name:@"reload"];

notify a page in Android

ThrioNavigator.notify(url, index, params)

receive page notifications in dart

      name: 'page1Notify',
      onPageNotify: (params) =>
          ThrioLogger.v('flutter1 receive notify: $params'),
      child: Xxxx());

receive page notifications in iOS

UIViewController implements the NavigatorPageNotifyProtocol and receives page notifications via onNotify

- (void)onNotify:(NSString *)name params:(id)params {
  ThrioLogV(@"/biz1/native1 onNotify: %@, %@", name, params);

receive page notifications in Android

Activity implements the OnNotifyListener and receives page notifications via onNotify

class Activity : AppCompatActivity(), OnNotifyListener {
    override fun onNotify(name: String, params: Any?) {
Popular Flutter Projects
Popular Sdk Projects
Popular User Interface Categories

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Objective C
Flutter Apps
Flutter Plugin