FlutterBoost 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
FlutterBoost 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
FlutterBoost 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
FlutterBoost 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
FlutterBoost 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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 指数为
超过 的项目

评论 (4)

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

引用来自“OSCharles”的评论

又骗我学习新的框架
那你是学还是不学呢
2019/06/09 21:37
回复
举报
又骗我学习新的框架
2019/06/09 15:10
回复
举报
更多评论
暂无内容
发表了博客
2020/12/02 09:07

FlutterBoost简单使用介绍

简介 在使用flutter混合开发中,免不了flutter和原生native页面的相互跳转和通信,flutterboost就是闲鱼团队开发的一个可复用的插件,旨在把Flutter容器做成浏览器的感觉。填写一个页面地址,然后由容器去管理页面的绘制。在Native侧我们只需要关心如果初始化容器,然后设置容器对应的页面标志即可。 准备工作 Flutter项目 在pubspec.yaml中添加以下依赖项: flutter_boost: ^0.0.400 将init代码添加到Dart的app首页面; void ma...

0
0
发表了博客
2020/12/02 09:06

Flutter混合开发二-FlutterBoost使用介绍

前言 《Flutter混合开发专题一》中我们介绍了Flutter官方提供的混合开发解决方案,但是其存在着一些问题并没有解决,比如原生和Flutter页面叠加跳转由于Flutter Engine重复创建而导致内存暴增的问题、Flutter应用中全局变量在各独立页面不能共享的问题、iOS平台内存泄露的问题等等,目前官方在混合开发解决方案上并没有花太多的时间去改进优化。 国内很多大厂在去年已经开始研究Flutter,并在现有项目中完成了集成,其中阿里闲鱼...

0
0
发表了博客
2019/04/17 11:23

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

开源地址: https://github.com/alibaba/flutter_boost 为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutter重新从头开发App的成本和风险都较高。所以在Native App进行渐进式迁移是Flutter技术在现有Native App进行应用的稳健型方式。闲鱼在实践中沉淀出一套自己的混合技术方案。在此过程中,我们跟Google Flutter团队进行着密切的沟通,听取...

0
0
发表了博客
2020/12/03 09:13

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

  开源地址:https://github.com/alibaba/flutter_boost 为什么要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutter重新从头开发App的成本和风险都较高。所以在Native App进行渐进式迁移是Flutter技术在现有Native App进行应用的稳健型方式。 闲鱼在实践中沉淀出一套自己的混合技术方案。在此过程中,我们跟Google Flutter团队进行着密切的沟通,听取...

0
0
2019/03/18 11:00

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

摘要: 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。 开源地址:https://github.com/alibaba/flutter_boost 为什么要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutter重新从头开发App的成本和风险都较高。所以在Native App进行渐进式迁移是Flutter技术在现有Native App进行应用的稳健型方式。 ...

0
13
2019/04/17 12:00

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

为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutter重新从头开发App的成本和风险都较高。所以在Native App进行渐进式迁移是Flutter技术在现有Native App进行应用的稳健型方式。闲鱼在实践中沉淀出一套自己的混合技术方案。在此过程中,我们跟Google Flutter团队进行着密切的沟通,听取了官方的一些建议,同时也针对我们业务具体情况进行方案的...

0
14
发表于大前端专区
2020/02/28 19:39

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

和尚前几天刚将历史项目升级至 AndroidX 并接入 Flitter Module,接下来和尚准备采用 flutter_boost 进行 Native 与 Flutter 两端交互;和尚从未接触过 FlutterBoost,为了研究方便,和尚特意新建两个工程单独学习基本的映射和跳转; Module 集成 1. 新建 AndroidX 工程 和尚新建一个 AndroidX 工程,其中 minSdkVersion >= 16,等待接入 Flutter Module; compileSdkVersion 28 defaultConfig {     applicationId "co...

0
0
发表于大前端专区
2020/03/07 16:41

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

和尚前几天刚尝试接入 FlutterBoost,主要对其页面路由的跳转及传参等有了初步的认识,接下来是对日常操作的基本学习; FlutterBoost 作为 Native 与 Flutter 之间的桥接方式,两端之间的数据传递是必不可少的;FlutterBoost 也是采用同样 Platform Channel 进行桥接,最常用的就是 MethodChannel; 插件注册 和尚在使用 Flutter Module 时会根据不同的业务模块注册不同的插件,和尚以前尝试单纯采用 Flutter 时需要 FlutterMai...

0
0
发表于大前端专区
2020/03/28 21:24

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

和尚在一个历史项目中接入了 Flutter Module 并采用 FlutterBoost 作为 Platform Channel 桥接; 但实际开发遇到很多问题,仅记录两个印象深刻的小问题; 问题一:.so 文件混淆 问题分析 和尚的历史项目使用的 NDK 是 armeabi 而接入 Flutter 之后需要使用 armeabi-v7a,和尚在项目中添加 armeabi-v7a 对应的 .so 文件,使 NDK 支持 armeabi-v7a,和尚测试直接允许或 debug 包是正常的,而 release 包直接崩溃,提示 libc.so 找...

0
0
发表了博客
2019/11/15 17:25

alibaba/flutter_boost

flutterBoost使用笔记 新一代Flutter-Native混合解决方案。 FlutterBoost是一个Flutter插件,它可以轻松地为现有原生应用程序提供Flutter混合集成方案。FlutterBoost的理念是将Flutter像Webview那样来使用。在现有应用程序中同时管理Native页面和Flutter页面并非易事。 FlutterBoost帮你处理页面的映射和跳转,你只需关心页面的名字和参数即可(通常可以是URL)。 github链接:https://github.com/alibaba/flutter_boost 安卓在...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
4 评论
100 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部