浅析:HarmonyOS 一次开发多端部署

这篇具有很好参考价值的文章主要介绍了浅析:HarmonyOS 一次开发多端部署。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

万物互联时代,应用的设备底座将从几十亿手机扩展到数百亿设备。全新的全场景设备体验,正深入改变消费者的使用习惯, 同时应用开发者也面临设备底座从手机单设备到全场景多设备的转变,通过全场景多设备作为全新的底座,为消费者带来万物互联时代更为高效澝便捷的体验。新的场景同时也带来了新的挑战澞开发者不仅要支持更加多样化的设备,还要支持跨设备的协作。不同设备类型意味着不同的传感器能力、硬件能力、屏幕尺寸、操作系统和开发语言,还意味着差异化的交互方式。同时跨设备协作也让开发者面临分布式开发带来的各种复杂性,例如跨设备的网络通信、数据同步等。若采取传统开发模式,适配和管理工作量将非常巨大。当前移动应用开发中遇到的主要挑战包括:

  • 针对不同设备上的不同操作系统,重复开发,维护多套版本;
  • 多种语言栈,对人员技能要求高;
  • 多种开发框架,不同的编程范式;
  • 命令式编程,需关注细节,变更频繁,维护成本高。

为了更好的抓住机遇,应对万物互联所带来的系列挑战,新的应用生态应该具备如下特征:

  • 单一设备延伸到多设备:应用一次开发就能在多个设备上运行,软件实体能够从单一设备转移到其他设备上,且多个设备间能够协同运行,给消费者提供全新的分布式体验;
  • 厚重应用模式到轻量化服务模式:提供轻量化的服务,最小化资源消耗,一步直达, 快速完成消费者特定场景的任务;
  • 集中化分发到 AI 加持下的智慧分发:为消费者提供智慧场景服务,实现“服务找人”;
  • 纯软件到软硬芯协同的 AI 能力:提供软硬芯协同优化的原生 AI 能力,全面满足应用户高性能诉求;

以上就是鸿蒙生态应用开发白皮书里万物互联时代应用开发的机遇、挑战和趋势章节里的描述,代表了鸿蒙人的思考和出发点,接下来我们就简单解读下这些挑战和趋势是什么?

简单解读

具体挑战是什么?

  • 移动端我们有android,ios两种主流操作系统,开发语言,接口,所有技术细节都不一样,找两者都会的工程师难,那应用厂商若是要做APP跑不同设备上就得用两套班子,人力成本大;第二,android,ios分裂产品形态多,手表,PAD,手机,车机,电视,PC,未来可能更多,那同理对APP开发维护就是更大的挑战,不同的交互,不同的UI,不同版本,不同团队,如何保证产品一致,稳定,同步,体验,挑战巨大;第三再设想下未来,音箱,灯光,空调,冰箱,甚至是广告牌,监视器,摄像头,无人机,机器人所有的联网智能设备,这种面向未来的开发我们要做什么准备?

下面我们就对这三进行具体分解,也就是上段所指的具体特征:

在应用开发侧

  • 对应用开发者,最直接的问题就是UI问题,如布局,样式,交互等,这个其实大家都有方案,比如说自适应布局,当外部容器大小发生变化时,元素可以根据相对关系自动变化以适应外部容器变化的布局能力。相对关系如占比、固定宽高比、显示优先级等。当前自适应布局有4种: 线性布局、 层叠布局、 弹性布局、 相对布局。自适应布局能力可以实现界面显示随外部容器大小连续变化;响应式布局,当外部容器大小发生变化时,元素可以根据断点、栅格或特定的特征(如屏幕方向、窗口宽高等)自动变化以适应外部容器变化的布局能力。当前响应式布局能力有2种: 媒体查询、 栅格布局。这部分基于华为丰富应用场景的支撑,以及对内容的深入理解,使用过程中大家应该能发现有些空间更智能,更好用;
  • 对应用模型来说,原来android和ios上的原生应用都是厚重的,现在有些应用几个G,10几个G都有,平均尺寸也有几百兆,而鸿蒙化的HAP则提出了新的设计方式,HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是 Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。HAR(HarmonyOS Ability Resources)可以提供构建应用所需的所有内容,包括源代码、资源文件和config.json文件。HAR不同于HAP,HAR不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。HSP(HarmonyOS Shared Package):这是一种新增的编译产物。HSP 使得模块可以以运行态复用的形式共享。相较于 HAR,当有多个 HAP 包依赖于同一个 HSP时,最终的打包产物中,HSP 只会存在一份。除了这三种应用包的格式,为了应用轻量化,HarmonyOS提出元服务概念,什么意思?简单类比就是小程序,形式还是HAP的形式,但是用卡片方式展现,归应用程序框架管理,入口多,易被唤出。最后,应用还分出各种Ability,这是应用程序框架中最基本的抽象单位,代表最小的应用功能单元。在现在主推的Stage模型中,Ability也分两大类:
  • UIAbility:应用的主入口,对应桌面上的图标。一个 UIAbility 实例对应一个任务。一个 UIAbility 中的通常包含多个ArkUI页面;
  • ExtensionAbility:ExtensionAbility 有多个具体的子类型,例如:FormExtension 用来开发万能卡片, InputMethodExtensionAbility 用来开发输入法等。

