鸿蒙开发者日有奖问答答案的简单介绍
五问“鸿蒙”
8月9日,在东莞松山湖举行的华为开发者大会上,华为自主研发的鸿蒙操作系统正式亮相。据公司消费者业务CEO余承东介绍,与安卓和iOS这两个基于手机开发的系统不同,鸿蒙立足物联网,面向未来,最大的特点就是极强的安全性及超低时延。
“专业、务实、高效、创新、把客户的事当成自己的事”是我们每一个人一直以来坚持追求的企业文化。 创新互联建站是您可以信赖的网站建设服务商、专业的互联网服务提供商! 专注于成都做网站、网站建设、软件开发、设计服务业务。我们始终坚持以客户需求为导向,结合用户体验与视觉传达,提供有针对性的项目解决方案,提供专业性的建议,创新互联建站将不断地超越自我,追逐市场,引领市场!
“华为做操作系统的研究,已有差不多接近十年时间。鸿蒙这个项目在两年前正式启动,它的投入非常大,累计投入了将近5000人的研发力量。”余承东说。
那么,鸿蒙到底有何独特之处,在5G时代下,它又将有何用武之地?
为什么要打造鸿蒙?
物联网设备中
安卓跑不起来
在中国古典著作中,“鸿蒙”多指宇宙形成前的混沌状态或神话中的远古时代。在《庄子·在宥》中,就曾有“云将东游,过扶摇之枝,而适遭鸿蒙”的说法。
物联网的“宇宙”,也正处于“鸿蒙”之中。新旧操作系统轮替进入窗口期,万亿级的市场正在形成,万物互联时代正加速来临。
最近的两次 科技 浪潮先后由PC和智能手机引发,虽然终端产品百花齐放,但底层OS(Operating System,即操作系统)仍由少数核心企业把持,例如PC时代的微软,移动互联时代的苹果、谷歌。
目前,安卓在全球智能手机操作系统中的占比高达八成以上,但它并不完美,碎片化、效率低、生态混乱等缺点一直为人所诟病。正因如此,进入桌面市场以及AR/VR、物联网领域,安卓显得“心有余而力不足”,并未展现出足够的统治力。
“安卓系统在少于2G内存的智能设备中根本跑不起来。”余承东说。然而,当下很多物联网(IoT)设备内存都非常小,这就存在操作系统和设备不匹配的问题。
安卓系统有1亿行代码,其中仅内核就有超过2000万行代码,平常真正用到的不到8%。如此庞大和冗余的内核设计很难保障操作系统的流畅,这样一来,安卓系统的设备“卡顿”问题突出不说,面向数据量庞大的物联网市场也显得承受能力不足。
正因如此,为打破现有主流OS的生态墙,“不必被某一家公司所局限,也让我们国家 科技 更加自立自强。”华为自研的物联网操作系统鸿蒙应运而生。
一直以来,国产IT行业面临着“缺芯(芯片)少魂(操作系统)”的局面。作为 科技 行业巨头,华为已手握芯片和操作系统两张“王牌”,未来其一旦在物联网领域建立起领先地位,其影响力或能持续十数年之久。
同是操作系统有何不同?
“核心+模块”
更快更安全
同是操作系统,鸿蒙有何不同?
余承东谈到,鸿蒙的出发点和安卓、iOS都不一样,这是一款基于微内核的面向全场景的分布式操作系统。以安卓系统为例,该系统沿用的是Linux内核调度机制,“面向所有的资源调度,都是平等对待的。”余承东表示,这就好比高速公路上,货车、 汽车 、摩托车、自行车共用四条车道,彼此间互相“抢道”,最终的结果是谁都走不快。
而鸿蒙采用的微内核,相当于在高速公路上,车道被划分为超车道、快车道、慢车道、自行车道,车辆拥有“专属通道”,对资源进行精准调度,效率大幅提高,实现超低时延。而借助确定时延引擎,鸿蒙的超低时延优势得到了充分展现,响应时延将下降25.7%,时延波动率下降55.6%,用户体验大幅改善。
“简单来说,就是把原来的大而全的内核,改成核心+模块的方式。”业内人士表示,核心不变,功能纯粹,模块用来扩展,灵活组合,“就好比同一款发动机,调教不同、搭配的内容不同,就变成不同级别的车了。”
各行其道也让鸿蒙变得比安卓更安全。据了解,安卓系统采用的宏内核,一旦ROOT权限被非法获取,整个系统就会被攻破,“相当于只要拿到了大门钥匙,你就能打开每一扇门。”而鸿蒙的微内核方案,使得系统无须获取ROOT权限,“外核服务相互隔离,可提升系统安全性。”余承东引述权威测评机构的测评结果称,理论上微内核的安全性是宏内核的两倍多。这也就意味着,华为“鸿蒙”OS的安全级别将远胜于安卓。
对独立运算需求更小的物联网设备,微内核优势更明显。“在华为看来,基于超宽带、云计算的AI世界才是未来。也就是说,华为认为未来手机、笔记本等设备的绝大部分性能需求将会通过5G、光纤连接云端服务器获得,终端设备本身的性能不需要特别强大,所以微内核就够了。”上述业内人士表示。
使用体验有何不同?
同时搭载鸿蒙
设备即可互联
华为自研操作系统“鸿蒙”拥有高安全性、超低时延、广连接等独有优势,那么用户最快什么时候能够用上搭载这一系统的智能终端产品呢?
8月10日,荣耀在东莞举行新品发布会,正式发布全球首款采用“鸿蒙”操作系统的终端产品——荣耀智慧屏。借助该系统的分布式架构,智慧屏将能够打破单一物理设备硬件能力的局限,实现跨终端无缝协同体验。比如,手机已有的语音或视频通话,可以无缝切换到智慧屏。与此同时,手机也能成为电视屏幕的延伸,只要碰一碰“投屏”,手机就可以变成智慧屏的触控屏、扬声器、遥控器和键盘等。
荣耀总裁赵明表示,未来不仅手机和智慧屏之间会融为一体,所有搭载鸿蒙系统的智能设备间都能够“互为终端”“互为外设”,彼此之间实现无缝协同。“所有终端设备只需同时搭载鸿蒙系统就可以实现互联互通”,赵明指出,“这是基于分布式架构的鸿蒙系统最核心的能力,也是荣耀智慧屏区别于传统电视、智能电视的关键所在。”
那么,智慧屏之后,鸿蒙还将进入哪些智能终端领域?据介绍,到2020年,部分国产PC、手表/手环以及车机将搭载该系统的2.0版本;2021年,“鸿蒙”在软硬件协同优化方面的能力将大幅提升,届时3.0版本将被引入智能音箱、耳机市场。“2020年后,VR眼镜及更多设备也将加入鸿蒙生态。”
也就是说,未来鸿蒙系统将在物联网市场全面开花。据了解,鸿蒙操作系统具备轻量化、小巧、功能强大等优势,应用于物联网领域,将能够帮助打通各终端设备间的交互渠道,逐步构建起融合共享生态,为消费者打造全场景智慧生活的新体验。
是否会用于手机?
短期内看来
还不会
此前,包括华为创始人任正非、董事长梁华等在内的华为高层曾在多个场合表示,若产业链供应商经允许可以持续为华为供货,那么华为仍会把安卓系统和生态作为“首选”,但如若安卓系统无法使用了,“华为随时可以启用鸿蒙操作系统。”余承东表示,对正处于安卓生态中的应用而言,若要从该生态中迁移到华为鸿蒙操作系统上,“开发工作量非常之小。用方舟编译器和华为的生态来连接,可能一两天就能完成”。
事实上,华为是安卓阵营中坐二望一的手机品牌,谷歌也不愿轻易失去华为这个客户。业内人士表示,包括华为等在内的国产手机厂商对安卓系统的底层优化作出了极大贡献,正因如此,安卓系统也需要华为在部分核心技术方面的专利授权。
尽管如此,要鼓励安卓开发者加入鸿蒙生态并非易事。此前,华为董事长梁华曾在华为2019年上半年报业绩发布会上表示,华为消费者业务仍有许多漏洞要补,其中最大的一个就是“生态”。他说,这将是消费者业务在今年下半年最重要的任务之一。
“鸿蒙生态的打造需要一定时间,短期利益可能会受损,但是长期来看利好。”余承东在华为开发者大会上宣布将对“耀星计划”加码,并面向全球开发者“开源”鸿蒙,今后将持续推动开源基金会、开源社区的建立,与开发者共同推动鸿蒙生态的构建。
5G之于鸿蒙意味着什么?
此前,关于鸿蒙系统的定位,华为创始人任正非曾表示:“鸿蒙本身并不是为了手机用,而是为了做物联网用的,比如自动驾驶、工业自动化,因为它能够精确控制时延在5毫秒以下,甚至达到毫秒级到亚毫秒级。”
今年6月,我国发放5G商用牌照,正式进入5G商用元年。对于5G,中国联通集团大数据首席科学家范济安在接受本报采访时表示,相较于消费级应用,5G将在工业互联网等企业级应用上大派用场。
这意味着,正如任正非所言,鸿蒙首先瞄准的是5G时代的自动驾驶、工业自动化等企业级应用,而低时延是其一个优势。
而就在年中,谷歌新操作系统Fuchsia已经悄然上线,开发者可以搜索到任何关于Fuchsia OS的技术文档,和安卓系统定位不同,Fuchsia是一个可以运行手机、电脑以及智能家居设备等在内的全能型操作系统,兼容安卓系统。
业内人士分析指出,5G时代是万物互联的时代。这个时代的操作系统将是第四代操作系统——事件型操作系统。建立在5G高速低延时基础上,第四代操作系统有条件实现万物互联,打通电脑、笔记本、平板、手机、智能家居、智能穿戴、 汽车 等,将所有可以集成的硬件联结起来,一方面利用所有可以利用的计算资源,另一方面持续产生人工智能的基本资源——大数据。从这个角度看,相较于大家热议的把鸿蒙系统用于手机上,该系统的目标实质是成为5G时代的底层系统,对标的正是谷歌Fuchsia操作系统。
策划统筹:张志超 李江萍 程鹏
华为计划在手机上推出鸿蒙操作系统,这是个什么样的系统?
2020年9月15日,是特别的一天。
因为美国对华为的芯片新禁令正式生效。
自此,台积电、高通、三星、SK海力士、美光等主要元器件厂商将不再供应芯片给华为。
2019年,华为就推出了鸿蒙系统,积极应对美国禁令。
上周,华为召开了2020开发者大会,华为消费者业务 CEO 余承东宣布了最新的鸿蒙 OS 2.0 ,目标是“共建万物互联的全场景智慧生态”。
针对最新的鸿蒙系统,梁宁老师和鸿蒙的开发者与生态建设者进行了沟通,得到了关于鸿蒙系统的9个关键问题和答案。
我们征询梁宁老师授权,把她和鸿蒙开发者的沟通内容,独家分享给你。
希望能帮助你进一步认识华为的鸿蒙系统。
01. 鸿蒙的开发语言?
硬件驱动 C/C++,应用 JS
02. 鸿蒙与安卓最大的不同?
通过分布式技术,将手机与 IOT 设备进行无线组合,形成超级终端。
2.1 最大好处
让手机应用与 IOT 无缝互通。
以车载导航系统为例,过去通过蓝牙连接,只能播报路况语音。
现在鸿蒙系统提供分布式软总线技术进行连接,不是简单投屏,甚至还能分享 CPU 计算资源。
比如,使用车上 CPU 进行计算后,上传抖音视频时的压缩过程可以放到车上计算,缩短压缩时间,使得上传时间减少,手机功耗也会减少。
用更便捷的方式进行设备之间互相连接,使得应用能够编写一次,跑在不同设备上。
2.2 内核技术
安卓基于Linux Kernel。
鸿蒙为了支持在不同大小和形态下的设备,采取多种内核策略,这样能达到不同设备的最佳性能功耗。
这是安卓不具备的系统底层能力。
本次开源 LiteOS 技术是多款华为实际产品中沉淀出来的内核,12月支持Linux Kernel内核,兼容更多设备。
反正鸿蒙是开源,微内核会在大家眼皮底线长出来。
03. 什么时候、在哪里可以体验鸿蒙?
3.1 目前华为运动手表已经是鸿蒙系统,10月份发布。
华为手表现在是国内手表市场份额第一的产品,非常期待。
3.2 双十一,美的会推出采用鸿蒙系统的 IOT 产品,消费者可以体验到。
3.3 10-11月华为 Mate40 上将能看到一些鸿蒙的特性,可以在 EMUI 11 版本体验到。
3.4 现在华为的旗舰店,也可以体验鸿蒙“碰一碰”万物互联。
04. 鸿蒙计划的 1+8+N 的万物互联和小米的米家连接区别是什么?
小米生态所有产品都可以通过手机操作。
是因为小米生态产品通过加 SDK 通信组件,与小米手机连接,并进行通信。
鸿蒙系统手机与采用分布式技术的底层系统打通,可以实现音视频,甚至 CPU 级别的系统交互。
过去双摄像头、三摄像头发布后,大家调侃是否会出到100个摄像头,通过分布式能力,确实是可以的。
外部设备可以理解为通过无线的方式装载到手机里,你可以认为手机的范畴变大了,是万物互联的超级设备。
05. 鸿蒙系统与安卓系统是否兼容?
鸿蒙系统目前基于安卓系统,有300万个 APP。
鸿蒙选择兼容道路也是十分务实。
已有移植到鸿蒙,只需要在多设备互动的功能中使用的新 API 增量开发,大大降低应用适配难度。
06. 鸿蒙为设备厂商提供哪些支持?
6.1 开源免费
6.2 SDK
6.3 百万级源码
6.4 设备开发工具链
6.5 开发板模组
07. 鸿蒙为开发者提供哪些支持?
7.1 1万 API 调用
7.2 自主开发的框架
7.3 工具链
7.4 模拟器
7.5 需要获得技术支持可以到 Harmonyos.com 官网联系。
也可以自行到开源社区进行代码修改和提交。
开放性有开放原子开源基金会保障。(这个基金会,有时间再介绍)
08. 安卓强大在哪里?
15年积累。
占据近全球87%智能手机用户心智。
400名开发者(99% Google 员工)。
1.2亿行代码。
09. 为什么安卓也需要中国?
9.1 全球1/2的安卓手机是中国品牌。
9.2 全球1/4的安卓手机卖给中国用户。
9.3 Google 网站自己披露的非手机类 ODM 合作伙伴,一共50家左右,都是中国企业,具体来说,7成在深圳,近3成在上海地区。
简单来说,安卓最重要的伙伴,除了三星,全是中国企业!!!
综上,鸿蒙的雄心,三分天下有其一
华为鸿蒙OS正式来了,你可能关心的问题都有解答
但鸿蒙OS的很多问题之前还是有待华为解答的,比如现有设备究竟有什么型号是可以升级的以及什么时候能够升级;升级后体验有什么不同,能做什么其他操作系统不能做的事。而对于APP开发者来说,也想知道做适配的难度有多大以及值不值得做适配。而华为官方在昨晚举行的HarmonyOS 2及华为全场景新品发布会上都给出了答案。
首先鸿蒙OS是完全开源开放的,只要合作伙伴愿意,都可以加入到鸿蒙OS的生态大家庭中来。而对于开发者来说,可以实现一次编码开发多终端部署,让多设备应用开发变得更加简单。并且据华为所说目前已经有300+应用和服务伙伴、100+硬件伙伴以及50万+开发者共同参与到鸿蒙OS生态建设当中,华为也希望更多厂商和开发者能加入到这个OpenHarmony开源社区。
而在升级型号和时间上,华为正式宣布,在6月2日开始,华为Mate 40系列、Mate 30系列、P40系列、Mate X2、MatePad Pro会成为首批启动公测升级鸿蒙OS 2的型号。而在第3季度,华为Mate Xs、Mate 20系列、nova 7系列、nova 8系列等型号会有计划升级。第4季度,会计划升级华为智慧屏V系列2021款、智慧屏S系列、智慧屏X65等。最后在2022年上半年的时候,华为Mate 10系列、P20系列等也会迎来升级。
此时此刻,鸿蒙时刻——再说华为鸿蒙系统的那些事儿
2021年6月2日,对于华为和很多关心华为的人来说,都是一个重要的日子,因为千呼万唤的华为鸿蒙操作系统(HarmonyOS)正式发布,虽迟但到。就像HDC 2019上鸿蒙初次发布那样,准随着它的争议从未消失,且更随着手机鸿蒙系统的推出在即,有愈演愈烈之势。
在HDC 2019之后,我曾写过一篇《关于华为鸿蒙系统的那些事儿》的文章,此时此刻,我觉得是时候再说说华为鸿蒙系统那些事儿了——虽然我知道,在这个当口,写这样一篇文章很可能给我自己挖一个大坑……
不搞懂Android,你就看不懂鸿蒙
关于鸿蒙的最大争议点无非就是:“HarmonyOS是不是套壳Android?”要说不是,不服气的人肯定大把,要说是,那也一样不得了,那就一层层地说清楚。首先,让我们看看Google手中的Android操作系统是怎么回事。
回顾一下Android操作系统的起源。它是由知名IT人Andy Rubin于2003年10月成立的Android公司推出的产品,其本身是基于Linux内核开放源代码的操作系统;2005年8月,Google收购了Android公司;2007年11月,Android操作系统首次亮相,同时Google宣布以Apache免费开源许可证的授权方式,发布Android的源代码,Google牵头的OHA也正式创立(OHA,Open Handset Alliance,该组织最初由34家手机制造商、软件开发商、电信运营商以及芯片制造商共同组成);2008年9月,Android 1.0版本正式推出,首款Android智能手机G1发布,宣告了一个新的时代开启。现在,Android操作系统已经成为智能手机市场第一大操作系统,也广泛使用在智能手机之外的很多设备上。
Android的起源和开源两个字分不开。是的,Android系统底层所使用的Linux内核,是必须遵照GPL协议进行开源传播的(GPL协议,General Public License,简称GPL,通用性公开许可证)。这个协议中的一项原则就是:确保软件自始至终都以开放源代码形式发布,保护开发成果不被窃取用作商业发售。
因此,采用Linux内核的Android操作系统,也不能违反这个协议, 前边提到的Android免费开源许可证授权,就是指Google要向使用该操作系统的智能手机厂商提供开放的源代码,即AOSP(Android Open Source Project),但这部分源代码并不代表“Android”操作系统的全部。
Google当初看上Android,可不是想要将这个开源系统作为一个免费的“慈善”项目来推动,而是在意Android这个平台的商业化潜力。于是,在收购了Android系统之后,Google就按自己的设想打造Android系统,即在开源代码的部分之外,基于自家在移动互联网上强大的控制力,把Gmail、Maps、Google Play、YouTube、Chrome这些我们耳熟能详的应用服务整合为GMS(Google Mobile Services)服务包植入,从而形成了这个系统的核心竞争力—— 简单理解Android系统的本质,就是AOSP+GMS的合体。
换句话说,智能手机厂商可以自由使用AOSP提供的免费源代码进行自家操作系统的开发,但想要卖得好,拥有更多的用户,却离不开GMS包含的应用,在Android的商业模式中,Google有一套严格的机制在免费开源与付费授权之间取得平衡的。
之前有数据显示,从2008年~2016年间,Android操作系统为Google供贡献了高达310亿美元的营收,而利润更是高达220亿美元,也就是说,数以亿计的搭载Android操作系列和GMS服务包的智能硬件们,都成为了Google帝国的现金奶牛。
只是,Google这个庞大的商业帝国,却总有不能企及的地方——中国大陆。早年因为不愿意服从法律监管,Google几乎将整个互联网服务都移出了中国大陆市场,但是Android操作系统却随着移动互联网和智能手机的发展,在中国市场壮大。
这里有一个非常有意思的现象:因为Google不能在中国提供服务,中国的智能手机厂商们,早就习惯了自主开发没有GMS,但又包含完整本地化服务的自主UI,但因为要面向全球市场,所以又会在自主UI中保留Google GMS框架,这样就可以在海外市场很方便地接入GMS并激活一系列的服务。
因为GMS服务不能进入中国大陆市场,手机厂商们会在这个基础上接入很多自己的服务,比如应用商店、主题商店、内容、支付、推送等,可是没有Google Play的应用审核机制,国内的软件生态是啥样大家都看到的,到最后手机厂商自己都受不了了,才有了“统一推送联盟”、“软件绿色联盟”之类的组织,且随着国家监管力度的加强,现在已经好多了。
随着Android的市场地位越来越强,Google也开始做一些小动作——毕竟这家公司的口号在2015年就从“Do not be evil”变成了“Do the right thing”。如将一些关键特性和重要代码的更新放入GMS包的版本迭代中,比如部分组件、驱动等,有意拉开Android与AOSP的代数差距,从而凸显自己的地位,进一步强化对Android生态的控制力。所以,为了能让自家的UI能有更强的市场竞争力,智能手机厂商们对Android的魔改从来就没有停止过。
回到华为。2019年5月16日,华为被美国商务部列入实体清单,被视为美国对华为终极打压的开始,首当其冲的就是销往全球的华为新款手机不能再使用Android系统。
是的,华为的确是不能使用Google的Android操作系统了,但更具体的描述应该是: “华为不能在自家手机新品中内置GMS服务,但AOSP源代码的使用丝毫不受影响”, 而非那段时间盛传的华为手机从此变砖。但是,无法内置GMS,对于华为手机在全球市场的销售影响是实实在在的,但好在对于系统本身进化影响并不大——现在让我们来到第二个话题:“华为掏空Android。”
华为真的掏空了Android?
华为是否掏空了安卓?这应该是每过一段时间就会被拉出来遛一圈儿的问题。其实在我看来, 答案:是也不是。为什么说不是?因为AOSP还在呢,华为从来没有说过要排斥这个开源项目的,毕竟在这个软件生态上运行着数以百万计的应用,真要把这个掏了,难不成华为要自己做一个全新的软件生态,脑子抽了还差不多。为什么说是?因为华为对Android操作系统的改变也是真实的,很多谷歌做的东西,很多都被华为自己的东西替代了。
这个涉及一个主角, 即EMUI,华为自主开发的UI,或者说两个主角也行,EMUI+HMS。 在这其中,现任华为消费者BG软件部总裁王成录王博带领的EMUI团队显得尤其重要,从他2016年加入这个团队之后,EMUI的根本性改变就发生了,用他的话说:“EMUI不仅仅是一个UI,而是一个平台。”EMUI是如何从UI变为平台的呢?简单梳理一下:
-EMUI 4.X时代,主要的变化还只是TEE OS(即用于指纹的TustZone)以及SensorHub这样基于硬件功能的模块上;
-EMUI 5.X时代,这是一个战略级别的关键版本。解耦Android底层组件,精简各子模块。虚拟机在这个版本也得到了优化,特别涉及了垃圾回收机制(GC)、AOT(运行前编译)、数据库优化(IO并行)等。在这个版本,新的文件系统F2FS(针对闪存推出,大幅度减少文件碎片),还有UltraMemory(即4GB运存达到友商6GB运存效果)的推出,通过对各个Android底层技术模块的深度开发,让EMUI团队敢于将“十八月不卡顿”放到了公众面前,没记错这就是EMUI第一个大争议点出现;
-EMUI 8.X时代,人工智能技术加入系统,iAware借着算力,整个系统的后台管理模式更合理,图形引擎得到升级,即半路加入的GPU Turbo,这是EMUI对Android系统全栈图形模块修改的开始,EROFS超级文件系统也在此期间亮相开源社区;
-EMUI 9.X时代,也是“Turbo”的时代,GPU Turbo 2.0、CPU Turbo、LinkTurbo都是在这一代出现的,系统性能继续优化,EROFS正式加入,连接能力得到强化。2019年MWC上,华为“1+8+N”智慧全场景战略首次浮出水面,在这背后,鸿蒙的研发其实已经悄悄进行了不短的时间了;
-EMUI 10.X时代,分布式技术、软总线、超级终端这一系列的概念出现了,它在HDC 2019上推出,伴随着它一起发布的就是鸿蒙1.0,其时还是一个半成品,只能叫操作系统内核。只是因为2019年5月16日的事件,它不得不作为战略产品提前亮相,在推出的时候,鸿蒙就直接宣布将会开源;
-EMUI 11.X时代,鸿蒙来到了2.0版本,但HDC 2020的主角是HMS和AppGallery,不但前边提到的一系列系统底层的能力变化全部被涵盖其中,连Google最引以自傲的营收来源GMS服务、Google Play也被替代了。
看完上边这个简单的梳理,你是不是对本章节开头的那个问题概念更明晰了? 如果说华为掏空了Android,没错,华为EMUI团队觉得Google做得不好的地方,要么魔改,要么就干脆换掉,比如底层连接协议。 特别是在2019年5月16日之后,即EMUI10和11两代,这样的动作愈加突出,幅度也越来越大。
要说华为没有掏空Android,也没错, 因为现在华为完全自主运营的AppGallery应用商店,里边的应用都是基于AOSP规范开发,但又置入了HMS服务的华为版,目的就是为了解决这些应用在没有GMS支持下的消费者体验问题。 毕竟在全球范围内,华为已经积累了7亿多终端用户,在他们换机或是华为解决手机硬件产品问题之前,用户还是要继续使用这些华为手机和软件服务的。
到这里,为什么会有鸿蒙这个东西了应该也有答案了。 “低情商”的说法,它有点像是华为在EMUI进化过程中,用来解决多设备连接协作问题中的“副产品”;“高情商”的说法,它是包涵底层互联协议、芯片能力调用、多设备协同过程中交互界面等全方位解决方案的集合体,高效率的连接(HiLink)、低时延(HiLink)以及微内核(比如LiteOS)是它的三大特点,所以,从软硬件一体化的整体度来说,鸿蒙肯定就是一个全新的操作系统。
因为华为的工程师认为,当前物联网的连接协议太过碎片化,从业厂商开发理解能力参差不齐,所以最后出来的产品也就五花八门,这样的情况,将会严重影响华为“1+8+N”战略的推进效果,“1+8”都是华为自己的好说,“N”怎么办呢?那就交给鸿蒙来解决吧。
这是发布会后宣布的消息:2020年和2021年,华为按计划分两次把HarmonyOS的核心基础能力全部捐献给开放原子开源基金会,由开放原子开源基金会整合其他参与者的贡献,形成 OpenHarmony 开源项目——这和AOSP是不是差不多?这就是为了能让其他有兴趣加入华为“1+8+N”战略的设备制造和服务提供商能更好的理解这个生态系统。在2021年5月18日上海的华为HarmonyOS Connect伙伴峰会上,华为消费者业务AI与智慧全场景业务部副总裁杨海松还提到了鸿蒙的商业模式,包括免费认证服务这些内容,我有整理专访,大家有兴趣也可以了解一下。
在2019年发布鸿蒙1.0的时候,华为的确是没有那么快的计划将它放在智能手机上。HDC 2019之后对余承东的专访中,他是这样说的:“如果我们确认谷歌不再为华为提供操作系统,那么,我们可以在一夜之间通过升级,将所有的华为手机操作系统的内核更换为鸿蒙,但是我们现在并不打算这么做,因为我们还是希望可以让合作伙伴(主要是指美国公司)的利益最大化。”
但同时,他也说了三个“Ready”,意即华为是可以随时这么做,而在6月2日的发布会上,华为手机的鸿蒙升级计划是何等规模大家也看到了。同样的问题王博早些时候的回答也是:“做操作系统并没有难度,关键是商业模式的问题。”
时间来到2020年5月16日,美国针对华为的终极制裁到来,手机SoC芯片断供,蓬勃发展的华为手机业务随时面临停摆的问题。虽然现在看,华为还可以通过购买第三方公司的芯片,在全球继续推出4G手机产品,但GMS同样不能使用,出货量也会从过去的亿级下降到千万级,决定华为消费者业务未来的“1+8+N”也随之面临巨大的挑战。两年前还是商业模式的问题瞬间就变成生死存亡的关键,HarmonyOS变得意义更加重大,不得不发。
并肩前行的OpenHarmony和HarmonyOS
我相信有了前边两个部分的铺垫,再进入第三个部分,很多人的困惑应该会少很多。华为目前对鸿蒙这个操作系统的定义是: “HarmonyOS是新一代智能终端操作系统,为不同设备的智能化、互联与协同提供了统一的语言” ,它与我们使用的Android这种宏内核系统在思路上有着本质的区别。
宏内核操作系统我们用得很多,电脑上的Windows、手机上Android都是,它最大的特点是设备要装载这个操作系统,就得所有的系统组件全部加包一起装载,不管用不用得着,同时在运行时,系统也会依据内存大小,自动加载组件,响应速度是提升了,但会消耗极大的系统资源。
到2021年我们已经能见到最高达18GB RAM的安卓手机了,而在当前主流的Android 11系统描述中写到:“设备最小运行内存为512MB”。如果设备的运行内存小于512MB,要到不能用最新版本的Android系统,要么就只能用老版本——这也是为什么我们能看到有些车机还在跑Android 4.4版本……
但是鸿蒙的设想就恰恰是反过来,它从架构设计上就进行了全栈解耦,将庞大的操作系统打散,拆解成很小的颗粒,不同能力的设备只需要按自己的要求来选择相应的模块能力加载即可, 比如鸿蒙系统的前身LiteOS,它最小的体积只有10KB,你能相信它是操作系统么?可它就是!华为认为这是未来物联网时代和必然趋势,巧的是Google也同样这样认为,所以,足足被其孕育了5年的微内核操作系统Fuchsia,刚刚于近日才正式推送,它的目标就是替代Android和ChromeOS,从而更好地适应物联网时代的多样终端和生态。
为了更好地让合作伙伴与开发者适配设备与系统的能力,华为将采用鸿蒙系统的设备从L0~L5做了6个分级,其中从L0~L2这三个级别的设备,要么没有交互界面,要么交互和功能都非常简单,家电、手环就算这种设备,运行内存也非常小,甚至低到KB级,其被定义为瘦终端,它们采用的鸿蒙系统,代码百分之百来自华为,不包含AOSP的任何部分;而L3~L5这三个级别的设备,有交互界面,可应用扩展,手机、平板、笔记本电脑、车机、VR/AR等这些设备就属于富终端的类别,它们采用的鸿蒙系统,就会引用AOSP的部分代码。在这其中,手机无疑是功能最复杂的核心设备,会跑最多的应用,它引用AOSP顺理成章。
所以,这次发布的HarmonyOS是何物就好解释了。 华为软件团队开发出的OpenHarmony开源项目用来构建“1+8+N”生态的基础,在这个基础上,华为手机终端团队加入HMS服务包,提供全套华为服务和连接能力,包括嵌入HMS服务的华为版应用,再加上部分AOSP开源代码,支持Android广泛的应用生态,保证消费者可以继续无障碍地使用已有的应用 ,这就是今天发布的HarmonyOS。看到这里,是不是有人感觉眼熟?
没错,苹果现在M1平台的MacBook就差不多是类似的情况,它既可以运行macOS应用,又可以运行iOS应用,而HarmonyOS呢,既可以运行原来的Android(APK)应用,又可以运行鸿蒙平台开发的应用(APK)。所以,6月2日发布会王博演讲的最后一个环节的话不晓得各位注意到没有: “HarmonyOS是基于OpenHarmony的第一个公开发行版” ,也算是把两者的关系做了一个比较明确的定义了。
关于鸿蒙系统是否是完全自主开发,要是没记错,华为自己是从来没有说过这样的话,但“我们要站在巨人的肩膀上”之类的话倒是看到过不少, 这个巨人放在HarmonyOS上,就是AOSP。至于有人说到的鸿蒙上使用的代码老旧,经过前边两个章节的介绍你应该明白,这对现在的华为和EMUI来说并不太重要,因为Android操作系统最核心的模块,华为早就已经是脱离谷歌自己在做更新,包括HMS加入后,连应用验证都自己在做,依赖度已经非常低了。
所以,现在EMUI 11还只基于Android 10版本的AOSP代码,但其对比采用Android 11版本的友商系统体验如何,相信大家心里是有数的。只是因为环境的关系, 本来应该“慢工出细活”的事情,全部被按下了快进键,很多还没来得做的事情,也都因为时间不够没有完成,比如代码替换等,相信今年的HDC 2021上华为软工团队会有更多新消息放出。
选择在现在推出HarmonyOS,对于华为也是有风险的,早年阿里YunOS与Android商业生态的冲突让我们第一次理解到了Google对“开放”的态度。现在,HarmonyOS可能面临的情况也差不多,但好在华为有HMS和初具规模的AppGallery可以进行一些对冲。
但对比这样的风险,真正的风险还是时间。从2020年5月16日算起,到现在已经过去了一年,消费者的换机周期是28个月左右,留给华为以手机产品为中心推进“1+8+N”战略的时间并不多,在余下的短短1~2年时间里,华为除了继续保留尽可能多的存量用户,还需要完成去手机中心化的“1+8+N”战略,还需要团结尽可能多的手机厂商来形成新的中心,从之前与杨海松的对话来看,新战略中的“1”,很有可能就是App了。
但另一方面,杨海松也说过: “华为擅长做产品而不擅长做生态”,这也是一个现实的问题,以前华为做产品,秉持的是“进入一个行业,就一定要做到世界第一”的“霸道”原则,现在做生态,华为应该想的是如何交到更多朋友,合作共赢,姿态非常重要……
写在最后
“华为推出HarmonyOS,中国骄傲”,发布会之后,以此为主题,各种各样的鸡血文章、小视频又出现在各大内容平台上,好一场流量盛宴。类似的场景也出现在一年前,在他们口中,似乎华为能以一己之力,一夜之间厘清中国整个芯片产业的 历史 欠账。华为人并非没有看到这些,但现在的他们,哪里有功夫去理会这些论调,有太多事要做了。虽然这篇长文,也许看到的人和看完的人有限,但我觉得能把那些关于HarmonyOS的事儿解释清楚,足矣。
2021-01-25鸿蒙开发(五)
Ability
Ability是应用所具备能力的抽象
2.onActive()
Page会在进入INACTIVE状态后来到前台,然后系统调用此回调。Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态。Page将保持在此状态,除非某类事件发生导致Page失去焦点,比如用户点击返回键或导航到其他Page。当此类事件发生时,会触发Page回到INACTIVE状态,系统将调用onInactive()回调。此后,Page可能重新回到ACTIVE状态,系统将再次调用onActive()回调。因此,开发者通常需要成对实现onActive()和onInactive(),并在onActive()中获取在onInactive()中被释放的资源。
3.onInactive()
当Page失去焦点时,系统将调用此回调,此后Page进入INACTIVE状态。开发者可以在此回调中实现Page失去焦点时应表现的恰当行为。
4.onBackground()
如果Page不再对用户可见,系统将调用此回调通知开发者用户进行相应的资源释放,此后Page进入BACKGROUND状态。开发者应该在此回调中释放Page不可见时无用的资源,或在此回调中执行较为耗时的状态保存操作。
5.onForeground()
处于BACKGROUND状态的Page仍然驻留在内存中,当重新回到前台时(比如用户重新导航到此Page),系统将先调用onForeground()回调通知开发者,而后Page的生命周期状态回到INACTIVE状态。开发者应当在此回调中重新申请在onBackground()中释放的资源,最后Page的生命周期状态进一步回到ACTIVE状态,系统将通过onActive()回调通知开发者用户。
6.onStop()
系统将要销毁Page时,将会触发此回调函数,通知用户进行系统资源的释放。销毁Page的可能原因包括以下几个方面:
用户通过系统管理能力关闭指定Page,例如使用任务管理器关闭Page。
用户行为触发Page的terminateAbility()方法调用,例如使用应用的退出功能。
配置变更导致系统暂时销毁Page并重建。
系统出于资源管理目的,自动触发对处于BACKGROUND状态Page的销毁。
AbilitySlice生命周期
AbilitySlice生命周期回调与Page的相应回调类似,因此不再赘述。由于AbilitySlice承载具体的页面,开发者必须重写AbilitySlice的onStart()回调,并在此方法中通过setUIContent()方法设置页面。
Page与AbilitySlice生命周期关联
当AbilitySlice处于前台且具有焦点时,其生命周期状态随着所属Page的生命周期状态的变化而变化。当一个Page拥有多个AbilitySlice时,例如:MyAbility下有FooAbilitySlice和BarAbilitySlice,当前FooAbilitySlice处于前台并获得焦点,并即将导航到BarAbilitySlice,在此期间的生命周期状态变化顺序为:
对应两个slice的生命周期方法回调顺序为:
FooAbilitySlice.onInactive() -- BarAbilitySlice.onStart() -- BarAbilitySlice.onActive() -- FooAbilitySlice.onBackground()
在整个流程中,MyAbility始终处于ACTIVE状态。但是,当Page被系统销毁时,其所有已实例化的AbilitySlice将联动销毁,而不仅是处于前台的AbilitySlice。
文章标题:鸿蒙开发者日有奖问答答案的简单介绍
网站路径:http://hbruida.cn/article/dsiegcj.html