47 岁从华为退休,操作系统老兵转战 OpenHarmony 生态 | 近匠

【CSDN 编者按】开源生态建设作为开源发展的关键,在国内仍缺乏足够的多的成功先例,开源操作系统生态到底该如何建设?本期《近匠》邀请到专注于 OpenHarmony 操作系统生态共建的杨启彬与我们分享他的实践经验。

本期受访嘉宾:

杨启彬  湖南开鸿智谷数字产业发展有限公司副总裁、CTO

曾主持 OpenHarmony 行业操作系统架构设计工作。河海大学硕士,拥有二十多年的操作系统研发经验,前华为 2012 实验室成员,曾负责鸿蒙操作系统架构设计工作,先后就职于诺基亚、华为等世界 500 强企业。开鸿智谷为拓维信息全资子公司,全面承载其生态战略,专注于提供面向行业的 OpenHarmony 发行版及软硬件智能化服务。

采访者:

唐小引  CSDN 《新程序员》执行总编

统筹策划《新程序员》系列图书、《中国开发者年度调查报告》,主编《2022 中国开源发展蓝皮书》《中国 AI 应用开发者报告》《中国开源应用开发者报告》系列报告,曾任多个开源及开发者大会主编,开源爱好者。

作者 | 何苗      

出品 | CSDN(ID:CSDNnews)

初见杨启彬是在一次业界的开源大会上,这位中等身材、略瘦的操作系统技术老兵沉稳而执着的脸上,有着一双聊起操作系统会发光的眼睛。他说: “我对操作系统情有独钟”。

正因如此,他从“自动化”专业转向“操作系统”,进入华为 2012 实验室参与 HarmonyOS 研制。从华为“退休”后再出山,杨启彬进入了专注鸿蒙生态战略的开鸿智谷,投身于 OpenHarmony 开源生态共建中。转眼二十年,杨启彬在操作系统技术上越钻越深,也在其生态建设上越走越坚定。他坚信一款操作系统长盛不衰的秘诀与开源和优秀的生态建设密不可分,而安卓成功的最大优势在于开源。

开源来了,以不可挡之势吞噬软件,操作系统之路该当如何?开源为操作系统带来哪些变化?引发全民关注的“鸿蒙”诞生背后有哪些鲜为人知的故事?让我们跟随开鸿智谷副总裁、CTO 杨启彬的视角,走近操作系统的世界,探索他与操作系统、与开源的不解之缘。

杨启彬 湖南开鸿智谷数字产业发展有限公司副总裁、CTO

“我对操作系统情有独钟”

唐小引:中国大部分开发者聚集在应用端,底层操作系统人才稀缺,学习难度也高,你是如何走上操作系统之路的?

杨启彬:2002 年 3 月从学校毕业以后,我先后就职于三家世界 500 强企业,那时主要负责移动电话系统的架构设计,工作中常用到RTOS,并对此非常感兴趣,以至于后来我对操作系统可谓情有独钟。

“自动化”与“操作系统”确实有差别,且早期我接触的 RTOS 是个实时操作系统,更偏向于底层终端。这类操作系统和平板、手机等富设备的操作系统相比简单许多。直到后来接触到成熟的安卓系统,才发现确实如此,尽管它从整体架构来看已算比较简洁。操作系统底层技术本就相通,理解其系统架构及系统相互之间通讯的原理后,我发现操作系统并不复杂,但是拓展开却是很大的学问。

唐小引:你是如何开始参与 HarmonyOS 研制的?作为亲历者、参与者,在这个过程中有哪些难忘的事?

杨启彬:2011 年 7 月我进入了华为操作系统部门,也就是当时的欧拉开发部。在华为,操作系统分为终端操作系统、服务器操作系统和嵌入式操作系统三大类,如今我们熟知的 openEuler 属于服务器领域的操作系统。后来 CBG (华为消费者业务部门)需要支持,我随即进入 CBG 部门专研终端操作系统,著名的 HarmonyOS 操作系统就诞生在这里。

