一群校园开发者谈谈HarmonyOS 原创
1 我们是谁?
我们是来自一所普通大学的一群普通校园开发者,和很多校园开发者一样,学习C/C++/Java/Python等编程语言,开始了我们的计算机学习生涯。很幸运也很开心的事情是,我们接触到了HarmonyOS开发,虽只有一年左右但HarmonyOS的优化和进步,我们是有深刻体会的。最近HarmonyOS又走上了风口浪尖,刚好也借助这个机会,让大家了解一下HarmonyOS。
2 安卓套壳,风波再起!
近期,在B站上,有一段疑似HarmonyOS“翻车”的短视频广泛传播,引起广大网友们热议!
视频中,一位华为手机用户,在使用HarmonyOS 3.0 操作系统时发现,当把系统语言切换到英语后,在“正在运行服务”的列表中发现,此前名为“HarmonyOS”的进程突然变成了“Android System”。
随后网友们也纷纷进行了测试,基本证实了中文状态下HarmonyOS进程切换到英文时会显示安卓的说法。这不禁让网友们再次产生了“HarmonyOS就是安卓套壳”的质疑。因为这件事,华为HarmonyOS又一次引来口诛笔伐,一度登上热搜榜。
3 鸿蒙真的是安卓套壳吗?
肯定不是,这个毋庸置疑。
HarmonyOS曾只是华为的“备胎”,早在2012年,华为就开始规划自有操作系统鸿蒙。在2016年5月,鸿蒙立项进入正式开发阶段,鸿蒙的发展历程如下图所示。
在2019年5月华为手机遭遇了重大打击,谷歌在海外市场禁止华为手机的GMS(谷歌移动服务),让华为手机在海外市场销量大跌。华为在2019年5月16日发布的手机,都无法直接获得安卓系统更新,也无法使用包括Gmail、地图、YouTube、Play商店等在内的各项应用与服务。
华为迅速推出了HMS(华为移动服务),以替换GMS。但光有HMS还是不够,万一那一天安卓系统也无法使用,华为手机将遭受灭顶之灾。华为不得不将鸿蒙这个“备胎”拿出来研发,让其提前转正。若华为手机的安卓系统真的被禁,也不至于没有系统可用,在2019年8月9日,华为在东莞举行开发者大会,正式发布了自研的操作系统HarmonyOS 1.0,该系统率先部署在智慧屏上。2019 年 8 月 10 日,(原)荣耀正式发布荣耀智慧屏、荣耀智慧屏 Pro,搭载鸿蒙操作系统。华为消费者业务 CEO 余承东在发布会上宣布鸿蒙将进行开源。
我们先来理清一些概念。
鸿蒙系统实际上是有两个分支。
其一是OpenHarmony,其翻译过来叫开源鸿蒙,OpenHarmony是 华为捐献给开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目, 本质是HarmonyOS的基础部分,也就是HarmonyOS剔除商用接口后的部分。它既没有使用来自AOSP的代码,也不能兼容安卓应用,只能运行OpenHarmony应用。
OpenHarmony操作系统的发展历程如下图所示。
OpenHarmony官方给出的系统架构如下图所示。
另一个是HarmonyOS,是华为基于开源项目OpenHarmony开发的面向多种全场景智能设备的商用版本,也是大家更多的看到的手机、平板、电脑上的操作系统。而为了更好的推进软件生态,HarmonyOS使用了一部分AOSP的代码构建安卓应用兼容层。
那么有人问了,什么是AOSP呢?它是什么来头?
AOSP,全称“Android Open Source Project”,中文译为“安卓开放源代码项目”,从此之后,基本所有的Android 应用都是在这个基础上进行开发的,同样这部分是开源的。
此前王成录就曾公开回应表示:“安卓用开源代码比例超过 80%。每年安卓发布的一个版本给到 OEM 厂家手里的代码,大概在 1.1 亿行的量。约 3000 万行是高通、联发科芯片厂家给的,AOSP 社区(安卓开源项目)公布了 7500 万行代码,其中谷歌自己贡献的是 1000 多万行,其余代码是从各个开源社区中拿来的。”
“全世界没有任何一家公司在写一个大型软件的时候,每一行代码都是自己写。”王成录认为,“套壳”一词本身是一种狭隘的见解。如果我们满足了 AOSP 的开源协议,那么谷歌的代码华为为什么不用?
开源意味着,任何人可以使用,只要遵循有关协议,开发者们都可以基于AOSP进行二次开发。 在开源社区中,所有的手机厂商都做出了贡献,并非只有谷歌一家公司的功劳。谷歌有权管理移动应用生态服务,但没有权利阻止某家厂商使用安卓系统。
相信鸿蒙的设计者选择兼容AOSP 是经过深思熟虑的,是真正能看清现实的。
为什么这么说?因为选择兼容AOSP的最大好处是可以兼容生态:用户切换到鸿蒙,不会有任何的阻碍,可以降低成本,各大软件厂商不需要重新为HarmonyOS重新开发应用,从而可以让HarmonyOS快速进入市场,当然这也是其饱受争议的地方。
另外,HarmonyOS属于分布式操作系统,可以实现万物互联,而安卓仅限于手机终端使用。 如果是属于安卓的套壳,那么HarmonyOS也应该仅限于手机操作系统使用。
其实早在去年,就有英国消费者技术新闻和评论网站Tech Radar(Tech Radar是ThoughtWorks每六个月会出版的一份列举当下软件开发领域有趣变化的文档,它来自于一批优秀的技术开发人员的资深经验和独到见解。)测试结果发现,HarmonyOS采用了全新的系统流程,不存在是安卓副本的情况。而这种新的系统流程会让HarmonyOS比iOS更优秀。
Tech Radar对HarmonyOS的评价是认为它正沿着苹果的道路前进,建立单一软件平台,从而向多个方向扩张。用户都能享受到无缝体验。
华为HarmonyOS采用的是微内核,而安卓系统是基于Linux的宏内核设计,宏内核包含了操作系统绝大多数的功能和模块,而且这些功能和模块都具有最高的权限,只要一个模块出错,整个系统就会崩溃,这也是安卓系统容易崩溃的原因,但好处是系统开发难度低。
微内核带来了很多新的优势,如高安全性、高可靠性、高扩展性、高可维护性、支持分布式计算等等,并且HarmonyOS通过分布式实现跨终端无缝协同体验和跨设备应用协同。除此外,搭载HarmonyOS 的每个设备都不是孤立的,在系统层让多终端融为一体,成为“超级终端”,终端之间能力互助共享,带来无缝协同体验。我们可以借助HarmonyOS 全场景分布式系统,轻松实现跨设备共享服务及应用;灵活定制系统,适配更多设备。通过HarmonyOS生态,构建万物互联的新时代。
4 乌龙事件
回归本次事件的本身,我们来谈谈究竟是怎么回事?
安卓系统内的功能都是通过 APP 来实现的,而 APP 也分为系统级 APP 和第三方 APP。比如说手机上的相册功能,系统默认是无法删除的,但是极客玩机者可以通过技术手段将第三方相册软件修改成系统级应用,并将原系统的相册删除。
系统级 APP 有些有交互界面,有些没有交互界面,譬如实现后台静默清理功能,系统很可能在用户不使用手机时在后台运行,在用户无操作的情况下自动清理冗余的第三方 APP,达到释放软硬件资源、让手机流畅运行的目的。
大家看到的 HarmonyOS 进程就是这样一个华为定制化的、无交互界面的系统级APP。无交互界面意味着 App 无需向用户展示任何文本内容,也就不需要在 APP 中内置文本资源文件。但有一点,任何 APP 都需要有个名字,或在 APP 配置文件(manifest.xml)中设置,或在文本资源文件(string.xml)中设置,这也是“Android System”出现的源头。
文本资源文件还有一个特点:根据手机系统语言设置调取对应的文本资源文件。当一个 APP 想在全球范围推广时,就需要做本地化,在用户交互界面上显示本地语言。
基于此需求,一个 APP 中会存在多个地域、不同语言的文本资源文件。APP 会根据手机的系统语言设置、地域、时区等来调取对应的文本资源文件,这时就实现了本地化。而 APP 显示的名称也是可以在文本资源文件中定义的。
根据以上基本信息可以推测:华为的系统开发人员很可能没有做英文文本资源文件的修正,使得用户修改系统语言时,APP 名称字段调取了默认文本资源文件或者英文文本资源文件。
最后从技术上讲,AOSP≠Android,就如同 OpenHarmony≠HarmonyOS 一样,同时兼容安卓≠安卓。任何不以事实为基础的、带着情绪和偏见的看法,都应当回归真实和理性。
5 HDC2022,展望鸿蒙未来!
华为开发者大会 2022(Together)于2022年11月4日在东莞松山湖揭开帷幕,带来了鸿蒙生态的最新成果,展示了鸿蒙生态的全新格局。在大会主题演讲中,华为带来了分布式能力、原子化服务、AI、地图、音视频、隐私安全等创新技术成果、五大场景下的创新体验及全新开放能力。同时基于声明式开发体系发布了鸿蒙开发套件,全面加速推进鸿蒙应用生态。
华为常务董事、终端 BG CEO、智能汽车解决方案 BU CEO 余承东表示:“Harmony 是和谐的意思,在大家的共同支持下,我们克服了一个又一个困难和挑战,经过四年的发展,依托鸿蒙更具生命力的底座,鸿蒙生态已经日渐成熟,更包容、更开放、更具创新力,我们希望与全球开发者一起创新照见未来,共建鸿蒙世界。”
在大会上,余承东也公布了鸿蒙系统取得的最新进展,在支持的设备数上,截至11月4日,搭载鸿蒙的华为设备数已经突破3.2亿,生态设备数突破2.5亿,鸿蒙的全球开发者数量已经突破200万,累计开发的原子化服务已经超过50000个。
而鸿蒙之所以能取得如此快速的发展,与鸿蒙底层技术的基因优势密不可分。以鸿蒙的分布式能力来说,它不仅使得鸿蒙可以安装到更多的智能设备上,还可以实现不同设备之间信息的无缝流转以及能力共享。以最新开启全面升级的鸿蒙3为例,在鸿蒙3的加持之下,只需要华为手机靠近华为平板,平板就可以获得手机的通讯能力,在不插sim卡的情况下就可以实现拨打电话和收发短信。
HarmonyOS ⼀直关注开发者心声,针对过去一年收到的 100,000+ 开发者反馈,华为提出面向万物互联时代应用与服务开发的三大理念,与开发者共建鸿蒙生态。“一次开发,多端部署”帮助开发者降低门槛,提升效率;“可分可合,自由流转”可实现跨端连续服务、多端协同;“统一生态,原生智能”是指 HarmonyOS 与OpenHarmony 统一生态,与三方框架共生共荣,HarmonyOS 提供分层,简单易用的 AI 能力,供开发者快速集成,利用系统预置的强大的 AI 能力,降低智能应用的开发门槛。
为帮助开发者更高效开发应用,快速加入鸿蒙生态,华为从设计 > 开发 > 测试 > 上架,端到端切换声明式开发系统,并将应用开发套件升级为“鸿蒙开发套件”,这是 HarmonyOS 确定以声明式开发体系为方向,应用全面鸿蒙化的一个里程碑。
此外,华为发布了 HarmonyOS 3.1 开发者尝鲜版本,SDK 全面升级 ArkTS 声明式应用开发。HarmonyOS 3.1 将支持1万+ ArkTS APIs,拥有声明式 UI、应用开发框架、分布式系统服务、多媒体、WEB、通信等多种能力。同时 HarmonyOS 3.1 SDK 兼容 OpenHarmony API 能力,华为将持续投入 OpenHarmony 开源项目共建。
正如华为定下的目标:One as All、All as One,HDC2022正以极大的毅力和投入,实现万物互联这一目标,华为终端BG首席运营官何刚也在HDC现场表示:四年来,华为披星戴月,克服了一个又一个困难和挑战,是全球开发者和我们一起,见证了鸿蒙生态的成长。现如今,我们已经拥有超过200万开发者伙伴,3.2亿鸿蒙设备。未来,华为希望邀请更多开发者加入鸿蒙生态,共同打造一个更加开放、包容、创新的鸿蒙世界,华为将进一步开放最核心的技术与能力,与开发者及生态合作伙伴共建鸿蒙生态,围绕五大场景共建万物互联时代的全场景智慧生活!
6 请不要给商品绑上“爱国”标签
这一路走来经历的风风雨雨,HarmonyOS“换汤不换药”、“抄袭安卓”、“安卓套壳”等等各种声音应有尽有。而这群发言小伙伴的主要战场,正是无奇不有的网络世界,吐出的都是那些纯情绪化的表达。很少有做过功课来支撑,也很少有评测结果来提供参考。
听过很多次这样的声音:“华为在贩卖爱国情怀,无厘头涨价!辜负了很多人想买华为支持国产的心!”对于爱不爱国的问题,任正非也说过:“不能说买华为产品就是爱国,不买华为产品就是不爱国,这样说是不对的,华为只是一个商品而已。”因此,我们都没必要强行给华为冠上“ 爱国 ”的标签。如果你爱国,买不起华为手机你也爱国;但是如果你不爱国,买上几十台华为手机你也还是不爱国。
除此之外,华为也是一个民营资本企业,不是慈善家,也同样需要财富增量。在财富创造过程中,必然追求利润,由此可能会出现资本主义现象,也可能会存在竞争打压的情况,但这都是必不可免的。更何况在当前制裁导致关键手机业务受损的情况下,是最需要调整策略的。华为无畏制裁和打击,挺直腰背,潜心研发了自己的核心技术,为国家出了一份力,甚至一口气。
当然,华为并不是听不得一点不好听的声音。在它不争气的时候,在你亲自体验它的错漏百出的时候,大家可以对它进行质疑,我们也相信华为会拿出应有的态度做出回应。对于华为和HarmonyOS,我们应持以客观公正的态度,肯定它优秀的地方,督促它改正问题。可以吐槽他的Bug,但绝不能恶意抹黑和吹捧它。
7 我们的感受
我们学习HarmonyOS开发也有一年多了,从开始的懵懵懂懂到现在的小有成就,一路上踩了不少坑,也遇到了许多志同道合的小伙伴。当然,这都离不开来自华为实打实的帮助,华为给开发者们搭建了HarmonyOS开发者社区还有开发者学堂,为我们提供了学习、认证、职业发展等一站式服务,还有免费开放的课程学习、技术交流群对应专家的答疑,都无疑助推我们飞快进步。
我们之所以选择成为华为开发者,首先是华为的生态能力可以有效赋能开发者需求,华为生态领域非常广泛,例如鲲鹏、昇腾、HMS、HarmonyOS、华为云、AI、IoT、数据库、操作系统等。
其次,华为对像我们这样的校园开发者进行了大力度的支持。以比赛为平台,为开发者提供了大量优惠券与奖品,鼓励我们拥抱更宏伟的开发蓝图。“真金白银”赋能开发的背后,是华为坚持的生态汇聚战略。通过开源、共享和多元协作,帮助开发者实现那些天马行空的想法。最终这些想法组成海洋,勾勒出通向千行百业的水道,这就是生态的价值与力量。
再次,华为信任开发者,尊重开发者的心态,在业界当中始终非常宝贵。像我们这样的开发团队,会经常与一些厂商沟通合作,希望获得支持。对此,不同的厂商态度不同,华为更愿意去了解和与开发者沟通,用包容和合作的态度与其交流,并且愿意尽可能帮助开发者实现目标。
对于学生们组成的开发者团队来说,在华为这面铜鼓上,能感受到技术的力量,生态的包容,以及由衷的尊重与认可,这对我们进行项目的开发提供了极大的帮助。
因此,我们也希望大家可以多多关注华为的技术和生态,慢慢的就能看到,华为,不只是一家生产手机的公司,更是打造全生态产业链的一家集运营商业务,企业业务和消费者业务的信息与通信技术解决方案供应商。
8 参考资料
- 华为鸿蒙系统对比谷歌安卓系统,有三大不不同:https://new.qq.com/rain/a/20220702A00IX400
- 为什么总有人说鸿蒙是安卓套壳?:https://mp.weixin.qq.com/s/wRFkHcx3zerLrFnMW3dyBA
- 关于华为鸿蒙,英国机构给出结果:不是套壳安卓,比iOS更优秀https://ost.51cto.com/posts/5565
- 为什么网上这么多喷华为的,但是现实中还是大部分都在用华为?https://www.zhihu.com/question/513379862/answer/2401261057?utm_campaign=&utm_medium=social&utm_oi=1235555258799325184&utm_psn=1586426617831596032&utm_source=qq
- 还有人说鸿蒙是“套壳”安卓?华为一招让造谣者闭嘴
https://ost.51cto.com/posts/5248
- 鸿蒙开发实例 | 鸿蒙操作系统的前世今生https://xie.infoq.cn/article/ea8a54b53a112bcfa445391a6