鸿蒙设备开发题库,鸿蒙系统开发指南

此时此刻,鸿蒙时刻——再说华为鸿蒙系统的那些事儿

2021年6月2日,对于华为和很多关心华为的人来说,都是一个重要的日子,因为千呼万唤的华为鸿蒙操作系统(HarmonyOS)正式发布,虽迟但到。就像HDC 2019上鸿蒙初次发布那样,准随着它的争议从未消失,且更随着手机鸿蒙系统的推出在即,有愈演愈烈之势。

成都创新互联公司客户idc服务中心,提供多线服务器托管、成都服务器、成都主机托管、成都双线服务器等业务的一站式服务。通过各地的服务中心,我们向成都用户提供优质廉价的产品以及开放、透明、稳定、高性价比的服务,资深网络工程师在机房提供7*24小时标准级技术保障。

在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的事儿解释清楚,足矣。

鸿蒙系统,是我们战斗的姿势

尘埃落地,在冲破了谷歌封锁、突破的技术壁垒,以及市场的质疑之后,华为鸿蒙操作系统2.0版本在6月2日正式发布, 这也意味着鸿蒙系统已经正式面向市场。据华为官方宣布,目前已有300多家合作伙伴加入鸿蒙生态。

近日,有媒体报道,华为手机的部分机型将升级到新系统,有些特别的机型甚至早就用上了鸿蒙系统,华为WATCH3的出现,意味着鸿蒙设备的万物互联拉开了帷幕。

它是否是安卓的套壳?它的流畅度和系统底层是否稳定?以及对现有安卓生态的适配是否兼容?值不值得我们去使用它?针对这些疑问,随着6月2日发布会的正式交付,这一切疑问都烟消云散。

鸿蒙伊始万物互联,这是华为的鸿蒙的初衷。华为鸿蒙系统是一个分布式操作系统,适用于所有场景。这与苹果的iOS和谷歌的Android不同!鸿蒙系统是为所有设备设计的,可以部署在众多的终端上。它是一种新型的智能终端操作系统,并有信心在未来应用于1 + 8 + N全场景终端设备。

鸿蒙系统开发时间可以追溯到2016年,也就是说,华为花了六年时间开发系统!

华为颇有先见之明的整合成立了“2012实验室”,这个名字来源于电影《2012》的前沿技术研究部门,开始载着华为驶入自主研发的快车道,之后在研发上的全方位突破更是奠定如今华为通信领域领导者的基石。

2012年,鸿蒙诞生的关键人物王成录调任2012实验室中央软件部总裁,并启动了鸿蒙的研究。在当年的一份《任总与2012实验室干部与专家座谈会纪要》里,任正非说过这样一段话:“我们做操作系统,和做高端芯片是一样的道理。主要是让别人允许我们用,而不是断了我们的粮食。断了我们粮食的时候,备份系统要能用得上。”为华为开发手机操作系统盖上了“备胎”的印记。2017年,初次被提及的鸿蒙内核完成技术验证。2018年,华为加速鸿蒙的研发进程,鸿蒙内核用于终端TEE。2019年,鸿蒙基本完成,随着华为被美国列入了“实体清单”,各大公司陆续断供,原计划于2020年面世的鸿蒙提前出现在了公众面前。

备胎终于转正,“鸿蒙”由此取代5G成为了公众眼中华为的代名词。

华为鸿蒙的出现,固然是备胎转正,但也不能否认其技术的先进性和技术水平。我们不能总在国外的 科技 巨头前面俯首帖耳,不能总走在别人制定的标准下。鸿蒙的崛起,也是中国技术的崛起,在这一点上,还是很值得国人骄傲和自信的。

如今,华为想打破美国设定的各种技术标准,华为被列入实体清单,这也符合国外有些 科技 巨头的初衷。

网上依旧有很多质疑,尤其是程序员。为什么他们会质疑鸿蒙的呢?在谈论这个问题之前,我们就有必要了解华为与华为与竞争对手对抗的 历史 。

