阳春三月,春暖花开!在这个不同寻常的春天里,越来越多的人们意识到,最宝贵的就是希望,疫情是如此,经济是如此,鸿蒙也是如此。
走过两年多的炒作期,沸腾期,OpenHarmony的发展越来越朝着稳健扎实的节奏靠拢,不求毕其功于一役,但求每个版本都有重要的进步,我们坚信,方向大致正确,社区充满活力,就一定能迎来美好的未来。
老万说:“安卓有那么多版本,但大家记住的还是2.3,4.4,如果类比下来,大家将来应该会记得OpenHarmony3.1,这个版本是里程碑式。“到底要什么样的版本,哪些特性值得称为里程碑呢?花了几天时间仔细翻阅了文档和代码,有些心得,跟OpenHarmony的同仁们一起分享,一起见证。
OpenHarmony 3.1支持更多的硬件
在2.0,2.2和3.0版本中,其实OpenHarmony已经具备了某种程度的富设备能力,可以勉强支持平板类的产品,但总是给人感觉能力不全。此次3.1版本可以说已经基本具备了平板类产品的能力,甚至已经离手机不远了。惊喜的是,3.1提供了大量包括键盘、鼠标、触控板的支持,也支持了大量的窗口应用支持,换句话说,3.1已经为PC平台做好了准备。
分布式得到进一步的增强
首次提出了分布式硬件的概念,提供可信设备之间的硬件资源池化管理能力,可信设备之间自动组成超级终端,超级终端内各个设备之间自动同步设备的硬件参数。以分布式屏幕为例,提供了一种屏幕虚拟化能力,支持用户指定组网认证过的其他OpenHarmony设备的屏幕作为Display的显示区域,提供跨设备屏幕能力调用,实现系统投屏、屏幕镜像、屏幕分割等体验的支持。
支持更多的API
不论是JS API, TS API还是native API,此次3.1 release版本都提供了极大的增强,版本来到了API8。API8的补充主要集中在如下的几个方面:
- 语言基础库,包括各类基础数据结构如List,TreeMap,Stack等。
- 电话能力。
- 通信能力,包括NFC,WiFi,蓝牙等。
- Webgl图形能力支持。
- 窗口管理能力。
- 账号管理。
从这次的补充更新来看,OpenHarmony的API已经日益完善,对于开发者而言,能做的APP类型也越来越丰富,北向开发者有福了。同时我们看到OpenHarmony的API版本升级到了API8,但是HarmonyOS的API仍旧维持在API7,这其中的涵义还需要大家去思考和体会。
为开发者提供了更多的帮助
这次3.1在应用开发工具和设备开发工具上都有增强。应用侧,此次的王炸是来了一个OpenHarmony专属的IDE,彻底改变了以往HarmonyOS和OpenHarmony共用IDE的局面。
全新的IDE提供了很多丰富功能,其中双向预览器非常令人激动:
设备侧,DevEco Device Tool此次重点是加强了Windows+Linux的一体开发模式,图形界面跑在Windows,工具链代码等运行于Linux,对mini和small版本进行了充分的解耦,支持了更多的开发板和芯片平台,结合hpm实现了从代码自动下载、编译到烧录的一体化操作。
提供了更多的系统应用
3.1 版本包含的系统应用列表如下:
不仅系统应用的数量得到增加,Launcher也进行了重新的设计,看上去更为美观和成熟:
applications/standard/hap
├── resources # 预制资源目录
├── Airquality_Demo.hap # 空气质量示例应用
├── Calc_Demo.hap # 计算器示例应用
├── Clock_Demo.hap # 简单时钟示例应用
├── Ecg_Demo.hap # 心电图显示示例应用
├── Flashlight_Demo.hap # 手电筒示例应用
├── Photos.hap # 图库应用
├── Launcher.hap # 桌面entry应用
├── Launcher_Recents.hap # 桌面中最近任务应用
├── Launcher_Settings.hap # 桌面中的桌面设置应用
├── Settings.hap # 设置应用
├── Settings_FaceAuth.hap # 人脸认证设置应用
├── Shopping_Demo.hap # 购物示例应用
├── SystemUI-NavigationBar.hap # SystemUI 导航栏应用
├── SystemUI-StatusBar.hap # SystemUI 状态栏应用
├── SystemUI-SystemDialog.hap # SystemUI 系统弹框应用
├── Music_Demo.hap # 音乐示例应用
├── Camera.hap # 相机应用
├── DeviceManager_UI.hap # 设备管理系统弹框应用
├── CallUI.hap # 通话应用
├── PermissionManager.hap # 权限管理应用
├── adminprovisioning.hap # 管理业务发放应用
引入了新的自研图形栈
在以往的OpenHarmony版本当中,图形栈都是采用了开源社区的常见组件,如Weston/Skia等,虽然这些组件也是很优秀的,但用这些组件凑在一起形成一套具备高性能的图形栈是不太现实的,为OpenHarmony提供强劲的图形内核是一件众望所归的事情。3.1版本,自研图形栈终于拉开了面纱:
名为RenderService新渲染框架、2D/3D绘制能力、新的动画和显示效果框架构成了OpenHarmony图形栈的主体框架,为未来的图形性能优化做好了铺垫。
同时,在SIG仓孵化的mesa for OpenHarmony,也为OpenHarmony提供了开源的GPU驱动,极大增强了OpenHarmony的图形能力,下半年有望可以看到更多的富设备带屏开发板和商用产品。
完善了权限管理
是否有完善的权限管理,往往是衡量一个操作系统是否成熟的重要标志。3.1版本支持本地帐号、域帐号与本地帐号绑定功能,分布式帐号ID派生和状态管理功能,本地应用权限管理、分布式权限的管理能力。
权限管理涉及到多个模块,包括:
- 包管理子系统的应用申请权限管理。
- 元能力子系统的上下文权限校验及权限申请接口。
- 程序访问控制子系统本地应用权限的定义、管理、授权、查询、鉴权功能以及分布式权限的管理、查询、鉴权、同步功能。
除了上述的主要以standard版本为主的特性增强以外,此次更新还包括mini系统和small系统的若干增强,我们就不在此处一一列举,留给大家自行去发现。
沉舟侧畔千帆过,病树前头万木春!在全球手机市场大规模萎缩,Fuchsia内乱不断,几近夭折的背景下,也许OpenHarmony 3.1的这次更新,才是操作系统业界最为重要的事件。