FlutterBoost 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
FlutterBoost 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议: MIT
开发语言: Java Objective-C Dart
操作系统: 跨平台
开发厂商: 阿里巴巴
收录时间: 2019-05-21
提 交 者: xplanet

FlutterBoost 是一个Flutter 插件,它可以轻松地为现有原生应用程序提供 Flutter 混合集成方案。FlutterBoost 的理念是将 Flutter 像 Webview 那样来使用。在现有应用程序中同时管理 Native 页面和 Flutter 页面并非易事。 FlutterBoost 帮你处理页面的映射和跳转,你只需关心页面的名字和参数即可(通常可以是 URL)。

基本用法

概念

所有页面路由请求都将发送到 Native 路由器。Native 路由器与 Native Container Manager 通信,Native Container Manager 负责构建和销毁 Native Containers。

使用 Flutter Boost Native Container 用 Native 代码打开 Flutter 页面

 FLBFlutterViewContainer *vc = FLBFlutterViewContainer.new;
        [vc setName:name params:params];
        [self.navigationController presentViewController:vc animated:animated completion:^{}];

Android

public class FlutterPageActivity extends BoostFlutterActivity {

    @Override
    public void onRegisterPlugins(PluginRegistry registry) {
        //register flutter plugins
        GeneratedPluginRegistrant.registerWith(registry);
    }

    @Override
    public String getContainerName() {
        //specify the page name register in FlutterBoost
        return "sample://firstPage";
    }

    @Override
    public Map getContainerParams() {
        //params of the page
        Map<String,String> params = new HashMap<>();
        params.put("key","value");
        return params;
    }
}

或者用 Fragment

public class FlutterFragment extends BoostFlutterFragment {
    @Override
    public void onRegisterPlugins(PluginRegistry registry) {
        GeneratedPluginRegistrant.registerWith(registry);
    }

    @Override
    public String getContainerName() {
        return "sample://firstPage";
    }

    @Override
    public Map getContainerParams() {
        Map<String,String> params = new HashMap<>();
        params.put("key","value");
        return params;
    }
}

使用 Flutter Boost 在 dart 代码打开页面

Dart

 FlutterBoost.singleton.openPage("pagename", {}, true);

使用 Flutter Boost 在 dart 代码关闭页面

FlutterBoost.singleton.closePageForContext(context);

作者

阿里巴巴闲鱼终端团队

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

FlutterBoost 的相关资讯

还没有任何资讯

FlutterBoost 的相关博客

码上用它开始Flutter混合开发——FlutterBoost

开源地址: https://github.com/alibaba/flutter_boost 为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤...

码上用它开始Flutter混合开发——FlutterBoost

摘要: 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。 开源地址:https...

【Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

和尚前几天刚将历史项目升级至 AndroidX 并接入 Flitter Module,接下来和尚准备采用 flutter_boost 进行 Native 与 Flutter ...

【Flutter 专题】79 图解 Android Native 集成 FlutterBoost 小尝试 (二)

和尚前几天刚尝试接入 FlutterBoost,主要对其页面路由的跳转及传参等有了初步的认识,接下来是对日常操作的基本学习; Flut...

已开源|码上用它开始Flutter混合开发——FlutterBoost

为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么...

【Flutter 专题】81 图解 Android Native 集成 FlutterBoost 小尝试 (三)

和尚在一个历史项目中接入了 Flutter Module 并采用 FlutterBoost 作为 Platform Channel 桥接; 但实际开发遇到很多问题,仅...

alibaba/flutter_boost

flutterBoost使用笔记 新一代Flutter-Native混合解决方案。 FlutterBoost是一个Flutter插件,它可以轻松地为现有原生应用程序...

如何用 Flutter 实现混合开发?闲鱼公开源代码实例

阿里妹导读:具有一定规模的 App 通常有一套成熟通用的基础库,尤其是阿里系 App,一般需要依赖很多体系内的基础库。那么使用...

如何用 Flutter 实现混合开发?淘系闲鱼公开源代码实例

具有一定规模的 App 通常有一套成熟通用的基础库,尤其是阿里系 App,一般需要依赖很多体系内的基础库。那么使用 Flutter 重新...

如何用 Flutter 实现混合开发?闲鱼公开源代码实例

具有一定规模的 App 通常有一套成熟通用的基础库,尤其是阿里系 App,一般需要依赖很多体系内的基础库。那么使用 Flutter 重新...

FlutterBoost 的相关问答

还没有任何问答,马上提问

评论 (4)

加载中
看我们出了新框架SwiftUI
2019/06/11 23:47
回复
举报
会不会半路撂挑子
2019/06/10 08:36
回复
举报

引用来自“OSCharles”的评论

又骗我学习新的框架
那你是学还是不学呢
2019/06/09 21:37
回复
举报
又骗我学习新的框架
2019/06/09 15:10
回复
举报
更多评论
4 评论
85 收藏
分享
返回顶部
顶部