2017年,华为手机靠着1.53亿台的销量和20.4%的市场占有率,稳坐中国手机市场老大的位置。
当大家都在庆祝这个里程碑时刻时,2018年初,华为消费者业务软件部门的负责人王成录却向任正非传递了一个危险的信号:华为并不具备与巨大的手机业务规模相匹配的“根基”,华为需要自己的操作系统。
任正非随即拍板决定,一直在筹谋的“操作系统项目”从软件部内部项目,升格为公司项目。
两年之后的2019年8月9日,余承东迎来50岁生日,这距离美国首次制裁华为已经过去4个月。当天,华为在开发者大会上揭开了鸿蒙系统的面纱。余承东生日蛋糕的照片和鸿蒙的名字,传遍了社交网站。
鸿蒙在华为的高光时刻诞生,在华为陷入危机时走到台前。
鸿蒙作为华为自研OS,一直以来备受争议,但不管是早期的“活在PPT里的系统”,还是之后的“安卓套壳”,公众对鸿蒙有期待,也有质疑。
在华为手机业务全球收缩的背景下,鸿蒙即将在蹒跚学步时期,迎来一次巨大危机。
鸿蒙2.0 460万行代码陆续开源
随着近期鸿蒙系统逐渐推送至普通用户的手机中,关于鸿蒙的争论愈加激烈。很多网友认为鸿蒙是套壳安卓,但碍于代码未开源难以求证。
日前,据微博@钊哥科普 最新爆料,全新的鸿蒙OpenHarmony 2.0将从5月16日起到6月2日陆续开源。
此前,华为曾在开发者大会上宣布将 HarmonyOS源代码捐赠给中国开放原子开源基金会,并在大会上公布了鸿蒙系统的开源路线,就是OpenHarmony。
OpenHarmony 官方源码地址:
https://openharmony.gitee.com/openharmony
根据Gitee上介绍,OpenHarmony在传统的单设备系统能力的基础上,创造性地提出了基于同一套系统能力、适配多种终端形态的理念,支持多种终端设备上运行,第一个版本支持128K~128M设备上运行,欢迎参加开源社区一起持续演进。
针对设备开发者,OpenHarmony采用了组件化的设计方案,可以根据设备的资源能力和业务特征进行灵活裁剪,满足不同形态的终端设备对于操作系统的要求。可运行在百K级别的资源受限设备和穿戴类设备,也可运行在百M级别的智能家用摄像头/行车记录仪等相对资源丰富的设备。
上个月,华为放出了OpenHarmony 1.1.0 LTS版本,相比于更早的1.0版本增加了AI子系统、电源管理子系统、泛传感器子系统、升级子系统、统一AI引擎框架。
根据钊哥科普的介绍,OpenHarmony 2.0约有460万行关键代码,相比起来Android 10则拥有1525万行;OpenHarmony 2.0约有18000个API,相比起来Android 10则拥有36000+个。安装包体积缩小到60-70%,手机、平板、可穿戴设备、电视、传感器等各种设备都能使用。
根据他的爆料,OpenHarmony 2.0将会有多个分支版本,本次开放L2是纯粹的鸿蒙版本,而OpenHarmony L2代码开源已经开始,几百万航代码陆续走来。纯粹的鸿蒙版本没有任何安卓代码,可以使用所有鸿蒙的应用,不过在APP上较为匮乏。
还将会有L3-L5版本,是兼容安卓的双框架,此前看到能跑安卓apk应用的就是它,很快也会开源。“至于这个鸿蒙是不是很多人认为的套壳安卓,代码里见,对着代码碰吧,一次喷个痛快”,他这样激动地说。
而在生态方面,越来越多的单位将加入鸿蒙行列,比如中国信通院、软通动力、好叭科技、华秋电子、中软、润和软件、九联科技,等等。
对于为何鸿蒙能兼容安卓应用,终于有了相关介绍。根据钊哥科普爆料的PPT图片显示,这是因为OpenHarmony 2.0复用了多个开源组件,适时启动Foundation进程,然后在该进程内进一步处理。
5月初,鸿蒙OS 2.0开发者版陆续公测,Mate 40等旗舰机已经收到系统推送,后续华为 nova 6、nova 6 5G 、nova 7 5G、nova 7 Pro 5G、nova 8、nova 8 Pro、MatePad 10.8 英寸等机型也会支持。
而OpenHarmony则也一直在革新,OpenHarmony版本路标如下:
对于这个消息,知乎上有人表示质疑,但钊哥认为L2可以上手机,马上就拿出来了。
是否套壳?官方回应
对于鸿蒙是否是套壳这个问题,华为之前曾经多次公开发声。华为消费者业务软件部总裁、鸿蒙操作系统负责人王成录在接受国内媒体采访时表示,其实大家质疑鸿蒙是不是Android换个壳,说明中国科技界对软件开源的理解不够一致。
他补充称,并不是所有Android代码都是Google开发的,绝大部分代码来自开源社区。鸿蒙也会吸收社区优秀技术和代码,使用AOSP(Android 开源项目)的开源代码,就判断鸿蒙是Android换了皮,说明这类吐槽者没有太准确理解什么是开源。
他强调,鸿蒙OS的出现,不是为了应对美国制裁而做的替代系统,而是在2016年就立项开发,它是真正面向未来IoT时代的一个全景操作系统。
事实上,相比其他移动系统,鸿蒙系统的区别的确相当大。从硬件载体上来说,市面最大的iOS和安卓主要面对的是手机和平板,鸿蒙则可搭载在电视、手表、汽车、智能家居等任何IoT设备之上。
华为方面强调,鸿蒙OS与传统的iOS、Android系统的概念不同,其定位是万物互联时代的操作系统,面向的是全场景,包括智能穿戴、家用电器、汽车、电视等。
华为消费者业务软件部副总裁杨海松曾指出,HarmonyOS最终目标就是要帮助开发者,让开发跨端应用像开发单端应用一样简单!
为了实现这一目标,发布了三大组件,即分布式应用框架、分布式UI框架,以及DevEco Studio工具平台。他强调,“HarmonyOS在设计之初,就是面向未来万物互联时代的操作系统。HarmonyOS的对手不是安卓,也不是iOS,而是万物互联时代的生态枷锁。
分布式应用框架:一次开发多端部署。HarmonyOS 2.0手机应用开发者Beta版,通过分布式应用框架以及15000多个APls,将复杂的设备间协同封装成简单接口,实现了一次开发、多端部署的特性,避免了开发者在不同设备之间的重复开发。
分布式UI框架:让开发效率倍增。分布式UI框架可以提供拉伸、缩放、隐藏、折行、均分、占比、延伸7类自适应布局能力,极大地提高了跨端UI开发效率;同时,针对各类不同设备有不同交互方式,HarmonyOS的归一化控件设计,还能让开发者只需关注交互本身,助力跨端交互开发。
DevEco Studio:轻松跨端开发调试。全新版本的集成开发工具DevEco Studio 2.0 Beta3具有四大功能:一是集成了9套手机应用模板,覆盖新闻、购物等应用场景,可减少代码输入1000多行;二是具有多端界面预览和实时反馈功能,开发者可以实时看到多个界面的预览效果,让前端开发效率倍增;三是分布式调试,可在分布式的应用开发过程中进行错误诊断,针对异常代码进行故障分析与定位解决等;四是支持20多种器件及传感器逼真模拟,包括连续导航、连续计步,以及移动网络(接收短信/来电)等场景,模拟仿真无限接近真机,让应用开发者的跨端开发与调测效率大增。
实测鸿蒙与安卓的区别
实际上,有网友实测过鸿蒙与安卓的区别:
开发工具:鸿蒙使用基于 Intellij IDEA 深度定制研发的 DevEco Studio 作为其开发工具。
那么,在应用开发过程中,HarmonyOS(鸿蒙)和 Android(安卓)开发环境有什么不同呐?
一、HarmonyOS 项目和 Android 项目对比:
1.资源目录的变更
①资源目录名称有更改。
安卓 res 目录,鸿蒙用 resources 目录,包括 base 和 rawfile 两部分,其中 base 是核心的资源目录,常用的都放在这里面,便于查找和使用。rawfile 会原封不动打包到生成的应用里面。
安卓是 res/values 目录,鸿蒙是 resources/element 目录。
安卓 raw 目录,鸿蒙用 rawfile 目录。
②资源目录分门别类,统一管理。
Android 目录结构就比较松散,没有统一的文件夹管理,res/values 目录里面可以创建各种资源的 xml 文件,只能去官网查看有哪些可以创建。
鸿蒙有 base 目录统一管理。
③部分资目录删除,新增一些资源目录类型。
比如 float.json 文件,plural.json 文件,profile 文件夹等。
④编写方式有改变,xml 变更为 json。
安卓的 values 里面是 xml 写的,鸿蒙是 element 目录里面的,都是 json 格式的。
同类型资源对比图:
完整的资源目录的具体变更对比如下图所示:
2.配置文件的变更。
清单文件 AndroidManifest 变成了 config.json 文件。
3.Java 代码的变更
完整的 Java 目录的变更对比如下图所示:
二、HarmonyOS 项目和微信小程序项目对比
完整的 JS 目录和微信小程序对比如下图所示:
相信在代码完全公开之下,鸿蒙OS是否是安卓套壳能够得到明确的验证。
结语
PC时代称王的操作系统是微软,移动互联网时代安卓和苹果二分天下,物联网时代谁是最终赢家,还未可知。
但无论鸿蒙能否最终实现一统物联网系统的构想。在国产操作系统几近空白的情况下,鸿蒙的诞生和可用,本身已是抵御危机的一个里程碑。
原文链接:https://www.chinaaet.com/article/3000132030