首先,华为对抗爱立信思科等巨头,众所周知,华为最初靠销售生产制造用户交换机(PBX)等通信设备开始的。当时,中国电信市场的交换机主要由美国的朗讯和思科提供。由于国外的设备价格以及对国内企业的限制和封锁,任正非高瞻远瞩,决定自己开发交换机。

与竞争对手竞争的过程中,华为坚持研发和创新,宣传自己产品的优越性,这引起了大多数国内技术人员的蔑视。在这些技术人员看来,华为的交换机都是贴牌,有什么技术可言?

但最终呢?华为以卓越的产品赢得了市场。像爱立信和思科这样的公司现在在某些领域模仿华为!爱立信长期以来作为通信行业的领导者,曾经引领着行业潮流,但华为凭借自己的技术创新将爱立信踩在脚下摩擦。

其次是华为与高通的斗争,华为和高通的关系可以说是 “爱恨交织 ”!在3g和4g时代,华为因依赖高通而受到高通的钳制。然而,进入5g时代后,华为凭借其在5g领域的先发优势改变了局面。更不用说,华为现在已经完全超越了高通,至少现在与高通不相上下!甚至当高通首席执行官史蒂夫·莫伦科夫来到中国时,他也称赞华为,并表示要加强与华为在中国5g市场的合作。

我们面前的事实是,华为成长成为巨人,但是为什么一些技术人员仍然需要抱怨华为麒麟呢?很多程序员认为高通芯片比华为麒麟芯片性能更好,可能是因为他们使用高通芯片!

然而,这些程序员忽略了一点,华为的竞争对手是高通、爱立信,甚至是谷歌和苹果,他们比我们多了几十年的技术积累。对我们来说,作为一个中国人,当中国企业崛起时,我们应该为他们加油欢呼,更何况是现在华为的麒麟未必比不上高通。

回到主题,那为什么有一群人看不起华为的鸿蒙系统?因为他们认为华为又在吹牛逼。

据华为介绍,鸿蒙系统于2016年投入研发。到现在已经五年了,但它仍然没有正式公布,这被认为是猜测!这种说法是完全站不住脚的。华为推出鸿蒙系统的背景是基于美国对华为施加的各种限制。为了摆脱这一限制,我们别无选择,只能提前将 “备用轮胎” 转为正式商用!

一些程序员从一开始就看不起华为,发现鸿蒙系统的代码中有几个安卓单词立即达到了高潮。但这不是问题的本质。

鸿蒙将是一个跨时代的操作系统。鸿蒙需要建立一个完善的生态系统,不仅要有自我创新,还要能够博采众长,因此,鸿蒙的代码中有几个安卓的单词是可以理解的!

值得一提的是,到年底,鸿蒙系统将在3亿台设备上部署,包括2亿台手机、平板电脑、手表、智能屏幕、智能音箱、合作伙伴设备等。别忘了IBM也很喜欢吹牛,但关键是问题是吹完牛要能实现,这也是华为的伟大之处。

为什么大多数网民相信鸿蒙的一定会成功。网民有理由质疑,因为鸿蒙系统迟迟推迟发布,被一些网民描述为PPT系统。年初,一些代码出现在互联网上,从事技术的程序员认为这是 “安卓外壳”!大多数网民对技术了解不多,但他们信任的是华为,华为作为国内的一个伟大的 科技 公司,挑战过众多的伟大的公司,每次它都扮演着霸气的角色! 历史 证明这是一家可以做出可靠项目的公司。他让我们从它身上,看到一个伟大企业的坚韧,自信以及脚踏实地,对比国内的其他高 科技 企业,无疑可信得多。

中国需要这样的公司和企业,国家也一直强调要把一些核心技术掌握在自己手里,只有将更多的核心技术掌握在自己手中,我们才不会受制于他人。

目前,操作系统无疑是中国高 科技 发展的一个关键点。华为鸿蒙的诞生承担了时代的使命。

