目录

1. 全场景分布式系统

2. HarmonyOS的超能力:ArkTS API万箭齐发

3.解锁“鸿蒙开发套件”的新技能

(1) 智能代码编辑器

(2)Hvigor编译构建

(3)热重载:向看直播一样查看运行结果

(4)跨语言调试,打通多种语言之间的虫洞

(5)场景化性能调优工具:DevEco Insight

(6)云端一体化开发

4. 新形态UI

5. 轻量化并发

6. ArkUI全新开发模型:Stage模式

7. HMS Core集成


2022年华为开发者大会(HDC.Together)于11月4日在东莞松山湖揭开帷幕,带来了鸿蒙生态的最新成果,展示了鸿蒙生态的全新格局。在大会主题演讲中,华为带来了多种令人震撼的技术成果,如分布式能力、原子化服务、AI、AR、地图、游戏、音视频、隐私安全、HarmonyOS座舱等。同时鸿蒙开发套件推出了升级的ArkTS、ArkUI、ArkCompiler等技术,通过这些技术的加持,让HarmonyOS App从开发、到布局,再到性能,都得到了质的飞跃。从而全面加速推进HarmonyOS应用生态。
        下面就向各位展示一下鸿蒙开发套件以及其他炫酷的技术:

1. 全场景分布式系统

自从HarmonyOS在2020年9月份发布以来,就确认了HarmonyOS发展的总策略,要成为全场景的分布式系统。所谓全场景主要体现在无处不在。现在各种类型的电子设备已经填满了我们生活和工作的每一个角落,闹钟、手机、平板电脑、微波炉、电磁炉、热水器、耳机、电视、电脑、电动汽车、手表、智能手环、吸尘器、电冰箱、洗衣机,这些都是我们生活中常见的电子设备,如果要让它们单独运作再容易不过了,不过HarmonyOS的目的是让这些设备组成一个整体,就是组成人体的每一个器官,在需要的时候,会有合适的器官完成特定的工作,以形成一个超级终端,对,这就是HarmonyOS的最终目的。HarmonyOS会隐藏在背后完成所有的工作,包括处理特定的任务,协调各种电子设备,数据同步等,而用户并不会感知HarmonyOS的存在,真正做到无影无形,无处不在。

HarmonyOS要想达到这个目的,拥有强大的开发套件以及灵活的特性是必备技能。而一次开发,多端部署,可分可合、自由流转,统一生态,原生智能正是HarmonyOS的最高指导原则。为了实现这些原则,HarmonyOS逐渐支持了多种技术(如ArkUI、ArkTS、ArkCompiler、原子化服务等),并提出了Stage等开发模式。下面将为大家逐一解锁这些新技能。

2. HarmonyOS的超能力:ArkTS API万箭齐发

不管是任何类型的编程语言或是具有开发能力的平台,都需要提供大量可供用户操控的接口,也称为API。ArkTS随着几年的发展,已经提供了海量的API可供用户使用,到目前为止,HarmonyOS 3.1中的ArkTS API已经有超过10000个,能力覆盖了方方面面。例如,用于设计UI的声明式布局API、Web相关的API、多媒体相关的API、网络相关的API等,总之,ArkTS目前支持的API足够开发出非常强大的HarmonyOS App

3.解锁“鸿蒙开发套件”的新技能

有一套好的开发工具,会让你的开发效率倍增,出错显著下降,最关键的一点可以让你心情更好,防止脱发。

华为最新先推出的DevEco Studio 3.1堪称是目前为止最强大的HarmonyOS App开发套件。新版的DevEco Studio支持大量的新特性,以便让我们在开发HarmonyOS App时感觉更爽,例如,通过强大的智能代码编辑器可以更快速,更准确定位错误,增量编译可以让我们在编译的过程中不再闲得无聊。

(1) 智能代码编辑器

人类进入智能代码编辑器时代是从微软的Visual Studio开始的,不过当时的编辑器相当简陋,或者说是原始。随着时代的发展,代码编辑器开始变得智能,甚至成为开发工具的标配。