浅析:HarmonyOS 一次开发多端部署,鸿蒙开发,harmonyos,华为,程序员,移动开发,OpenHarmony,鸿蒙next,职场发展

以上这两点就是从功能和形式上解决了适配不同屏的问题,解决了应用大的问题,也解决了应用形态的问题,Ability的提出跟解决了界面和功能的问题。鸿蒙运用了解构的方式把大问题拆解成立一些小问题,然后加以实现和演进。当然这后面还包括工程、上架,这部分说起来就是另外一块事情了,我们今天就不再深入分析。简答分析下场景:

  • 模式 1:应用或服务的 UI 自适应不同尺寸的设备屏幕,并且在不同设备的功能相同,可以实现多设备共享一个 HAP 包。这种场景下建议开发者通过一个模块来开发,并配置该模块支持多设备,然后再编译构建生成一个 HAP,分发到不同类型的设备上运行。
  • 模式 2:应用或服务的 UI、功能在不同设备间存在差异,无法实现 HAP 包多设备归一。可根据实际情况设置不同模块适用的设备类型,编译构建多个 HAP 包,一起上架。HUAWEI AppGallery Connect 会自动提取 HAP 中的设备类型的配置信息,为对应的设备自动分发正确的 HAP 包组合。

浅析:HarmonyOS 一次开发多端部署,鸿蒙开发,harmonyos,华为,程序员,移动开发,OpenHarmony,鸿蒙next,职场发展

在系统开发侧

  • 事件归一抽象:不同设备间的交互方式等存在差异,如触摸、键盘、鼠标、语音、手写笔等,鸿蒙系统将不同设备的输入映射成归一交互事件,从而简化开发者适配逻辑。以缩放交互为例,通过多指触控的张合来完成缩放动作,在多设备场景下,缩放交互会出现多种不同的操作输入方式,比如手表就是表冠旋转,鼠标就是滚轮。
  • 组件归一响应:当应用部署在不同设备上供用户使用时,需要支持多种 I/O 设备,界面呈现出相应的状态为用户提供正确的视觉引导。例如触摸时显示按压状态,鼠标特有的悬停状态,键盘走焦状态。渇蒙系统默认提供多种交互方式的组件实现,方便开发者支持多种输入方式。
  • 设备能力抽象:不同设备间的软、硬件能力等存在差异,如设备是否具备定位能力、是否具备摄像头、 是否具备蓝牙功能等,鸿蒙系统需要对设备能力进行逻辑抽象,并提供接口来查询设备是否支持某种能力,方便开发者进行不同软、硬件能力的功能适配。在鸿蒙系统中,使用SystemCapability(简写为 SysCap)定义每个部件对应用开发者提供的系统软硬件能力。应用开发者基于统一的方式访问不同设备的能力。
  • 元服务开发:元服务是鸿蒙系统提供的一种全新的应用形态,具有独立入口,用户可通过点击、碰一碰、扫一扫等方式直接触发,无需显式安装,由程序框架后台静默安装后即可使用,可为用户提供便捷服务。元服务入口多,在服务中心可见,也能通过语音,NFC,摄像头等联动唤入,然后可以用户无感安装和卸载,即用即走;元服务还支持流转,通过分布式软总线的加持,元服务支持跨端迁移(将软件实体从一个设备转移到另一个设备,比如手机视频迁移到智慧屏)或多设备协同(多个物理设备上的软件共同完成一件事情,比如电视投屏+手机遥控,但是这个细分也好几种,比如显示协同,不同大屏和小屏显示不同东西;交互协同,手机输入,智慧屏显示;算力协同)。

系统侧开发想尽办法提供一站式解决方案,抽象输入,抽象交互,抽象数据,抽象硬件,无线压缩所有的可见路径,让应用只聚焦业务。所以这部分对应用开发者来说就是统一接口,统一工程,统一规范;对系统开发者来说就是一个足够具象的微服务森林,没一个端到端的功能都需要仔细梳理并有弹性和生命力。系统侧其实做了太多的工作,软总线,分布式,ArkUI,应用管理,SA化,大量的细化,解耦工作才能使得应用即服务这样的能力在系统层生根发芽。这部分说起来简单,管理起来那正是千头万绪,而且随着接入硬件形态的不断增加、复杂,如何做兼容性,如何保证体验,如何减低整个系统的可维护性,才是最大的挑战。可以看出来,鸿蒙覆盖千行百业的决心和勇气,也可以预见系统的庞杂和勃勃生机。接入厂商的增多,鸿蒙原生应用的增多,希望大家能碰撞出更多的、更实用的场景和一多能力。

