本文主要是介绍鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
动态化介绍
简介
ArkUI-X支持动态化,使用者可以根据自己需要动态发布跨平台内容,从而使跨平台部分和宿主应用进行解耦。动态化能力支持如下两个典型场景:
- 框架动态化:指ArkUI跨平台开发框架本身可以做到动态下发,即应用发布时可以不带框架基础库,降低应用原始发布包体积,在需要时才从云端动态下发和执行加载;
- 特性动态化:指用ArkTS语言开发的特性可以做到动态化,和宿主应用解耦,独立发布、升级版本;
说明:应用在使用动态化能力时需要遵循目标终端操作系统应用上架规则,如果违规可能有下架风险,风险由各自应用承担。 开发前请熟悉鸿蒙开发指导文档: gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。
实践参考
- [Android平台动态化开发指南]
Android平台动态化开发指南
简介
本文介绍如何在Android平台进行ArkUI-X动态化开发,包括动态化目录规则及约束。
适用场景
动态化主要包括两个典型场景:
- 场景1:框架动态化,为了降低应用ROM体积占用,及满足动态升级框架目的;
- 场景2:特性Bundle动态化,特性和宿主应用发布解耦;
开发指南
目录说明
动态加载时要求应用沙箱内目录架构如下所示:
/data/data/应用/files/arkui-x
├── feature1 # 跨平台特性1
│ ├── ets # ets目录
│ │ ├──sourceMaps.map
│ │ └──modules.abc
│ ├── resources.index
│ ├── resources
│ ├── module.json
│ └── libs # 特性bundle带的so库
│ ├── arm64-v8a
│ ├── armeabi-v7a
│ └── x86_64
├── systemres # ArkUI公共资源
└── libs # 根目录下libs库├── arm64-v8a │ └──libarkui_android.so # ArkUI-X引擎├── armeabi-v7a └── x86_64
/data/data/应用/files/arkui-x
可以视为ArkUI-X动态加载的沙箱根目录,框架和特性Bundle均需要放在这个目录下;- 根目录下的libs文件夹放置引擎(libarkui_android.so),及其他公共库;
-
根目录下要求按照module级别组织,不可以重名;
加载优先级
- 引擎so库:优先加载应用lib目录下,如果未找到则去应用沙箱根目录加载;
- 插件so库:优先加载应用lib目录下,如果未找到则去应用沙箱根目录尝试加载,最后去插件自身的libs目录加载;
- module加载:优先从应用assets目录下寻找,如果找不到则去沙箱内尝试加载;
-
systemres加载:同上,优先加载应用assets目录,找不到则去沙箱内加载;
注意:不建议应用同一个module,即预制到应用assets内又在沙箱同时部署。
框架初始化
如果应用使用了框架引擎动态化,首次下载引擎库后将其放置
/data/data/应用/files/arkui-x/libs/arm64-v8a
目录,之后再打开对应跨平台界面时初始化框架:
appDelegate = new StageApplicationDelegate();
appDelegate.initApplication(this)
后续再打开应用,建议按照正常流程在Application里初始化框架,提前完全引擎库加载,提高跨平台模块加载速度;
- [iOS平台动态化开发指南]
iOS平台动态化开发指南
简介
本文介绍如何在iOS平台进行ArkUI-X动态化开发,包括动态化目录规则及约束。
适用场景
由于iOS平台AppStore不允许应用动态更新so库,因此ArkUI-X在iOS上动态化只能更新界面及业务逻辑构成的abc,不支持so库动态加载。应用需要将ArkUI-X基础库、插件及业务so库提前打包到应用内上架。
开发指南
目录结构
iOS平台ArkUI-X沙箱内目录结构如下所示:
/Data/Application/应用/Documents/files/arkui-x
├── feature1 # 跨平台特性1
│ ├── ets # ets目录
│ │ ├──sourceMaps.map
│ │ └──modules.abc
│ ├── resources.index
│ ├── resources
│ └── module.json
└── systemres # ArkUI公共资源
/Data/Application/应用/Documents/files/arkui-x
可以视为ArkUI-X动态加载的沙箱根目录,特性Bundle需要放在这个目录下;- 根目录下要求按照module级别组织,不可以重名;
加载优先级
- module加载:优先从应用根目录下寻找,如果找不到则去沙箱内尝试加载;
-
systemres加载:同上,优先加载应用根目录下的资源,找不到则去沙箱内加载;
注意:不建议应用同一个module,即预制到应用内又在沙箱同时部署。
最后呢,很多开发朋友不知道需要学习那些鸿蒙技术?鸿蒙开发岗位需要掌握那些核心技术点?为此鸿蒙的开发学习必须要系统性的进行。
而网上有关鸿蒙的开发资料非常的少,假如你想学好鸿蒙的应用开发与系统底层开发。你可以参考这份资料,少走很多弯路,节省没必要的麻烦。由两位前阿里高级研发工程师联合打造的《鸿蒙NEXT星河版OpenHarmony开发文档》里面内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(Harmony NEXT)技术知识点
如果你是一名Android、Java、前端等等开发人员,想要转入鸿蒙方向发展。可以直接领取这份资料辅助你的学习。下面是鸿蒙开发的学习路线图。
高清完整版请点击→《鸿蒙NEXT星河版开发学习文档》
针对鸿蒙成长路线打造的鸿蒙学习文档。话不多说,我们直接看详细资料鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,帮助大家在技术的道路上更进一步。
《鸿蒙 (OpenHarmony)开发学习视频》
《鸿蒙生态应用开发V2.0白皮书》
《鸿蒙 (OpenHarmony)开发基础到实战手册》
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
-
ArkTS语言
-
安装DevEco Studio
-
运用你的第一个ArkTS应用
-
ArkUI声明式UI开发
-
.……
《鸿蒙开发进阶》
-
Stage模型入门
-
网络管理
-
数据管理
-
电话服务
-
分布式应用开发
-
通知与窗口管理
-
多媒体技术
-
安全技能
-
任务管理
-
WebGL
-
国际化开发
-
应用测试
-
DFX面向未来设计
-
鸿蒙系统移植和裁剪定制
-
……
《鸿蒙开发实战》
-
ArkTS实践
-
UIAbility应用
-
网络案例
-
……
获取这份鸿蒙星河版学习资料,请点击→《鸿蒙NEXT星河版开发学习文档》
总结
鸿蒙—作为国家主力推送的国产操作系统。部分的高校已经取消了安卓课程,从而开设鸿蒙课程;企业纷纷跟进启动了鸿蒙研发。
并且鸿蒙是完全具备无与伦比的机遇和潜力的;预计到年底将有 5,000 款的应用完成原生鸿蒙开发,未来将会支持 50 万款的应用。那么这么多的应用需要开发,也就意味着需要有更多的鸿蒙人才。鸿蒙开发工程师也将会迎来爆发式的增长,学习鸿蒙势在必行!
这篇关于鸿蒙ArkUI-X跨语言调用说明:平台差异化【Android、ios动态化】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!