我们应该认识到形式的严峻。目前全球的手机操作系统主要是苹果的iOS和谷歌的Android,两者都是美国 科技 公司,电脑操作系统主要基于微软的Windows系统,这也是一家美国公司。

如果将来情况会进一步恶化,而我们的对手将不再让我们使用操作系统,我们该怎么办?你必须等到那时候才记得我们还有一个 “鸿蒙系统” 吗?

鸿蒙应该高调入场吗?

许多人说华为非常擅长营销?但我想说的是,“酒香也怕深巷”!现在是互联网时代。如果你不了解市场营销,不管产品有多好,很多人都不会知道。在这之前,很多人知道华为手机,又有多少人知道华为用的什么操作系统。

其次,从许多技术人员的角度来看,操作系统开发的难度并不高。真正困难的是生态的建设,这解释了为什么鸿蒙体系应该有点高调。安卓的成功不是谷歌单方面的原因,而是其生态提供商共同作用的结果。之前的诺基亚和微软的失败,不就是因为生态建设的原因吗。同样,华为的鸿蒙也将经历这条漫长的道路。

如果华为想在短时间内快速建立一个生态系统,鸿蒙必须高调!只有高调的宣传才能吸引更多来自世界各地的开发商参与鸿蒙生态的建设!

至于系统,我们和华为都不能承受鸿蒙的失败,华为选择了最安全的过渡方法,从支持安卓开始,如果最终的鸿蒙的生态建设失败,它也至少能与安卓兼容,这减少了多少风险。但这就是重点。许多从事技术的程序员抓住这一点抱怨!他们大概是笼罩在谷歌这样的巨头光环下太久了,从而判断失误,真是有点奇怪的想法!

尽管华为在短期内会遇到一系列问题,但随着时间的推移,随着国内生态的逐渐完善。华为会做得越来越好!

国人有个习惯,对于与自己无关的事,并不关心,但现在,形式已经不一样,它会影响我们的日常生活了,还是做个有心人吧。

一切都必须从头开始。是的,从坏到好; 如果我们不相信自己,我们期望谁相信我们?

从美国开始限制中国 科技 公司以来,这场战斗已经开始了!既然外国敌人已经来了,我们就应该全力反击!

2021-02-05鸿蒙开发(二.五)

Intent

Intent是对象之间传递信息的载体。当一个Ability需要启动另一个Ability时,或者一个AbilitySlice需要导航到另一个AbilitySlice时,可以通过Intent指定启动的目标同时携带相关数据。Intent的构成元素包括Operation与Parameters。

Intent的构成元素

Operation

Action: 表示动作,通常使用系统预置Action,应用也可以自定义Action。例如IntentConstants.ACTION_HOME表示返回桌面动作。

Entity:表示类别,通常使用系统预置Entity,应用也可以自定义Entity。例如Intent.ENTITY_HOME表示在桌面显示图标。

Uri:表示Uri描述。如果在Intent中指定了Uri,则Intent将匹配指定的Uri信息,包括scheme, schemeSpecificPart, authority和path信息。

Flags:表示处理Intent的方式。例如Intent.FLAG_ABILITY_CONTINUATION标记在本地的一个Ability是否可以迁移到远端设备继续运行。

BundleName:表示包描述。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

AbilityName: 表示待启动的Ability名称。如果在Intent中同时指定了BundleName和AbilityName,则Intent可以直接匹配到指定的Ability。

DeviceId: 表示运行指定Ability的设备ID。

当Intent用于发起请求时,根据指定元素的不同,分为两种类型:

如果同时指定了BundleName与AbilityName,则根据Ability的全称(例如,“com.demoapp.FooAbility”)来直接启动应用。

如果未同时指定BundleName和AbilityName,则根据Operation中的其他属性来启动应用。

深度解析:华为的鸿蒙系统和你想的可能完全不一样

(杭州健澜 科技 有限公司编辑:张景领 全文约4390字,预计12分钟可以读完)