早在 2018 年,华为就开始自研智能终端操作系统。伴随着全球科技竞争加剧,双系统的 HarmonyOS 发行版开始研制,我也参与到其架构设计中。HarmonyOS 的开源策略也是在那时开始制定的。2019 年 9 月,华为将其正式开源。

不论是从操作系统领域的发展来看,还是从国家战略上来讲,中国都需要一个自主研发的操作系统以支撑现有的终端设备,但可惜的是,真正有能力且愿意去做这件事的企业并不多。作为 HarmonyOS 参与者,能参与到构建一个真正意义上的、国家自主知识产权的终端设备的操作系统,我感到何其有幸。尽管现在鸿蒙生态发展仍未达成理想,但我相信未来它一定会超过现在的安卓。终有一天,万物互联的理念将深入人心,OpenHarmony 也将出现在千家万户。

唐小引:CSDN 发布的《 2021-2022 中国开发者调查报告》中,开发者对 HarmonyOS 的关注远超其他操作系统,HarmonyOS 与 OpenHarmony 是怎么一种关系?其商用情况如何?

杨启彬:华为有三大赛道:其一,HarmonyOS,这是个商业发行版,也是华为的现金流来源。其二,OpenHarmony,它可以用来做一些基础的技术开发,因此被开源到社区中由开发者共同打造,是大家都能使用的、最基础的软件。另一个是使能部,它存在的目的是帮助所有的生态合作伙伴一起共建 OpenHarmony 生态。

由于平板、手机此类富设备对系统的稳定性安全性要求非常高,场景较复杂,从目前的标准来看,OpenHarmony 还需成长。

 

从架构鸿蒙到共建鸿蒙开源生态

唐小引:在华为多年,亲历 HarmonyOS 的研制与 OpenHarmony 的开源,为何选择离开?又为何重新出山进入开鸿智谷?

杨启彬:2021 年 4 月,HarmonyOS 整体框架设计完成后,由于年龄等原因,在华为十年的我提出了退休申请。离开华为一段时间后,一通偶然的来电中止了我的退休生活:“有个伙伴企业在做鸿蒙的生态,非常需要鸿蒙系统的架构师来支持,你愿意试一试吗?”

对操作系统情有独钟,对鸿蒙的技术架构也非常熟悉的我觉得这是个不错的尝试。有机会做出一些有创新性或是有竞争力的东西,对我而言很有吸引力。当时的开鸿智谷已经将 OpenHarmony 作为公司的战略方向,所有业务也以此为抓手,我直觉这是个不错的方向。为 OpenHarmony 的生态繁荣而努力,在这方面,我可以发挥自己的一份力量。

唐小引:OpenHarmony 生态构建进展如何?开鸿智谷有哪些进展?

杨启彬:开放原子开源基金会可能会更清楚 OpenHarmony 生态的整体进展,在此仅谈谈我的个人理解。今年,OpenHarmony 系统底座能力持续增强,目前已基本对轻小设备构建起了较完整的能力体系,并开始逐步投入富设备的基础能力构建,预计明年推出的 4.0 版本,会有较大的富设备能力增强与升级。

开鸿智谷在 OpenHarmony 生态共建上的进展主要有两个:今年 4 月 28 日发布的“教育在鸿 OS ”以及 6 月 7 日发布的“公路在鸿 OS ”。基于这两个发行版,我们已经做了在鸿控制器等 4 款商用产品,联合生态研制了 8 款商用产品。此外,我们也开发了两款开发板,目前 Niobe U4 与 Niobe 407 的开发板已经通过 XTS 认证,且均合入社区代码主干,对社区回馈比较大。

唐小引:你对开源生态构建的理念与期望是什么?