最初的智能代码编辑器只是可以列出类或对象的成员,以及参数等。不过随着API数量的大量增加,语法变得越来越复杂,代码编辑器就需要可以帮助开发人员快速编写代码,这一点从DevEco Studio代码智能补齐功能就可以看出,输入某些特定的语法结构(如循环、条件、lambda表达式等),编辑器会为我们生成这些语法结构的默认形式,即使我们忘记了具体的语法也无关紧要,只需要在默认语法形式的基础上照猫画虎即可,这项功能大大增加了开发工具的可用性。

如果代码比较多,每次需要对全部代码进行校验,会大量消耗CPU的资源,可能还会出现卡顿的现象,DevEco Studio为了解决这个问题,提供了代码增量校验的特性,在大多数时候,只针对新增加或修改的代码进行校验,这样可以大大提升IDE的性能

(2)Hvigor编译构建

对于一个大型的项目,编译简直就是噩梦。我曾经有一个非常大的项目,编译一次竟然要20多分钟,所以提高编译速度是开发工具必须要改进的方向之一。

        DevEco Studio利用Hvigor构建工具可以明显地提升编译HarmonyOS App工程的效率。Hvigor可以通过多种技术提升编译性能,例如,通过多线程并行编译,可以在多核、多CPU的环境下大幅度提升编译效率。还可以通过增量编译技术,只编译增加或修改的部分,这样也可以在一定程度上提升整体的编译效率。

(3)热重载:向看直播一样查看运行结果

“写代码 -> 编译 ->运行 ->查看结果”,这是大多数开发工具的日常。不过DevEco Studio可不需要这么麻烦,“保存 -> 展示”是DevEco Studio最炫酷的特性之一。写完代码,不再需要漫长的编译和运行过程,只要将代码保存,就可以立刻看到代码运行的效果,简直酷毙了。这个特性被称为:热更新。

不仅如此,如果当时正处于运行状态,这时修改代码,仍然会热重载,而且设置的断点并不需要重新设置。也就是说,DevEco Studio支持编辑状态和运行状态的热重载。

(4)跨语言调试,打通多种语言之间的虫洞

在很多场景下,一个App会由多种编程语言共同实现,这就会带来一个棘手的问题:跨语言调试。通常的做法是只在调用者语言中调试,而被调用语言或者通过输出日志调试,或者通过函数向调用者返回值的方式调试。不管是哪种调试方式,都非常不方便,尤其是定位跨语言的错误,更是费劲。

为了解决这个问题,最新版的DevEco Studio允许ArkTSC++混合开发,并且支持跨语言调试,也就是说,ArkTS中设置断点,一直可以跟踪到C++代码中,这样非常方便定位错误

(5)场景化性能调优工具:DevEco Insight

DevEco Insight可以根据典型性能问题提炼场景化调优模板,结合实时性能监控智能推荐分析模板。还可以关联分析多维度性能数据,性能问题可以定位到具体的代码行。

(6)云端一体化开发

DevEco Studio为了解决开发Serverless不方便的问题,支持直接在DevEco Studio中建立云函数文件,也就是端云融合,统一技术栈。当编写完云函数后,可以一键发布到服务的,以便端侧调用。

4. 新形态UI

HarmonyOS 3有2个重要理念:

(1)超级设备(ONE SUPER DEVICE,协同高效体验)

(2)灵活可定制(如通过万能卡片定制各种各样的服务)

超级设备会带给我们非常炫酷的理念,其中的超级桌面允许在智能座舱、智慧屏中打开手机上的应用,并且所有的UI都可以自动适配。还支持在不同设备之间拖拽文本、图标篇,以及超级文件中转站,并且支持语音操控。这一切无不体现着创新形态,创新体验,创新设计。

由于HarmonyOS需要在不同设备上运行,这些设备的屏幕尺寸千差万别,要想适应尽可能多的屏幕尺寸,华为推出了自适应UI引擎。

        自适应UI引擎可以根据屏幕尺寸的大小,自动调整布局。例如,手机屏幕较小,所以水平方向只会显示2个图像,在平板电脑上,水平方向可能会显示4个图像。这些都是UI引擎自动调整的。而且UI引擎还可以根据不同的设备,将UI组件映射到不同的设备上(跨平台渲染和多端部署能力)。例如,手表、手机、智能电视的屏幕尺寸和组件样式有很大差异,UI引擎在渲染组件时会根据具体的设备,将组件渲染成设备特有的样式。