华为的鸿蒙(Harmony OS)系统正式发布了,在发布会之后意料之中的出现了两极分化的评论趋势,说什么的都有,像什么忽悠人、改别人的、手机不能用等等,但如果你仔细去分析发布会上有关鸿蒙系统的全程内容,你会发现它和大多数评论中的那个“系统”是不一样的,大家不要盲目去诋毁“鸿蒙系统”,同时也不要肆意吹捧,否则很容易变成“捧杀”,在参与讨论之前,我觉得大家有必要先搞清楚,它是一个什么样的系统。

在发布会上,他们用了很多专业的名词进行功能解释,我相信这是大多数观众听不懂的,甚至大多数媒体的编辑也听不懂,在这种背景下,不管是吹捧的,还是诋毁的,都没在靠谱的频道上。

以下为我个人对鸿蒙(Harmony OS)系统的理解,现在就分享给大家:

目前我们正在使用的各种智能设备,如:手机、PC电脑、平板电脑、智能手表等,它们全都有自己的系统,即使是同一个品牌下的产品,也会有专门为它定制的系统,如苹果公司:

手机 iOS

电脑 MacOS

手表 watchOS

电视 tvOS

平板 iPadOS

虽然苹果公司将它们之间的互动做得很好,但仍然需要大量的人工来编写和维护不同的系统,站在开发者的角度来看,可能需要针对不同的平台调整不同的架构和UI,这是一个比较耗时的工作。

在使用的过程中,不同设备之间的系统需要去判断你的操作,然后根据不同的平台,不同的操作来给你调用不同的程序来执行,对苹果产品来说,自家产品之间互通体验还算不错,但如果和安卓设备或windows设备之间互动就显得麻烦很多,早期用苹果手机的人,想把照片拷贝到电脑上都很费劲,甚至这是很多苹果手机用户需要学习的第一课“如何把照片复制到电脑上”。

对Android系统的设备来说就更别提了,除了系统的碎片化之外,不同厂商之间都有自己的规则,没有一个统一的标准,再加上乱七八糟的第三方APP,导致安卓设备体验极差,相互之间想要达到完美契合的程度,需要比苹果付出更多人力和时间,所以很多大 游戏 或是应用,都是最新上架苹果商店,更新也是苹果设备先更新,因为相对来说,苹果系统更容易维护。

Android系统现在看上去还不错,但其实它有个很狼狈的过去。我学过软件开发,学会网站编程,学过数据库等N种编程语言,甚至稍微有那么一点点开发经验的人都会知道,如果你去修改一个别人的程序,如果这个程序一直在被不同的人,不同的时期维护,这里面就会出现大量的垃圾代码。

有垃圾代码不可怕,可怕的是谁也不敢动,不敢删。这些垃圾代码虽然看上去没用,但说不定某一条就与另一个指令相连,如果你删了就会产生连锁反应,甚至会导致系统崩溃,所以比较稳妥地做法就是,在不改变原有代码的情况下,把自己想要的功能再加进去,备注上自己的名字。

这会造成什么问题呢?我们举个例子:

你想从16楼到1楼拿快递,原本只要从固定的电梯直接到1楼即可,也就30秒不到,结果你从家出来发现楼道有30个电梯,上了一个之后发现它只到13楼,你只好下来再进另一个,运气好能到1楼,运气不好估计还得在6楼停一下,运气最差的情况你可能坐了20个电梯都还没到1楼。

这就是垃圾代码带来的副作用,现在的Android就是这个情况,大家都知道有垃圾代码,也知道它会影响运行效率,但谁也不敢动,或者说谁也不会去动,都不想承担系统崩溃的风险,这是人之常情。

华为的鸿蒙系统提出一个“微内核”的概念,其实这个谷歌新系统Fuchsia OS就是微内核的系统,它们希望用这个全新的系统来替代Android这种老弱病残的现状,因为它身上的顽疾太多了,还是没药可救的那种。