杨启彬:我的理念很简单,就是源于开源、回馈开源。如果只有索取,一定做不好生态。只有使用开源软件、消化吸收后再回馈开源,才能让开源社区繁荣发展,让开源生态不断壮大。社区往往都有自己的标准、规范,以保证代码质量和可用性,要相信社区的力量,要相信开发者的力量。目前开鸿智谷有自己的开源策略,希望在回馈社区的同时,能帮助其他厂商一起做好开源生态。

 

深耕操作系统数十年的一些感想

唐小引:操作系统的发展往往有这样一个规律:在鼎盛时期各种移动操作系统遍地开花,但最后能留下来成为主流的只有一两个,基于你对移动操作系统的多年研究,一款操作系统长盛不衰的核心是什么?

杨启彬:iOS(苹果)和 Android(安卓)作为两款长盛不衰的操作系统,很有代表性。苹果的成功很大程度上依赖于其完整的商业模式和生态,在此就不深入探讨。而安卓系统诞生之时,很多人对其发展是持怀疑态度的。回头思考它成功的原因,我认为其最大的优势在于开源,且选择了 Java 框架作为开源的基础。众所周知 Java 开发者非常多,如此一来就可以非常顺利地将其生态嫁接到新平台上,随着越来越多的开发者在平台上开发相关应用,还能不断促进安卓操作系统的优化迭代。生态对于操作系统的重要性不言而喻,一个移动操作系统要想成功,前提条件就是必须有生态。

唐小引:十年前是移动互联网的黄金时代,但当时很多不错的操作系统如今都已消亡,这为我们留下了怎样的警示?

杨启彬:很多不错的操作系统渐渐销声匿迹,最大的问题可能是它们没有从长远的维度考虑用户的接受程度。如惠普的 webOS 操作系统,发布之时惊艳了许多人,但最后迫不得已被出售,最大的问题就是没有看到用户真正需要什么。webOS 虽然解决了跨平台的问题,但它基于 H5 的开发方式比 Java 慢,劣势非常明显。一个操作系统不关注用户体验问题,最终大概率会被淘汰。其次,操作系统的开放程度也很重要,安卓系统是开放的,因此有更多的人参与其中,系统的创新能力也被不断提高。反之,这也是现在大家诟病苹果的系统创新越来越少的原因。集体的智慧比个人的智慧力量更大、创新力更强,鸿蒙系统参与的人更多,在创新方面也会比安卓会更强,因此它一定要开放。

唐小引:Android(安卓)目前仍是操作系统的一大主流,虽然它的碎片化、安全性问题一直饱受诟病。OpenHarmony 如何规避此类问题?

杨启彬:安卓的安全性确实遭人诟病,由于它通过 API 直接访问驱动,一旦应用崩溃,驱动也会崩溃,最终将导致整个系统无法使用。这并不合理,因此当初在设计 OpenHarmony 时我们参考了安卓成熟系统的设计方案,通过 IPC 做了解耦设计。此外,要想解决安全性问题,就需要保证应用安全,OpenHarmony 有一套签名机制,必须从正规的应用市场做相应的签名,才能在相关设备上安装运行,这样就保证了整体的安全。

对于国内安卓的工程师们经常将自己的服务后台保活,以便能够及时接收到需要的信息的操作,OpenHarmony 是不允许的,这部分在设计之初参考了 iOS 的做法。不过更灵活。工程师在必要情况下可以申请应用后台的服务运行时间,但不允许一直在后台保活。因为后台运行的服务太多,如果完全不限制,内存永远都不够。

对于用户来说,系统太大其实是个困扰。可以通过类似小程序的原子化服务来解决这个问题,用户即用即走,不需要安装。所以我们需要把这个应用做得非常小,一碰即将应用从云端下载下来安装在设备上直接打开。当时内部做了一个评测,5M 大小应用,在 5G 的网速下,两秒就能完成下载安装和启动运行。然而用户还是感觉两秒的体验不太好,但要实现毫秒级响应对网速要求比较高。