5. 轻量化并发

并发一直是提升运行效率的重要手段,不过并发也会带来一些麻烦。例如,多线程共享数据,有可能会造成脏数据,虽然可以利用线程锁(线程同步技术)解决脏数据的问题,但线程锁如果使用不当,还会造成死锁,而且多线程引发的bug并不好调试。

为了解决以上问题,HarmonyOS推出了轻量级并发技术,通过LiteActor,可以将每一个线程都放到Actor中,然后由主线程循环执行。由于LiteActor目前不支持线程锁,以及共享可写数据,所以并不会引发传统线程的各种问题。当然,在未来的HarmonyOS中,LiteActor也会通过某些手段支持共享可写数据,就让我们拭目以待吧。

6. ArkUI全新开发模型:Stage模式

        Stage模型主要是为了解决FA模型无法解决的开发场景问题,方便开发者更加方便地开发出分布式环境下的复杂应用。
​      Stage模型的设计思想如下图所示:

Stage模型的设计基于如下3个出发点:

(1)应用的能力与系统总体功能和功耗的平衡。在系统运行过程中,前台应用的资源占用会被优先保障,与此同时由于应用能力不同而产生的功耗,也需要符合系统整体功耗的要求。Stage模型通过Ability与UI分离、严格的后台管控、基于场景的服务机制及单进程模型来达成这种应用能力与整体系统功耗的平衡。

(2)原生支持组件级的迁移与协同。OpenHarmony是原生支持分布式的操作系统,应用框架需要从架构设计上使得组件更易于实现迁移和协同。Stage模型通过Ability与UI分离及UI展示与服务能力合一等模型特性,实现这一设计目标。

(3)支持多设备和多窗口形态的特点。为了支持多种设备形态和更易于实现多种不同的窗口形态,需要组件管理服务和窗口管理服务在架构层面上是解耦的,从而方便裁剪,更有利于定制不同的窗口形态。Stage模型通过重新定义了Ability生命周期定义和设计组件管理服务和窗口管理服务的单向依赖解决这一问题。

7. HMS Core集成

鸿蒙开发套件本身的能力有限,但可以通过HMS Core增强HarmonyOS App的能力。

HMS Core包含众多服务,这些服务有的需要网络连接(如账号与应用内支付服务、AI等),有的可以本地操作(如手写服务等)。用户可以通过简单的配置和几行代码,将HMS Core的相关功能集成到HarmonyOS App中。

经过前面的体验和分析,HarmonyOS 3从用户体验到开发体验,都得到了明显的增强。在大会上也出现了很多第三方厂商利用华为技术开发的产品,如Bilibili、润和、支付宝等。希望HarmonyOS的生态越来越强大。

-----------------------

《Python从菜鸟到高手》第2版隆重上市

