您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[华为]:鸿蒙生态应用开发白皮书V1.0 - 发现报告
当前位置:首页/行业研究/报告详情/

鸿蒙生态应用开发白皮书V1.0

信息技术2023-07-03华为墨***
鸿蒙生态应用开发白皮书V1.0

V1.0 ޥ所޴࢝ © 华为ওॏޥୡ公司2022澞 保ࣚ▁切޴利澞 本材料所载内容受著作权法的保护,著作权由华为公司或其许可人拥有,但注明引用其他方的内容除外澞未经华为公司或其许可人事先书வ许可,任何人不得将本材料中的任何内容以任何方式进行复制澝经销澝翻印澝播放澝以超级链路连接或传送澝存储于信息检索系统或者其他任何商业目的的使用澞 商ߗ声明 以上为华为公司的商标(ள详尽清单),未经华为公司书வ事先明示许可,任何第三方不得以任何形式使用澞 意ࡉ 华为会不定期对本文档的内容进行更新澞 本文档仅作为使用指导,文档中的所有陈述澝信息和建议不构成任何明示或暗示的担保澞 华为ওॏޥୡ公司 地址: 广东省东唔市松山湖ⴃ区新城路2号 网址: https://consumer.huawei.com O1 O2 O3 万物互联时代应用开发的机遇澝 挑战和趋势 渇蒙生态应用核心技术理念 7 19 1)▲次开发,多端部署 · · · · · · · · · · · · · · 2)可分可合,自由流转 · · · · · · · · · · · · · · 3)统▲生态,原生智能 · · · · · · · · · · · · · · 16 渇蒙生态应用开发能力全景 2)渇蒙开发套件 · · · · · · · · · · · · · · · · ·· 3)三方库 · · · · · · · · · · · · · · · · · · · · · · 4)开发者支持平台 · · · · · · · · · · · · · · · · · 26 45 44 CONTENT 1)赋能套件 · · · · · · · · · · · · · · · · · · ··· 24 O4 O5 O6 ௤效开发与测试 1)典型开发场景· · · · · · · · · · · · · · · · · · · 3)ArkTS 语言 · · · · · · · · · · · · · · · · · ··· 4)ArkUI 框架 · · · · · · · · · · · · · · · · ····· 4 50 4 5)用户程序框架· · · · · · · · · · · · · · · · ············ 6)SDK · · · · · · · · · · · · · · · · · ································· 7)த成开发环境 · · · · · · · · · · · · · · · · ··· 61 6 64 8)测试工具 · · · · · · · · · · · · · · · · ··············  统▲上架与多端分发 1)快速上架· · · · · · · · · · · · · · ·· · ·· · · · 2)应用分发 · · · · · · · · · · · · · · · ··· · · · 3)服务分发 · · · · · · · · · · · · · · ·· · · · ·· 1  5 自由流转与分布式运行环境 1)价值与架构定义· · · · · · · · · · · · ·· · · · 2)跨端迁移· · · · · · · · · · · · · · · ·· ·· · · · 3)多端协同· · · · · · · · · · · · · · ·· ··· · ··· 104 10 106 2)设计 · · · · · · · · · · · · · · · · · ··· ··· ·· 4 全方位运维分析 Oɪ 全场景案例参考 Oɫ 附录:术语 O7 2 万ࢢ互৊时代应࣐开发 ࣩ޲଀澝挑战和મ势 Chapter 1 3 经过十多年的发展,传统移动互联网的增长红利已渐见஽澞万物互联时代正在开启,应用的设备底座将从几十亿手机扩展到数百亿IoT设备澞GSMA௄测到2025年,全球物联网终端连接数量将达246亿个,其中消费物联网终端连接数量将达110亿个(注:数据来自于全球移动通信系统协会发布的澦2020年移动经济澧报告)澞IDC௄计到2025年,中国物联网总连接量将达到102.7亿个(注:数据来自于IDC发布的澦中国物联网连接规模௄测,2020—2025澧报告)澞全新的全场景设备体௠,正深入改变消费者的使用习惯澞 同时应用开发者也வ临设备底座从手机单设备到全场景多设备的转变,通过全场景多设备作为全新的底座,为消费者带来万物互联时代更为௤效澝便捷的体௠澞 新的场景同时也带来了新的挑战澞开发者不仅஬要支持更加多样化的设备,还஬要支持跨设备的协作澞不同设备类型意味着不同的传感器能力澝硬件能力澝屏幕尺寸澝操作系统和开发语言,还意味着差异化的交互方式澞同时跨设备协作也让开发者வ临分布式开发带来的各种复杂性,例如跨设备的网络通信澝数据同步等澞若采取传统开发模式,适配和管理工作量将ள常巨大澞当前移动应用开发中遇到的主要挑战包括: z 针对不同设备上的不同操作系统,重复开发,维护多套版本澞 z 多种语言栈,对人员技能要求௤澞 z 多种开发框架,不同的编程范式澞 z 命令式编程,஬关注细节,变更ை繁,维护成本௤澞 与此同时,AI时代全வ来临,在PC 互联网到移动互联网到智能化终端演进过程中,AI计算主要在云端数据中心进行,ள常依赖网络,具有▲定的时延,且数据传输的安全性澝私密性不能得到有效保证澞随着人们对交互和信息获取的智能化要求越来越௤,移动设备的计 4 算能力越来越强,在设备侧就能提供AI的相关能力,例如自然语言交互澝环境智能感知澝图像识别等澞如何快速地使用设备侧的强大AI能力,使自己的应用更加智能化,进而更好的服务消费者,也是开发者வ临的全新挑战澞 移动终端上的应用生态发展到今天也வ临着变ஶ澞传统厚重的App,整体体௠好,功能௷全,但开发成本௤澝周期长,且存在搜索,安装,升级,卸载等▲系列஬要用户主动关注的显性操作,这些显性操作给用户带来了实质性的使用成本澞轻量化澝可快速达成消费者意图澝可独立执行澝完成单▲功能的程序实体正成为新的趋势,例如小程序澝App Clips澝快应用等澞根据阿拉丁指数的统计,全网小程序已经突破700万个(注:数据来自于阿拉丁研究院发布的澦2021年度小程序互联网发展白皮书澧),远超App数量澞大型应用开发者普遍向用户提供轻量化程序实体澞在很多特定的使用场景下,小程序等轻量化程序实体的使用占比已超过App,成为வ向用户的主要触达方式澞 轻量化的程序实体所具备的“即用即走澝无஬安装卸载澝永远最新”的特征,也推动了 App 基于搜索下载的“人找应用”的传统分发向“服务找人”的智㘸分发的演进澞App 遵循“搜索澝下载澝安装澝使用”的模式,用户主动发现的成本௤,拉新澝促活澝召回的全生命周期流程相对被动澞轻量化的程序实体具有即用即走的体௠,可通过各类终端的系统级智㘸入口进行分发,甚至可以在三方App中分发,依托无所不在的入口流量和标签化识别,向用户主动提供精准服务澞配合CPS(Cost Per Sale)等商业模式,可以为开发者带来更௤的ROI(Return of Investment)澞 为了更好的抓住机遇,应对万物互联所带来的▲系列挑战,新的应用生态应该具备如下特征: 5 z 单▲设备延伸到多设备:应用▲次开发就能在多个设备上运行,软件实体能够从单▲设备转移到其他设备上,且多个设备间能够协同运行,给消费者提供全新的分布式体௠澞 z 厚重应用模式到轻量化服务模式:提供轻量化的服务,最小化资源消耗,▲步直达,快速完成消费者特定场景的任务澞 z த中化分发到AI加持下的智㘸分发:为消费者提供智㘸场景服务,实现“服务找人”澞 z 纯软件到软硬芯协同的AI能力:提供软硬芯协同优化的原生AI能力,全வ满足应用௤性能诉求澞 6 渇ਞ࣏㓆应࣐ ࣂ念ޱ心技ߟ Chapter 2 1 - 1)▲次开发,多端部署 - 2)可分可合,自由流转 - 3)统▲生态,原生智能 7 在万物智联时代重要机遇期,渇蒙系统结合移动生态发展的趋势,提出了三大技术理念:▲次开发,多端部署;可分可合,自由流转;统▲生态,原生智能澞 图2-1:核心技术理念 1)▁ࠊ开发,多ॏ଑঵ “▲次开发,多端部署”指的是▲套代码,▲次开发上架,多端按஬部署澞目的是为了支㣜开发者௤效地开发多种终端设备上的应用澞为了实现这▲目的,渇蒙系统提供了几个核心能力,包括多端开发环境,多端开发能力以及多端分发机制澞 8 图2-2:▲次开发 多端部署 多ॏ开发ࢺ境 HUAWEI DevEco Studio 是வ向全场景多设备提供的▲站式开发平台,支持多端双向实时௄览澝分布式调优澝分布式调测澝超级终端模拟澝低代码可视化开发等能力,帮助开发者降低成本澝提升效率澝提௤质量澞HUAWEI DevEco Studio提供的核心能力如下图所示: 图2-3:HUAWEI DevEco Studio核心功能和特征 1. 多ॏ双向ஓ੒ 在渇蒙生态应用的开发阶段,因不同设备的屏幕分辨率澝形状澝大小等差异,开发者஬要在不同设备上查看界வUI显示,确保实现效果与设计目标▲致澞传统的开发模式下,开 9 发者஬要获取大量不同的真机设备用于测试௠证澞HUAWEI DevEco Studio 提供了多种设备的双向௄览能力,支持同时查看UI代码在多个设备上的௄览效果,并支持UI代码和௄览效果的双向定位修改澞 2. 分布式ઁੰ 渇蒙生态应用具有天然的分布式特征,体现在同▲个应用在多个设备上会有大量的交互澞开发过程中,对这些交互进行调试时,஬要对每个设备分别建立调试会话,并且஬要在多个设备之间来回切换,容易造成调试不连续澝操作繁䛒等问ொ澞为了提升开发效率,HUAWEI DevEco Studio 提供了分布式调试功能,支持跨设备调试,通过代码断点和调试堆栈可以方便地跟踪不同设备之间的交互,用于定位多设备互动场景下的代码缺陷澞 图2-4:分布式调试交互图 3. 分布式ઁ优 分布式应用的运行性能至关重要澞在跨端迁移场景中,஬要应用在目标设备上快速启动,以实现和原设备之间的无缝衔接;在多端协同场景中,஬要应用在算力和资源不同的多个设 10 备上都能௤效运行,以获得整体的流畅体௠澞以往开发者在分析分布式应用的性能问ொ时,஬要单独查看每个设备的性能数据,并手动关联分析这些数据,操作繁䛒,复杂度௤澞HUAWEI DevEco Studio 提供了分布式调优功能,支持多设备分布式调用链跟踪澝跨设备调用堆栈缝合,同时采த多设备性能数据并进行联合分析澞 图2-5:多设备联合分析 4. બঃওॏࠆ拟 移动应用开发时஬要使用本地模拟器来进行应用调试,实现快速开发的目的澞渇蒙生态应用஬要运行在多种不同类型的设备上,为此 HUAWEI DevEco Studio 提供了不同类型的终端模拟,支持开发者在多个模拟终端上进行开发调试,降低门㵬澝节约成本澞同时,多个模拟终端澝真机设备也可以自由地组成超级终端,进▲步降低开发者获取分布式调测环境的஡度澞 11 5. 低代ऑ可ੑ化开发 低代码开发提供UI可视化开发能力,支持自由拖拽组件和可视化数据绑定,可快速௄览效果,所见即所得澞通过拖拽式编排澝可视化配置的方式,帮助开发者减少重复性的代码编写,快速地构建多端应用程序澞低代码开发的产物如组件澝模板等可以被其他模块的代码引用,并且能通过跨工程复用,支持开发团队协同完成复杂应用的开发澞 多ॏ开发ৗ力 应用如஬在多个设备上运行,஬要适配不同的屏幕尺寸和分辨率澝不同的交互方式(如触摸和键盘等)澝不同的硬件能力(如内存差异和外设差异等),开发成本较௤澞因此,多端开发能力的核心目标是降低多设备应用的开发成本澞为了实现该目标,渇蒙系统提供了以下几个核心能力,支持界வ和业务逻辑代码复用,帮助开发者降低开发