鸿蒙(Harmony OS)2.0 beta 初体验

鸿蒙系统2020.12 申请内测了Harmony OS 2.0 beta。 作为一名移动端开发者迫不及待的体验了一把,开发模仿了一个抖音demo。顺便将这几天倒腾的东西梳理了下。

1 鸿蒙是什么

先看一段官方介绍: 鸿蒙是一款“面向未来”基于微内核的面向全场景的分布式操作系统将逐步覆盖1+8+N全场景终端设备。在传统的单设备系统能力的基础上,鸿蒙提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备。

通俗理解:传统系统好比是一个固定玩具模型,只适合固定的终端设备,鸿蒙好比是积木,可以组合,拼装成适合各种类型的设备终端。相比于Android,IOS 等系统设计上更适合物联网时代的终端设备。其系统能力可以通过裁剪,运行在硬件配置不同的多终端设备上。.....传统的系统例如 苹果针对手机(IOS),电脑(Mac OS),手表(watch OS) 会开发维护三套不同的系统 系统间相互独立相互隔离。而鸿蒙系统是维护一个,通过系统服务层的核心能力集合,向应用程序提供服务。根据不同设备形态的部署环境,基础软件服务子系统集、增强软件服务子系统集、硬件服务子系统集内部可以按子系统粒度裁剪,每个子系统内部又可以按功能粒度裁剪。看一下鸿蒙的系统架构图

2 为什么要用鸿蒙

国产自研:鸿蒙进入大家的视野应该是最近两年美国制裁华为。Android 对华为的“系统断供”,芯片的断供,让国人又一次记起了系统缺乏的剧痛。大多数人的印象鸿蒙是华为的,这是不对的。我们可以说华为与鸿蒙有着非常紧密的联系,华为是鸿蒙的创建者,但在发布会上华为已经宣布将鸿蒙贡献给鸿蒙基金会(第三方开源组织),华为是基金会的重要成员,所以说华为是鸿蒙的贡献者,创建者,但鸿蒙是属于中国的,是属于广大的开发者的,只要有能力我们都可以为鸿蒙贡献代码,成为鸿蒙贡献者的一员。下面是鸿蒙的生态图克参考下:

面向未来 :鸿蒙系统的初衷是华为打造一个全景式系统(制裁只是让其提前转正了),5G时代一定是万物物联的智能生活体系,华为有成熟的5G技术,且华为在智能终端的布局已经趋于成熟,鸿蒙系统的微内核分布式的能力,能打破以往手机,电脑,智能穿戴设备之间的隔阂。

生态建设 :鸿蒙2021年的装机量目标自研的设备2亿台,三方设备1-2亿台,总装机量3-4亿台。2019年荣耀智慧屏搭载鸿蒙系统上市,电视终端有了与其他终端联动的能力。鸿蒙的座舱操作系统HOS,智能车控操作系统VOS,智能驾驶系统AOS,2020年在中国汽车论坛亮相。比亚迪基于鸿蒙打造了HiCar车机系统, 京东投入开发人员和华为一起开发了鸿蒙版京东商城。阿里,腾讯等陆续和华为合作。

系统内测阶段:”饼“ 画的再圆再大没有实际成果都是概念的话都是扯淡。2020.12 鸿蒙beta 2.0 系统内测,预计四月份会推出新的UI设计(目前基于EMUI 11)。目前有大量的开发者申请到了鸿蒙系统,正在真机体验中。

架构的优势

微内核:鸿蒙 和Android的本质区别是系统的核心不包括Linux内核,而是华为全新研发的微内核。微内核的概念和优点自行百度。华为投入研发鸿蒙的初衷应该是打造

分布式操作系统 :而分布式操作系统的技术特性主要有四个:分布式软总线、分布式设备虚拟化、分布式数据管理、分布式任务调度。目的是能达到多种设备之间硬件互助,资源共享。官方文档点击查看 个人举例理解:

分布式软总线:让不同设备可以便捷的连接通讯互动。 不需要复杂的开发。分布式设备虚拟化:不同的设备之间可以相互扩展,比如说大屏显示游戏效果好,但是没有操作的功能。而手机有操作的功能但是显示不方便。于是我们开发一款游戏显示在大屏上操作在手机上,最终达到更好的体验。分布式数据:你在设备A上下载了一首歌,之前的操作需要上传云,对方下载。或者需要配对连接蓝牙传输。鸿蒙一个API搞定 让你省去了辅助的过程且速度更快。分布式任务:手机下载了一首歌,我是在耳机播放,还是在音响播放,还是在手表播放,一键搞定。无需硬件的配对。触发分布式任务帮你搞定。

适配多设备:通俗点解释开发了一个手机APP功能有,我运行在智慧屏上功能只有 1234,我运行在手表上功能只有 456。解决了传统的基于多套系统开发维护多个终端应用的问题。

3 真机Harmony OS体验。

Mate 30 pro 升级为鸿蒙系统一个月了。日常都在使用,系统很流畅,系统崩溃了三次,Android APP稳定性满足基本的使用没任何问题。

Android APK 的兼容性 :

系统闹钟APP 异常 :定的闹钟不会响 支付宝 正常 :测试了支付,聊天等常见功能没任何问题。Outlook.等国外APP正常 : 正常使用天猫,京东,咸鱼正常 : 咸鱼崩溃过一次没有定位到具体问题。王者荣耀 ,吃鸡游戏正常 : 感觉游戏体验比之前顺畅多了(可能新手机性能好,不经常玩游戏,个人感觉没有具体的参数为证)汽车之家快应用正常 :感觉略卡

系统体验 :

系统UI风格:完全是EMUI 11的风格(据说四月份会新出UI风格)。系统功能:缺少了一部分功能,例如多卡管理,智能解锁功能少了一项等。系统bug :闹钟不可用,系统锁屏解锁存在BUG 经常反复解锁,或为解锁显示内容界面但是不能操作。 其他:开发了一个鸿蒙APPdemo。华为系统分享出去是一个 安卓APK ,不可安装使用。

4 开发体验

说来说去不如升级下系统 写个demo体验下来的实在。模仿抖音Demo实现了如下几个界面:

结合这个demo分析下整体的体验:

开发工具

1 ,DevEcoStudio 华为基于intellij IDEA研发的鸿蒙开发工具,和 Android studio 基本一致。有安卓开发经验的比较容易上手,对于一些性能分析工具应该是没有支持。

2 , 模拟器 :需要申请开发者账号并实名认证才能用,而且远程模拟器,稳定性和效率不高。在使用过程中出现过死机和 连接不上的情况。

3, 如果选择JS开发 需要安装Node.js相关配置 这些官网介绍的很详细。

Demo开发体验:

1 UI开发体验:创建的是Java开发业务逻辑,布局用XML 。 harmoney OS 也支持Java代码, Html CSS 布局。同时也支持Ui层用Html css布局,业务层用Java的扩展。 这次试用XML过程中完成基础的UI布局基本没啥问题,布局的事件传递机制和 绘制机制也没源码可查 做自定义控件的扩展的话目前有难度。复杂的UI联动交互和特效没有Android支持的好,毕竟刚2.0内测的体验版,可以理解。

2 业务开发体验: 系统API的文档真是不敢恭维 目前就系统API能满足基本的业务开发 有一些特殊的需求的话估计不好实现,例如调取系统相册, 通讯录 一直没找到方案。(官网发帖后回复的基本无用)

3 数据开发体验 : 网络层OKhttp的框架还能用,数据分布式数据库是一大亮点 。 目前是支持同账号下数据的访问, 这样的话 以后APP数据时效性和对业务服务器的强依赖性问题会有新的解决方案

4 新特性开发体验 :手机启动 智慧屏(没设备我另外一部手机代替的)FA ,需要获取同账号下的设备id来启动, 好几次启动失败 才发现需要相同签名信息 但是华为的签名打包信息目前是需要每天申请的。

5 单元&自动化测试: 目前没查到相关的单元测试API ,但是有相关的模块。论坛反馈无人回复。

真机调试体验: 真机调试申请流程是真的麻烦 期望正式发布后能有改进吧! 这个请参考这个同学整理的流程 很详细。

5 写到最后

Harmony OS 真机体验比预期的要好得多,不吹不黑 ,未来可期。下次整理 :手机和智慧屏,和开发小车工具联动。