鸿蒙开发套件全面升级,助力鸿蒙生态蓬勃发展相关推荐

  1. 华为开发者大会2022,发布鸿蒙开发套件

    11月4日,华为开发者大会2022(Together)在东莞松山湖揭开帷幕,分享了分布式能力.原子化服务.AI.地图.音视频.隐私安全等技术成果,同时基于声明式开发体系发布了鸿蒙开发套件,展示了鸿蒙生 ...

  2. 鸿蒙开发实战系列之五:鸿蒙系统原生数据库

    鸿蒙开发实战系列之一:鸿蒙开发实战系列之一:圆角 鸿蒙开发实战系列之二:鸿蒙开发实战系列之二:事件总线EventBus/RxBus 鸿蒙开发实战系列之三:鸿蒙开发实战系列之三:网络请求(原生+ Ret ...

  3. 创新案例分享 | 构建医院绩效管理系统,助力医疗产业蓬勃发展

    随着我国医改工作的全面开展及纵深推进,医保支付政策的持续调整,完善公立医院分配制度,推进公立医院绩效改革也势在必行.2019国务院办公厅<加强三级公立医院绩效考核工作的意见>明确绩效考核的 ...

  4. 富满电子鸿蒙系统,电子行业周报:HARMONYOS+2.0助力AIOT生态体系发展

    投资要点 本周市场行情回顾:本周上证指数上涨2.09%,深证成指上涨1.97%,创业板指上涨4.24%.电子行业整体上涨,本周申万电子指数上涨1.86%,行业涨跌幅在所有一级行业中排序15/28.本周 ...

  5. 富满电子鸿蒙系统,东吴证券--电子行业周报:HarmonyOS2.0助力AIOT生态体系发展

    [研究报告内容摘要] 本周市场行情回顾:本周上证指数上涨2.09%,深证成指上涨1.97%,创业板指上涨4.24%.电子行业整体上涨,本周申万电子指数上涨1.86%,行业涨跌幅在所有一级行业中排序15 ...

  6. 鸿蒙系统开发者如何加入,鸿蒙开发实战系列之五:鸿蒙系统原生数据库

    前言 上文介绍了ObjectBox,属于神器,但是作为一个合格的码农,上的了厅堂,下得了猪圈,神器好用,菜刀也是要会使的嘛,这篇我们就来介绍下鸿蒙系统的数据库如何使用 鸿蒙的关系型数据库是基于SQLi ...

  7. 鸿蒙系统2.0升级机型,鸿蒙系统2.0升级将覆盖华为的大面积的主流机型

    千呼万唤始出来,鸿蒙系统在经历了这么长时间的优化调整之后,华为也正式向外透露了新的消息. 根据华为软件事业部总裁王成禄表示,鸿蒙2.0系统目前开发工作顺利,基础的工作已经基本完成,有希望在12月份正式 ...

  8. 鸿蒙开发工具在哪下载,【鸿蒙开发工具下载】华为鸿蒙开发工具软件下载 v2.1.8 最新版-七喜软件园...

    华为鸿蒙开发工具是一款非常实用的集成式应用开发软件,它能够帮助大家更加的快捷,方便的使用华为EMUI系统打造应用.鸿蒙开发工具最新版还支持设备管理,支持代码编译,支持调试仿真等多项功能,可以满足大家的 ...

  9. 鸿蒙圣墟如何升级快,鸿蒙圣墟华为版

    鸿蒙圣墟华为版是一款非常好玩的仙侠修真类的角色扮演手游,这款手游上线就送超多的福利,游戏中的玩家可以在游戏中体验到很不错的游戏体验,玩家在游戏中可以通过转职任务,快速提升自己的实力,让你自己可以在游戏 ...

最新文章

  1. Adnroid文件存储路径getFilesDir()与getExternalFilesDir的区别
  2. drupal常用api
  3. Linux下安装Anaconda 详细过程 搭建python环境
  4. [转] Vuex入门(2)—— state,mapState,...mapState对象展开符详解
  5. PLSQL Developer 运用Profiler 分析存储过程性能
  6. Skywalking-03:Skywalking本地调试
  7. 唏嘘!一代国产手机巨头走向终点:官网已无法访问
  8. python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...
  9. 剑指offer 面试题59 - II. 队列的最大值
  10. 04 | 事件调度层:为什么 EventLoop 是 Netty 的精髓?
  11. java打印计算机_在Java程序中实现高精度打印
  12. Flask-Uploads文件上传的简单使用
  13. 手把手教你写一个RPC
  14. Mac text edit pdf reader
  15. Sass与Compress实战:第一章
  16. Sqlite3相关函数返回值及其含义
  17. 面对失败计算机科学家,面对巨大挫折,仍毫不畏惧、坚韧不拔的名人事例
  18. 向中级程序员进击之路
  19. 光子晶体和深度学习结合进行多相流检测
  20. 华为OD机试真题 Python 实现【检测热点字符】【2023 Q1 | 100分】

热门文章

  1. 《惢客创业日记》2019.01.16(周三) 为什么很多明星的人设都崩塌了?
  2. android手机摄像头传输,以TCP Socket方式实现安卓摄像头数据的传输
  3. Fluka-cern版本安装过程(RocksCluster版本)
  4. 【项目】---文档快速搜索工具
  5. work-notes(3):前端新项目入手,git拉项目,从头到尾操作理清思路
  6. windows老是弹出Windows Media Player媒体库
  7. flash 生成图片上传
  8. 中国三大证券报电子版地址
  9. CakePHP中文教程1
  10. 也谈今日IBM(IBM china/IGSC/ISSC/ETC)