唐小引:从万物互联角度考虑,苹果操作系统借助其完整的生态,互联起来可能很方便,但 HarmonyOS 连接的设备种类繁多,使用体验可能很难达到全套苹果设备连接的丝滑感。这类问题怎么解决?

杨启彬:我们正在考虑这个问题,思路是通过一个中心设备,以中转的方式实现设备的鸿蒙化,方法是否成熟还有待实践。华为一直在做鸿蒙智联,也就是把非智能化的产品智能化,通过为其增加智联模块的方式,再连接到 IoT 的云上。从技术角度来看难度不大,但目前鸿蒙的生态还不够完善,我们希望尽可能地吸引更多开发者参与其中。

当前企业业务常以“数据和应用双轮驱动”,而应用需要许多组件能力来支持,考虑到各行各业都有着不同的 API,兼容起来比较复杂,因此我们希望把相应的组件能力抽象出来,从而降低各行业开发的难度,让开发者更容易开发出期望的应用。当他们更容易用最简单的方式开发各式各样的创新性业务,也就更愿意参与到生态建设中来。

对话的最后,杨启彬与我们分享了他所关注的技术方向与下一个小目标。作为一个务实派技术老兵,他的关注点同样实在。除了关注技术大方向,他还喜欢进入各个社区里了解当前开发者常用的主流技术。

“最近我一直想做 I/O 优化,并尝试通过减少用户空间和内核空间的切换,提升产品性能。也在关注微内核相关的技术,尝试做 Demo 去验证将现在的鸿蒙内核切换到微内核上是否可行。小设备对性能要求很高,如果内存太小,可能原本 5ms 就能搞定的事情可能需要 10ms,总体来看性能将下跌一倍,这就让用户很难接受。”

他所做的,正如他所说的:从长远的维度去考虑用户的需求与接受程度。

 

本文来自《近匠》栏目。《近匠》是 CSDN 推出的访谈栏目,其意思即为「走近工匠」,走近深耕于开源、云、AIoT、根技术、数字化转型、前沿技术的工具创造者和技术管理者们,了解他们怎么看待现在的开发工作,分享自己精雕细琢出来的工具有何特点,剖析整个行业发展现状及未来趋势。

为此,基于开源、云、AIoT、根技术、数字化转型、前沿技术等领域,如果您及团队有报道需求,亦或者如果您有对技术趋势的真知灼见,或是深度的应用实践、场景方案等的新见解,欢迎联系 CSDN 投稿,联系方式:微信(hanbb120,请备注投稿+姓名+公司职位)、邮箱(tumin@csdn.net)。 

原文地址:https://newprogrammer.blog.csdn.net" target="_blank" rel="noopener" title="《新程序员》编辑部">《新程序员》编辑部</a> <img class="article-time-img article-heard-img" src="https://csdnimg.cn/release

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