这种“微内核”的系统最大的好处就是,可以让开发者提交的应用,最方便、最快地适配所有硬件,这对消费者来说也有非常大的好处,你可以第一时间更新你手里的所有智能设备,类似苹果每年的大版本系统更新,几乎全球的用户都可以同时更新,这是国内Android用户这辈子都体验不到的,所以我们只能寄托于新的系统。

Harmony OS 鸿蒙,基于微内核的全场景分布式OS。

“基于微内核的全场景分布式OS”这句话是重点,它不是一个专门为单独设备准备的系统,它是一个平台式的系统,可以通过中心网络派发资源和功能,所有功能又可以单独使用,灵活多变但统一和谐。

我们再来深入地拆解一下鸿蒙系统,它与普通系统最大的不同之处在于,它在运行程序的一开始并不是直接执行所有内容,而是先判断你是什么设备,然后直接走单独的通道去执行,而所执行的这些程序,不管你是电视、电脑、还是手机,它们用的都是同一套系统,只是在最开始的时候选择了一下设备,这个系统并不是给某种设备单独定制的,而是一个通用的系统。

这样做的好处就是,每次你需要维护的时候,只需要把第一层的东西做升级,下面的底层是不用动的。这就好像系统是一台CD机,不管谁家的CD都可以在我这里播放,只要你按统一的Copy程序做的光盘就行了,如果你想听其他人的音乐,只要换张CD即可。

而以往的系统就比较麻烦,如果你想换一张CD,可能需要针对这张CD去制造一台CD机,最差也得把这台CD机修改成可以播放的样子。

除了设备间的独立之外,它会让硬件本身的功能成为系统可以调配的东西,比如手机上的摄像头,它甚至可以通过系统间的调度被电视或手表使用,因为它们用的是同一个系统,所以具备了相互通信的能力。

你们有没有看过《速度与激情》这部电影,它里面的天眼系统其实就是在调配所有生活周边的摄像头来获取画面,从而准确地追踪到目标人物。虽然鸿蒙还没有这么高级,但它已经是个雏形了。

相信很快我们就可以用家里的电视屏幕当大疆无人机的显示屏用了,这会给我们带来无限的 娱乐 空间。

当然要实现这种功能上的调用需要二个条件,第一个就是必须是采用了鸿蒙系统的硬件;第二就是必须登陆了相同的华为账号。这里面涉及到了另一个生态的问题,我们后面再讲,还是先说系统。

可以单独调配资源的另一个好处就是,它可以像我们现在的智能路由器一样,根据你正在做的事情来给你不同的性能。如果你正在玩 游戏 ,它可能会保证你玩 游戏 的同时,再去帮你升级一下系统,但它还不能影响你的网速;如果你正在看视频,在这种几乎不需要性能的场景时,它可能会在后台帮你彻底杀毒或自检一次,这种优化能力其实现在的手机也可以做到,但这个逻辑本身就是吃性能的,所以当它以系统的一部分出现的时候,才是最完美的。

这功能其实你是看不到的,但从其它地方你也可以间接发现,如:费电小了、发热小了、打开东西更快了、不用老去清理缓存了,蓝牙耳机玩 游戏 或许都没延时了(我发现了一些端倪,他们已经在做蓝牙耳机玩 游戏 降低延时的测试了,EMUI 10.0见)。

至于系统安全性方面,我并不是专家,所以在这里没办法给大家更深度的普及,但我可以说一下我个人的理解。鸿蒙系统这类微内核的系统,本身是非常小巧的,代码量也不大,所以它可以用到更深度的安全级别措施。

另外它天生就没有root权限,也就是说不会给任何第三方应用或个人系统最核心的权限,这也算是最大限度的保证安全的措施之一了。可能很多人说手机不能root就没什么可玩性了,但我个人认为没有是对的,因为这样可以最大限度的保证系统的安全以及流畅性。

可能你们还没注意到,很多手机第三方主题、字体、甚至动态壁纸,都会明显影响手机的流畅性,这里面字体的影响是最大的,很多莫名卡顿的现象换成系统默认字体立刻就好了。

