首页 > 其他分享 >Flutter(五):Flutter 加入现有App的方案选择(Flutter_Boost)

Flutter(五):Flutter 加入现有App的方案选择(Flutter_Boost)

时间:2022-10-08 16:13:35浏览次数:77  
标签:集成 App iOS FlutterBoost Android Boost Flutter 页面

一、介绍

用 Flutter 一次性重写整个已有的应用是不切实际的。对于这些情况,Flutter 可以作为一个库或模块,集成进现有的应用当中。模块引入到您的 Android 或 iOS 应用(当前支持的平台)中,以使用 Flutter 来渲染一部分的 UI,或者仅运行多平台共享的 Dart 代码逻辑。

二、官方方案:

将 Flutter module 集成到 Android 项目

集成到 Android 项目官方文档

将 Flutter module 集成到 iOS 项目

集成到 iOS 项目官方文档

三、第三方-Flutter_Boost(推荐)

1、介绍(基于Flutter3.0版本)

版本:FlutterBoost-4.0+ & Flutter 3.0+

中文文档

中文介绍

FlutterBoost 是阿里系闲鱼技术团队开源的 Flutter 插件,它可以轻松为现有原生应用程序提供 Flutter 混合集成方案。其理念是将 Flutter 像 WebView 那样来使用。FlutterBoost 帮开发者处理 Native 与 Flutter 页面的映射和跳转,开发者只需关心页面的名字和参数即可 ( 通常可以是 URL ) 。可以让一个成熟的原生 APP 项目,在不用推翻重做的前提下,方便快捷的开始 Flutter 混合开发,几乎不影响原有的 Native 项目。同时 FlutterBoost 也是在 Flutter 官方提供的混合开发解决方案上探索出来的最优解,并已在闲鱼 APP 线上环境中运用,承受着亿级用户量的检测,稳定性值得肯定。

2、特性

  • 1.不入侵引擎:flutter sdk升级不需要升级boost
  • 2.iOS和Android双端接口设计统一
  • 3.生命周期的精准通知
  • 4.Android不需要区分androidx 和support

3、架构

4、页面生命周期设计

FlutterBoost3.0以后有两个和页面相关的概念,一个是BoostContainer,另一个是BoostPage。每个BoostContainer在Native层都会有一个与之对应的容器,比如在Android端,这个容器可能是FlutterBoostActivity或者FlutterBoostFragment,而在iOS端,这个容器则指的是FBFlutterViewContainer。每个BoostContainer都会有一个与之对应的Navigator,因而一个BoostContainer可以包含多个BoostPage,这个设计也被我们称之为双重栈。当我们需要打开一个Flutter页面时,有一个额外的参数withContainer,这个参数设置为false时,表示打开页面时不需要打开一个新容器,而这个参数如果被设置为true,则会在打开页面的同时,去打开一个新容器。

标签:集成,App,iOS,FlutterBoost,Android,Boost,Flutter,页面
From: https://www.cnblogs.com/anywherego/p/16769231.html

相关文章