文章浏览阅读1.4k次。被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。_鸿蒙ark对象数组
文章浏览阅读1k次。Harmony OS_harmonyos创建数据库
文章浏览阅读1.1k次,点赞25次,收藏23次。自定义组件Header.ets页面(子组件)//自定义组件@Component//组件声明private title:ResourceStr//接收的参数build(){Row() {index.ets(父组件)//导入自定义组件@Entry@Componentbuild() {Column() {/*** 1. 自定义组件调用-----自定义组件------* 2. 在调用的组件上设置样式*/ShopTitle({ title: '商品列表' })
文章浏览阅读952次,点赞11次,收藏25次。ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具,帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API,就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。_支持ios 安卓 鸿蒙next的跨平台方案
文章浏览阅读735次。​错误: 找不到符号符号: 变量 Layout_list_item位置: 类 ResourceTable_错误: 找不到符号 符号: 变量 resourcetable 位置: 类 mainabilityslice
文章浏览阅读941次,点赞23次,收藏21次。harmony ARKTS base64 加解密_鸿蒙 鸿蒙加解密算法库
文章浏览阅读860次,点赞21次,收藏24次。使用自定义布局,实现子组件自动换行功能。图1自定义布局的使用效果创建自定义布局的类,并继承ComponentContainer,添加构造方法。//如需支持xml创建自定义布局,必须添加该构造方法实现ComponentContainer.EstimateSizeListener接口,在onEstimateSize方法中进行测量。......@Override//通知子组件进行测量//关联子组件的索引与其布局数据idx++) {//测量自身。_鸿蒙javaui
文章浏览阅读917次,点赞25次,收藏25次。这里需要注意的是,真机需要使用华为侧提供的测试机,测试机中会安装纯鸿蒙的系统镜像,能够体验到完整的鸿蒙系统功能,纯鸿蒙应用目前还不能完美地在 HarmonyOS 4.0 的商用机侧跑起来。当前,真机调试需要使用华为侧提供的测试机,测试机中会安装纯鸿蒙的系统镜像,能够体验到完整的鸿蒙系统功能,纯鸿蒙应用目前还不能完美地在 HarmonyOS 4.0 的商用机侧跑起来。另外,由于样式的解析是基于组件文件的纬度的,因此样式文件只能应用于被其引用的组件文件中,而不能跨文件应用,并且样式文件也只支持类选择器。_鸿蒙 小程序
文章浏览阅读876次,点赞17次,收藏4次。2. HarmonyOS应用开发DevEcoStudio准备-1HUAWEI DevEco Studio为运行在HarmonyOS和OpenHarmony系统上的应用和服务(以下简称应用/服务)提供一站式的开发平台。
文章浏览阅读811次。此对象主要映射JSON数组数据,比如服务器传的数据是这样的。_arkts json
文章浏览阅读429次。鸿蒙小游戏-数字华容道_华为鸿蒙手机自带小游戏
文章浏览阅读1.1k次,点赞24次,收藏19次。Ability是应用/服务所具备的能力的抽象,一个Module可以包含一个或多个Ability。
文章浏览阅读846次。本文带大家使用MQTT协议连接华为IoT平台,使用的是E53_IA1 智慧农业扩展板与 BearPi-HM_Nano 开发主板_mqtt 如何对接第三方iot平台
文章浏览阅读567次。HarmonyOS_arkts卡片
文章浏览阅读1k次,点赞19次,收藏20次。ArkTS开发鸿蒙OS连接mongoDB(后端node.js)2024最新教程
文章浏览阅读1.2k次,点赞23次,收藏15次。HarmonyOS与OpenHarmony(1)本质上的不同是:HarmonyOS是鸿蒙操作系统,而OpenHarmony则是从开源项目。这里可以联想一下Android,比如小米手机在Android开源系统的基础上开发了MIUI的手机操作系统,HarmonyOS就类似于MIUI,OpenHarmony类似Android基础底座。(2)HarmonyOS:是双框架,内聚了AOSP(Android Open Source Project )和OpenHarmony等。_鸿蒙模拟器开了怎么跑代码
文章浏览阅读1.1k次,点赞21次,收藏21次。鸿蒙(HarmonyOS)项目方舟框架(ArkUI)之Navigation组件。
文章浏览阅读2k次。由于之前的哥们匆忙离职了,所以鸿蒙手表项目的新版本我临时接过来打包发布,基本上之前没有啥鸿蒙经验,但是一直是做Android开发的,在工作人员的指导下发现打包配置基本上和Android一样,所以这些都不是问题,这里记录一下使用过程中遇到的问题。!过程和遇到的问题基本上都讲解了,关机睡觉,打卡收工。_鸿蒙系统adb命令
文章浏览阅读7.3k次,点赞9次,收藏29次。39. 【多选题】_column和row容器中,设置子组件在主轴方向上的对齐格式
文章浏览阅读1.1k次,点赞13次,收藏24次。18.鸿蒙HarmonyOS App(JAVA)日期选择器-时间选择器点击button按钮显示月份与获取的时间。_harmonyos农历获取