我们来看一下鸿蒙OS的整体结构,其实它仍然保留了Linux内核,这样一来就可以直接兼容安卓应用,这在初期是非常重要的,毕竟不能让用户买回来没得用,在这段过度期中间,华为方面肯定会联合各大主流厂商定制属于鸿蒙OS的专用APP,这才是发挥它性能的最佳方式。

也就是说,在兼容安卓APP的这个时间里,它的威力还没办法完全施展出来,当那些采用“方舟编译器”开发的应用上线之后,才能发挥它至少八成以上的实力,当鸿蒙OS的生态建立完全时,才可以发挥接近100%的实力。这也是我为什么说,鸿蒙OS需要时间来沉淀,它不可能一上来就是满血状态。

我们可以理解为,现在所有用“方舟编译器”开发的应用,都可以在鸿蒙OS中发挥最快的效率。

当使用方舟编译器的应用足够多时,或者说90%以上常用APP都有方舟编译器的版本时,鸿蒙OS的底层会完全抛弃Linux内核,只保留鸿蒙微内核,这个时候才是鸿蒙(Harmony OS)系统正式独立且完全独立的日子,这一天才是它的真正崛起的日子。

为了早日实现这一天,其实华为方面下了很多功夫,甚至他为开发者提供了非常舒服的便携环境,很多基础操作都可以直接用拖拽的方式来完全设计,模块化编程是未来的趋势,我这种曾经只会手动敲代码的老古董已经被淘汰了。

它可以让你一次开发,同时适配所有搭载了鸿蒙OS的设备,这是无数安卓开发人员的梦想,只可惜在安卓系统上已经没办法实现了。

我估计后面华为会为开发者提供不错的奖励措施,有奖励,有平台,有目标,有未来,生态成型基本上就是时间问题。

【产品的诞生】

现在的鸿蒙OS是可以用在手机上的,但支持的APP并不是很多,而且生态还没有建立起来,这些都需要时间,之前我和瓦力读者说是2年时间,这与发布会上华为方面的规划基本是吻合的。

现在拿出鸿蒙OS的目的很简单,告诉大家鸿蒙OS并不只是PPT,它已经是完整的系统了,顺便让那些喷子闭嘴。另一个原因是,它的电视用上了鸿蒙OS,没必要藏着掖着,同时也是给那些应用开发者一个定心丸,让他们可以放心为鸿蒙OS开发应用。

这里有一个“因素”很重要,如果明天美国不让华为用安卓系统了,鸿蒙OS就必须提前应用到手机上,这是一个没办法的备选方案,至少可以用,虽然和常规安卓没什么大区别。

但如果换了另外一个厂商,如小米、OPPO、vivo等,这几乎是毁灭性的打击,所以防患于未然是必须要做的。但小米他们暂时没办法弄自己的系统,因为这需要很多钱,很多人,很多时间,即使有一天美国禁止全中国的手机厂商使用安卓系统,其实鸿蒙OS也可以给大家用,与其说它是华为的应急方案,倒不如说是全中国手机厂商的应急方案,其实如果不是万不得已,华为也不想这么早就把鸿蒙OS用在手机里,时间点太靠前了。

到了2020年,鸿蒙OS会被用到笔记本电脑、手环、手表中,2021年才是应用到手机上的最佳时机,那时候有没有安卓系统都已经无所谓了。这样做也是为了先把生态和周边做好,手机出来的时候,可以直接整合,用户上手就是完全版本的体验,这也是最稳妥的方式。

如果你对手机系统或是手机行业有一些了解,相信看完我上面的分享之后应该明白了,鸿蒙(Harmony OS)的目标根本不是Android,而是谷歌正在开发的Fuchsia OS,以及苹果正在部署的相应系统。

所以那些经常用Android来和鸿蒙(Harmony OS)说事的人,应该换换思路,是时候接轨下一代系统了。


本文名称:鸿蒙设备开发题库,鸿蒙系统开发指南
当前URL:http://abwzjs.com/article/dsiiioo.html