Flutter-Native 混合解决方案 FlutterBoost

Flutter-Native 混合解决方案 FlutterBoost

MIT
Java Objective-C Dart
跨平台
阿里巴巴
2019-05-21
xplanet
FlutterBoost 正在参加 2019 年度最受欢迎开源中国软件评选,请投票支持!
FlutterBoost 在 2019 年度最受欢迎开源中国软件评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票赢奖品
已投票

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);

作者

阿里巴巴闲鱼终端团队

的码云指数为
超过 的项目
加载中

评论(4)

OSC_官方超管
OSC_官方超管
看我们出了新框架SwiftUI
开源中国阅卷组组长
会不会半路撂挑子
p
pipopi

引用来自“OSCharles”的评论

又骗我学习新的框架
那你是学还是不学呢
OSCharles
OSCharles
又骗我学习新的框架

暂无资讯

暂无问答

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

阿里妹导读:具有一定规模的 App 通常有一套成熟通用的基础库,尤其是阿里系 App,一般需要依赖很多体系内的基础库。那么使用 Flutter 重新从头开发 App 的成本和风险都较高。所以在 Native...

05/16 11:55
625
1
码上用它开始Flutter混合开发——FlutterBoost

开源地址: https://github.com/alibaba/flutter_boost 为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutt...

04/17 11:23
29
0
如何用 Flutter 实现混合开发?闲鱼公开源代码实例

具有一定规模的 App 通常有一套成熟通用的基础库,尤其是阿里系 App,一般需要依赖很多体系内的基础库。那么使用 Flutter 重新从头开发 App 的成本和风险都较高。所以在 Native App 进行渐进...

05/16 11:27
27
0
码上用它开始Flutter混合开发——FlutterBoost

摘要: 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。 开源地址:https://github.com/alibaba/flutter_boost 为什么要混合方案 具有一定...

03/18 11:00
2.2K
0
已开源|码上用它开始Flutter混合开发——FlutterBoost

为什么需要混合方案 具有一定规模的App通常有一套成熟通用的基础库,尤其是阿里系App,一般需要依赖很多体系内的基础库。那么使用Flutter重新从头开发App的成本和风险都较高。所以在Native ...

04/17 12:00
626
0
揭秘!一个高准确率的Flutter埋点框架如何设计

作者:闲鱼技术-兰昊 背景 用户行为埋点是用来记录用户在操作时的一系列行为,也是业务做判断的核心数据依据,如果缺失或者不准确将会给业务带来不可恢复的损失。闲鱼将业务代码从Native迁移...

06/13 10:55
116
0
解密阿里巴巴大厂里的web前端技术体系,技术不断迭代,我们如何突破?

进入 2019 年,大前端技术生态似乎进入到了一个相对稳定的环境,React 在 2013 年发布至今已经 6 年时间了,Vue 1.0 在 2015 年发布,至今也有 4 年时间了。 整个业界在前端框架不断迭代中,...

10/30 14:59
9
0
揭秘!一个高准确率的Flutter埋点框架如何设计

背景 用户行为埋点是用来记录用户在操作时的一系列行为,也是业务做判断的核心数据依据,如果缺失或者不准确将会给业务带来不可恢复的损失。闲鱼将业务代码从Native迁移到Flutter上过程中,发...

06/13 13:47
27
0
揭秘!如何用Flutter设计一个100%准确的埋点框架?

阿里妹导读:用户行为埋点是用来记录用户在操作时的一系列行为,也是业务做判断的核心数据依据,如果缺失或者不准确将会给业务带来不可恢复的损失。闲鱼将业务代码从Native迁移到Flutter上过...

08/12 13:15
8
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部