HarmonyOS Next!
前言
1月18号的那个下午,日后注定会成为让人津津乐道的存在。
有点遗憾的是没能坐到前面一点的位置,再感受清楚一点余承东、周鸿祎等一众大佬的演讲,与那一份谱写未来的激情。我的感官能够明显接收到来自四方的能量,大家都是满怀着期待,来见证这一历史性的时刻。而小小的我,犹如一颗种子,也在这一时刻悄悄发芽,慢慢成长着。
非常有幸作为华为鸿蒙的KOL、华为鸿蒙开发者代表来参加鸿蒙生态干帆启航仪式。其实最早在23年12月在北京参加鸿蒙生态学堂·创新实训营的时候,就已经隐约知道了一些信息,只是当时还没最终定下来。过了仅仅一个月时间,华为鸿蒙,正式千帆启航。
在发布会过后,我在和华为鸿蒙的开发者专家们一起交流学习之后,收益颇多,趁着还记得住一些关键信息,就赶紧写篇文章记录一下。如果你已经在其他平台看过一些关于HarmonyOS Next的文章,不用担心,我们来聊点别人所不知道的。
OPM、HMS、HMS Next是什么关系?
在鸿蒙生态中,目前有3套形式不同的操作系统,分别是OpenHarmony、HarmonyOS、HarmonyOS Next。
-
OpenHarmony由开放原子基金会在运营(“捐了”),属于完全开源的操作系统。OpenHarmony使用Linux内核,任何人都可以在gitee上下载到系统源码,并且修改和使用它。目前使用最频繁的硬件设备是单片机和小型终端。
-
HarmonyOS由华为鸿蒙在运营,已经发布了1.0~4.0的版本,和市场上大多OS一样使用Linux内核,运行Android标准的APK应用程序。但这里注意的是,HarmonyOS并不是基于Android,而是使用了和Android相同的内核(Linux内核)。HarmonyOS可以运行在华为的终端设备上,包含但不限于手机、平板、手表等。
-
HarmonyOS NEXT则是完全去掉了AOSP(Android 开源项目)代码,实现了自主研发的鸿蒙内核,及原生的鸿蒙应用的全新操作系统。当前最新的版本是1月18号发布的HarmonyOS NEXT星河版,目前正在对外开放中。
如果单一来看,似乎OpenHarmony->HarmonyOS->HarmonyOS NEXT,华为鸿蒙生态逐渐不断演化,但是在上述的前提上,我们需要有一个共识,OPM、HMS、HMS Next并不是3套相互独立的操作系统,而是1套操作系统的3个面向不同群体的版本。
其中OpenHarmony拥抱开源,让更多优秀的开发者参与到底层操作系统的建设中来。HarmonyOS更像是早期为了打开全球市场,进军智能终端、和消费者建立联系的“过渡期系统”。而目前最新的HarmonyOS NEXT则是转型走向自研道路的核心操作系统。
一套操作系统,3个方向,一体同源。
HarmonyOS Next,是开放还是封闭的?
大家会很好奇HarmonyOS Next是类似Android的所谓开发的,还是iOS这样封闭的操作系统?很多媒体应该不太敢提这个问题,可能是担心被质疑,不敢把话说绝。
我们知道Android是可以安装任何外部的APK软件,这是全球化的优势,同时也是最大的问题。而iOS是只能安装来自AppStore的IPA软件,这是最大的问题,当然也是iOS生态最大的优势。
HarmonyOS NEXT的定位,从来不是为了取代现有的操作系统,而是提出了一套更加优越的解决方案,在保障用户数据安全和隐私上,只要通过鸿蒙认证的应用软件,都可以运行(侧载)在华为的终端设备上。
简单来说,就是HarmonyOS Next还是拥抱开放,但会比开放多了安全保护的机制和能力。
鸿蒙内核,是真的自研内核?
软件是由硬件能力所支持的,而硬件是由其内核所支撑的。
早期的HarmonyOS操作系统是基于Linux内核,和Android使用的同一个内核,iOS使用的是Unix内核。Linux内核早期定位是面向服务器设备的,编译过程十分复杂,内存机制可以说是一塌糊涂。
要想构建一个优秀的操作系统,除了上层的开发框架、开发语言、编译器等内容外,内核是操作系统的重中之重。因此HarmonyOS从Next版本,即星河版开始,转而采用原生的鸿蒙内核,真正去打造面向消费者终端的原生内核。
而在23年8月15日,华为鸿蒙内核通过了国际信息技术安全评估认证,即业务首个操作系统内核领域首个CCEAL6+等级的认证,这也让华为公司成为全球首个获得该领域最高认证等级的智能终端供应商。
鸿蒙生态,支持哪些硬件设备?
虽然HarmonyOS Next刚刚发布,但已经早早运用到了汽车上了,问界汽车上搭建的车机便是最早使用鸿蒙操作系统的设备。这点没想到吧。
鸿蒙操作系统的优势之一是“一多”和互联互通,除了我们熟知的可以运行在消费者的移动终端(手机、平板、手表、电脑......)上,最小可以运行到PCB开发板上,最大已经运用到了卫星上了。这点也没想到吧。
目前鸿蒙生态设备已经超过8亿台,其中3亿台是华为自家的设备,而更多的设备则是非华为的设备,由此可知,千行百态已经开始在使用基于鸿蒙做技术创新了。
为什么选择ArkTS语言?
在原生开发层面,HarmonyOS NEXT应用开发采用ArkTS语言+ArkUI方舟开发框架的技术方案,ArkTS语言是基于TypeScript声明式UI语法生态的拓展语言,ArkTS语言的优势很明显,它是GSTS的超集,因此在生态建设方面比较完备,底子比较好。
第二个是从全球开发者分布来看,9400万开发者中超过60%的开发者使用TS语言,人数上对于生态的建立也有优势。单从语言来看,TS属于动态语言,类似前端UI开发语言,开发效率高,学习成本低。
当然,TS也有缺点,动态语言不像静态语言那样,对设备的性能那么友好。
而鸿蒙生态中除了ArkTS语言外,还有仓颉编程语言,以平衡效率和性能之间的问题。在开发后台类应用场景时,可以选择仓颉,移动端的产品上可以使用ArkTS。
鸿蒙,是否有鸿蒙PC版本?
PC和平板的本质区别,PC对标的是生产力阶层,用户可以去做一些生产力的、复杂场景的工作。鸿蒙是一套多设备的分布式操作系统,它会和跨端多设备进行全场景的协同,即便是有PC版本,也会这样的理念。
鸿蒙在发展路线上,会逐渐弱化鸿蒙手机版、鸿蒙pad版、鸿蒙PC版、鸿蒙watch版......开发者在开发应用时,应该是一套代码适配所有的设备,并且在不同设备上智能地呈现最合适的交互方式。
举一个例子,在pad上的交互会比在pc上操作要简单,有人说是因为pad应用没有pc应用那么全面,但其实这不是核心的原因。核心的原因是现在的pad是基于移动端的操作逻辑设计的,而移动端,也就是我们常用的手机,是目前市场上发展最快的智能设备,它的交互方式在几年内快速地发展,比如全面屏手势,这是符合人类直觉的操作手势。
pad版本也是一样道理,pad的易用性比目前主流的pc操作要自然。再举一个例子,我们在pc上打开一个软件,可能需要加载几秒钟,但是这是在移动端上不能被接受的。
所以如果鸿蒙要做pc领域,那么一定是会重新设计这些底层逻辑和交互,打造一个全新的pc生产力体验生态。当然,鸿蒙也正在做这个事情。
AI时代下,大模型 + 鸿蒙开发?
鸿蒙的一大特点是 将系统的 核心能力都底层化 ,开发者可以通过 API的方式 直接调用系统能力来快速实现功能。 在应用层上,后续也会考虑将大模型的能力集成到系统中,以API的方式提供出来。 在开发文档辅助上,现在也在探讨使用 智能问答 的方式,能够让开发者快速定位和查找问题。
其他内容,就还在规划当中......
说在最后
我不算一个真正的“花粉”,接触的华为终端设备也不多,这一次让我感受最深的是,我仿佛看到一个初创公司在从0到1打造自己的核心竞争力,这感觉很神奇。
可能大家都会认为华为是一家特别牛逼的公司,当然确实他也是。只是在操作系统、内核、开发语言、开发框架、底层通信....这些我们做应用产品所接触不到的层面,华为鸿蒙和我们一样也在学习和摸索,像个小树苗,如今正在茁壮成长。
最后,我想分享下在网上看到的华为这些年来的历程总结,足以作为所有勇往直前的探索者的座右铭。
2020:在一起,就可以。
2021:越过寒冬,就是春暖花开。
2022:跨越山海,终见曙光。
2023:轻舟已过万重山。
2024:同心聚力,年年有为。