鸿蒙Flutter实战:07-混合开发

鸿蒙Flutter实战:混合开发

鸿蒙Flutter混合开发主要有两种形式。

1.基于har

将flutter module打包成har包,在原生鸿蒙项目中,以har包的方式引入。

其优点是主项目开发者可以不关注Flutter实现,不需要安装配置Flutter开发环境,缺点是无法及时修改Flutter代码,也不存在热重载。

2.基于源码

通过源码依赖的当时,在原生鸿蒙项目处,引入Flutter模块。

其优点是方便维护和更新Flutter代码,也可以使用热重载。缺点是需要搭建Flutter开发环境,开发人员需要掌握Flutter。

其项目结构类似如下:

1. 2├── AppScope 3│ ├── app.json5 4│ └── resources 5│ ├── base 6│ └── rawfile 7├── build-profile.json5 8├── dependencies 9│ ├── hvigor-4.1.1.tgz 10│ ├── hvigor-ohos-arkui-x-plugin-3.1.0.tgz 11│ └── hvigor-ohos-plugin-4.1.1.tgz 12├── entry 13│ ├── build-profile.json5 14│ ├── hvigorfile.ts 15│ ├── oh-package.json5 16│ └── src 17│ └── main 18├── flutter_module 19│ ├── BuildProfile.ets 20│ ├── Index.ets 21│ ├── build-profile.json5 22│ ├── consumer-rules.txt 23│ ├── hvigorfile.ts 24│ ├── libs 25│ │ └── arm64-v8a 26│ ├── obfuscation-rules.txt 27│ ├── oh-package.json5 28│ └── src 29│ ├── main 30│ ├── ohosTest 31│ └── test 32├── har 33│ ├── GT-HM-1.0.4.har 34│ ├── flutter.har 35│ ├── flutter_boost.har 36│ ├── flutter_module.har 37│ └── lib_base.har 38├── hvigor 39│ └── hvigor-config.json5 40├── hvigorfile.ts 41├── local.properties 42├── oh-package.json5 43├── package-lock.json 44└── package.json

参考资料

点赞
收藏

评论区

加载中...

相关推荐

鸿蒙Flutter实战:01-搭建开发环境

鸿蒙Flutter实战:01搭建开发环境

鸿蒙Flutter实战:02-Windows环境搭建踩坑指南

鸿蒙Flutter实战:02Windows环境搭建踩坑指南环境搭建1.下载FlutterSDK,配置环境变量鸿蒙FlutterSDK需要在。目前建议下载dev分支代码。需要配置以下用户变量注意鸿蒙开发需要安装Java和配置相关变量bashfluttersd

鸿蒙Flutter实战:04-如何使用DevTools调试Webview

鸿蒙Flutter如何使用DevTools调试Webview在《鸿蒙Flutter开发中集成Webview》,介绍了如果在Flutter中集成Webview.本文则为Webview的调试方法。配置WebviewCustomView.ets文件中,在生命周期

鸿蒙Flutter实战:05-使用第三方插件

鸿蒙Flutter实战:使用第三方插件在鸿蒙Flutter开发中,如果涉及到使用原生功能,就要使用插件。使用插件有两种方式,一种是自己编写原生ArkTS代码,在Dart侧调用。另外一种是使用第三方代码。方式一:编号原生ArkTS代码该方案可以使用Platf

鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件

使用ArkTs开发Flutter鸿蒙平台插件本文讲述如何开发一个Flutter鸿蒙插件,如何实现Flutter与鸿蒙的混合开发,以及双端消息通信。Flutter侧,编写MethodChanneldartconstMethodChannelmethodCha

鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙

鸿蒙Flutter实战:现有Flutter项目支持鸿蒙背景原来使用Flutter开发的项目,需要适配鸿蒙。环境搭建见文章[鸿蒙Flutter适配指南],搭建开发环境,使用fvm管理多版本SDK。模块化原有项目保持模块化,拆分为apps/common/com