浅析:HarmonyOS 一次开发多端部署,鸿蒙开发,harmonyos,华为,程序员,移动开发,OpenHarmony,鸿蒙next,职场发展文章来源地址https://www.toymoban.com/news/detail-816990.html

到了这里,关于浅析:HarmonyOS 一次开发多端部署的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HarmonyOS学习路之开发篇—流转(多端协同 一)

    开发者在应用FA中通过调用流转任务管理服务、分布式任务调度的接口,实现多端协同。 主要流程如下: 设备A上的应用FA向流转任务管理服务注册一个流转回调。 Alt1-系统推荐流转:系统感知周边有可用设备后,主动为用户提供可选择流转的设备信息,并在用户完成设备选择

    2024年02月15日
    浏览(41)
  • HarmonyOS学习路之开发篇—流转(多端协同 二)

     完成 环境搭建,在DevEco Studio中,选择手机设备,Empty Feature Ability(Java)模板创建项目,在项目自动创建的MainAbility中实现IAbilityContinuation接口。 在AbilitySlice中实现一个用于控制基础功能的页面,以下演示代码逻辑都将在AbilitySlice中实现,代码示例如下: 在FA对应的config.json中

    2024年02月15日
    浏览(41)
  • 鸿蒙(HarmonyOS)应用开发指南

    1.1 简介 鸿蒙 (即 HarmonyOS ,开发代号 Ark ,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的 分布式操作系统 。该系统利用“分布式”技术将 手机、电脑、平板、电视、汽车和智能穿戴 等多款设备

    2024年02月02日
    浏览(104)
  • 鸿蒙开发-HarmonyOS UI架构

    当我们新建一个工程之后,首先会进入Index页。我们先简单的做一个文章列表的显示 这样,我们只要把 articles 里面填充数据,就能正常显示一个列表了。 可以看到上面的代码里是没有数据的,只有一个空数组。我们想要从网络获取数据。那么,数据怎么来呢?最简单粗暴的

    2024年02月19日
    浏览(50)
  • 鸿蒙学习:初探HarmonyOS前端开发

    随着鸿蒙操作系统(HarmonyOS)的推出,前端开发者们迫切希望了解如何在这个全新的操作系统上进行应用程序的开发。本文将带您深入了解HarmonyOS前端开发的基础知识和相关源代码示例。 HarmonyOS是华为推出的一款基于微内核的分布式操作系统,旨在为各种设备提供统一的开发

    2024年01月21日
    浏览(36)
  • HarmonyOS鸿蒙基于Java开发: 相机开发

    目录 相机开发流程 接口说明 相机权限申请 相机设备创建 相机设备配置 相机帧捕获 相机设备释放 相机模块主要工作是给相机应用开发者提

    2024年01月20日
    浏览(56)
  • HarmonyOS 鸿蒙应用开发(十一、面向鸿蒙开发的JavaScript基础)

    ArkTS 是HarmonyOS(鸿蒙操作系统)原生应用开发的首选语言。它是用于构建用户界面的一种TypeScript方言,扩展了TypeScript以适应HarmonyOS生态系统的UI开发需求。ArkTS 融合了TypeScript的静态类型系统和现代UI框架的设计理念,为开发者提供了一种更安全高效的方式来编写HarmonyOS应用。

    2024年02月20日
    浏览(56)
  • 鸿蒙HarmonyOS开发环境初识及搭建

    一 鸿蒙简介 HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。在传统的单设备系统能力基础上,HarmonyOS提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动

    2024年02月09日
    浏览(43)
  • 鸿蒙应用开发尝鲜:初识HarmonyOS

    来源:华为官方网站 : https://developer.huawei.com/ 相信大家对鸿蒙应用开发也不在陌生,很多身处互联网行业或者不了解的人们现在也一定都听说过华为鸿蒙.这里我将不再说废话,直接步入正题 HarmonyOS应用开发采用的是ArkTS语言,ArkTS是在TypeScript(简称TS)基础上的拓展,而TS又是JavaScrip

    2024年02月02日
    浏览(65)
  • 鸿蒙HarmonyOS应用开发初体验

    最近华为发布mt60新机火了,作为一名移动开发程序员,对鸿蒙系统开发移动端就很感兴趣了。 开发工具:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 下载完后按默认安装就可以了,界面跟AS很类似,之前我jdk环境配置就不在配置了,不懂的可以百度下很多教程。 这是基

    2024年02月09日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包