IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> flutter_boost混合开发框架集成教程 -> 正文阅读

[移动开发]flutter_boost混合开发框架集成教程

背景

随着Flutter的发展,国内越来越多的App开始使用Flutter。为了降低风险,大部分App采用渐进式方式引入Flutter,在App里选几个页面用Flutter来编写,但都碰到了相同的问题,在原生页面和Flutter页面共存的情况下,如何管理路由? 官方没有提供这样的解决方案,而FlutterBoost就是为了解决这个问题而生。

开源方案对比

集成流程

flutter配置

flutter配置 ? 第一步:在pubspec.yaml添加依赖

flutter_boost: ? ?

? ? ?git:url: 'https://github.com/alibaba/flutter_boost.git' ? ? ?

? ? ?ref: 'v3.0-null-safety-preview.18'

flutter配置 ? 第三步:在flutter的model的main设置路由

flutter配置 ? 第三步:在flutter的model的main设置路由

?

flutter配置 ? 第四步:在flutter的model的main设置FlutterBoostApp路由配置

?

安卓配置 ? ? 第一步:Application继承FlutterApplication初始化FlutterBoost?

?

安卓配置 ? ? 第二步:MainActivity继承FlutterBoostActivity初始化flutter首页

iOS配置 ? ? 第一步:

1.首先在自己的创建的iOS工程目录下,执行pod init,之后执行一次pod install

2.打开创建的Podfile文件,添加以下代码

flutter_application_path = '../flutter_module'

load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

install_all_flutter_pods(flutter_application_path)

iOS配置 ? ? 第二步:

添加之后,您的Podfile应该类似下面这样

# Uncomment the next line to define a global platform for your project

# platform :ios, '9.0'

flutter_application_path = '../flutter_module'

load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb')

target 'BoostTestIOS' do

?use_frameworks!

?install_all_flutter_pods(flutter_application_path)

end

然后再执行pod install,安装完成

iOS配置 ? ? 第三步:

创建BoostDelegate类, 这里面的内容是完全可以自定义的,BoostDelegate类用于定义pushNativeRoute(flutter跳iOS页面)、pushFlutterRoute(iOS跳flutter页面)和popRoute(退出页面)等方法的实现。 class BoostDelegate: NSObject,FlutterBoostDelegate { ? ?

///您用来push的导航栏 ? ?

var navigationController:UINavigationController? ? ? ? ?

///用来存返回flutter侧返回结果的表 ? ?

var resultTable:Dictionary<String,([AnyHashable:Any]?)->Void> = [:];

。。。。。。 }

iOS配置 ? ? 第四步:

在AppDelegate的didFinishLaunchingWithOptions方法中进行初始化配置

//注册Flutter调原生的插件及设置

let delegate = BoostDelegate() FlutterBoost.instance().setup(application, delegate: delegate) { engine in ? ? let plugin:FlutterBoostPlugin = FlutterBoostPlugin.getPlugin(engine); ? ? plugin.delegate = delegate ? ? if let message = registrar?.messenger() {

///注册插件 ? ? ? ?

FBNativeRouterApiSetup(message, plugin as! FBNativeRouterApi) ?? ?} }

?

使用教程:

flutter跳转安卓/iOS原生

?

安卓原生跳转flutter原生

IOS原生跳转flutter原生

?

?

?

?

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:43:01  更:2022-02-22 20:43:51 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 15:35:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码