鸿蒙应用开发实战读书笔记,鸿蒙应用程序开发pdf

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

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

华为鸿蒙系统详解,没看懂或错过发布会的看这篇文章就够了

昨晚华为举行了鸿蒙2.0系统的线上发布会,正式版系统发布,将广泛应用于手机、电脑、平板以及各种家电设备甚至是 汽车 等等,废话不多说,接下来小麦就带大家来了解以下鸿蒙系统的定位。

真正的万物互联,用户自由调取软硬件

鸿蒙系统诞生以来一直想深耕于万物互联,这次的发布会进一步确定了鸿蒙万物互联的布局方式。鸿蒙在开发时重点应用了分布式技术,在鸿蒙的正式系统中加入了超级终端功能,用户不单单可以自由调取软件,还能自由组合调取硬件,什么意思呢?

关于软件给大家举个例子,假如我们在鸿蒙系统手机上安装了一款app,但是在pad或者电脑上没有对应应用,在我们想用平板或者电脑使用这个软件时可以直接调取手机的这个app而不用另外下载。

硬件方面和软件有点类似,还是给大家举一些简单的例子,我们一般的显示器没有很强的算力,比如现在卖的各种智慧屏是没有多少算力的,但是我们可以调用有强大算力的计算机,同时感觉智慧屏的音质不行,可以调用专业音箱来输出声音。当然鸿蒙系统远不如此,我们可以自由切换组合各种硬件设备输出硬件对应的优势,高清屏幕的画质、蓝牙耳机的声音、电脑的算力、pad方便的手写等等。

华为新的鸿蒙手表可以控制鸿蒙 汽车

万物互联当然少不了现在火热的新能源车和智能手表,从发布会的演示视频来看,华为新的Watch3可以控制搭载鸿蒙系统 汽车 的一些操作,而在此前华为就演示了手机的操控性能,现在鸿蒙2.0又做了大升级。更重要的,新款手表采用了esim的连接方式,可以独立使用,离开手机不影响任何功能,虽然这个方式不是全球首用,但是也正是得益于华为在通信领域的实力能够直接与运营商合作就能完成项目,此外该模式将成为拓展华为终端物联的方式。

终端物联方式将多样化

目前除了少部分产品,连接终端的方式主要还是蓝牙,随着esim和华为电力载波的广泛使用,相信终端的连接方式将越来越多样化,通过各种不同产品对于带宽的不同需求精准化使用将会大大提升效率,并且降低成本,现在的华为智能家居中其实已经在使用这样的功能了。

当以上功能实现AI智能化

华为其实前几年就在白皮书中将“云技术+人工智能+5G”定义为下一次工业革命,当然全球公认的工业4.0也早就做了类似的定义。 当以上的所有功能技术都拥有AI的能力会怎么样?还是举个简单的例子: 我们很多人喜欢玩 游戏 ,当我们回家坐在沙发上拿起 游戏 手柄,系统智能识别出来要玩 游戏 自动调取了计算机的算力、沙发前显示器的显示功能和蓝牙耳机的声音,可以直接开始随心所欲玩 游戏 ;又比如工作日我们戴着装载系统的手机或者手表靠近自己的车,天气预报显示今天天气较热, 汽车 自动打开了空调,走到车前车门自动开启,里面已经很凉快了;等等。

鸿蒙系统非常值得期待,虽然现在芯片领域被卡脖子,但是华为没有落下其他技术的发展,从目前来看,华为的生态布局完全可以媲美苹果和安卓甚至是超越,同时鸿蒙是开源的并且将源代码捐给了国家,将会有越来越多的开源资源加入其中,目前windows系统安装插件已经可以支持使用。最后是所有华为手机更新正式版鸿蒙的时间表。

华为鸿蒙手机应用开发上手体验

之前测试过使用华为DevEco开发智能电视应用。前几天华为发布了手机的测试版,不能免俗,抓紧尝试一下。

手头没有华为手机测试系统,现在试一下开发环境跑模拟器感受一下。

以前DevEco里是没有手机选项的,现在该选项可以看到了:

这里测试一下Business Card Ability(Java)开发。

DevEco和Android Studio一样基于开源的Idea版本开发的,其结构与安卓开发环境非常像,熟悉安卓的小伙伴应该能很快上手。

入口程序是一个MyApplication,从AbilityPackage继承。

它首先找到了连接的荣耀手机,但这个手机不是鸿蒙系统。

编译是成功了,但提示设备无法使用:

点击Tools - HVD Manager

首先提示登陆华为账号,登陆后,选择一个模拟器运行:

启动以后长这个样:

点击设置,先看看关于:

上面显示大大的HarmonyOS。但感觉画面很模糊,不知道模拟器到底是运行在本地的,还是云端的。但DevEco上显示是Remote Device字样。

鸿蒙OS版本号 2.0.0 Developer Beta1。

再点运行,在指定的模拟器上运行程序。

不过仍然运行失败:

鸿蒙OS版本与平板是一致的,

程序终于跑起来了:

看起来安卓程序好像真能在鸿蒙直接运行,安装一个快手试试:

还真能看:

我真分不清这是安卓还是鸿蒙了 。

华为鸿蒙操作系统深度解析

根据华为鸿蒙的时间推进表,2021年6月2日,华为将举办鸿蒙操作系统及华为全场景新品发布会。根据华为此前的介绍,相对于鸿蒙 OS 1.0 来说,鸿蒙 OS 2.0 可登录更多智能终端设备,在功能和构架上也会有全新的变化。

2020年报显示,华为在全球的终端连接数已超10亿,其中手机存量用户突破7.3亿,其中大约90%的华为的存量和在售手机,都可以升级鸿蒙系统。#鸿蒙#

HarmonyOS是一款面向未来的全场景分布式智慧操作系统。

对于消费者而言,HarmonyOS用一个统一的软件系统从根本上解决消费者面对大量智能终端体验割裂的问题,为消费者带来统一、便利、安全的智慧化全场景体验。

HarmonyOS技术架构支撑1+8+N战略。

在该战略中,1是手机,8包括平板、PC、穿戴、智慧屏、AI音箱、耳机、VR、车机,N是指万物互联。通过通信连接和应用打通,从手机的优势向外围延展,HarmonyOS技术架构起到了巨大的支撑作用。

在5月21日举行的华为生态大会2021中,华为轮值董事长徐直军强调:华为计划2021年将国内1+8的设备全面升级到Harmony OS,预计到2021年年底整体会超过2亿台。

鸿蒙操作系统的重要商业价值在于,提供了更多的“连接”,从而提升了华为硬件生态的附加值和内涵,将会实现华为系列硬件产品的互联乃至智慧城市的万物互联,并带动华为软硬件生态持续繁荣。

IoT是华为在产业物联网时代的重要布局,华为主要聚焦于基础设施领域。海量低成本终端设备连接需要保证连接可管可控,且全网连续覆盖,以及端侧(终端)、传输、云端安全。

华为已在云侧和端侧拥有升腾、鲲鹏、麒麟等芯片,具备强大算力,叠加鸿蒙操作系统高效、灵活的执行能力,将培育大量高价值应用。

鸿蒙操作系统与华为“云+端”芯片形成强大合力,形成杀手锏应用。

从技术、生态两角度看,操作系统对于ICT厂商而言具有重要意义,鸿蒙操作系统的推出,对华为、对我国自主可控进程的意义不言而喻。

借助鸿蒙操作系统,华为将在生态、硬件、先发+持续创新三方面体现竞争优势,成为5G+IoT产业领军。

1、基于微内核、分布式及跨终端的特性,HarmonyOS能更好的适应物联网时代的需求。

HarmonyOS是一款基于微内核的全场景(移动办公、运动 健康 、社交通信、媒体 娱乐 等)分布式操作系统。

鸿蒙操作系统最重要的特性就是“分布式”,即同一个操作系统可以在不同类型的终端上运行。

通过“分布式多端协同身份认证”来保证“正确的人”、通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”、通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”。

在IoT硬件领域,HarmonyOS革命性的分布式技术,还能帮助硬件厂商实现“产品即服务”的产业升级。对应用开发者而言,鸿蒙更加方便快捷。

目前,华为单系统的安全能力已经做到极致,成为业界第一个且唯一在微内核领域通过了CCEAL5+认证的厂家。

2、开源吸引更多生态伙伴加入

华为从2012年开始研发鸿蒙操作系统,鸿蒙OS以打造生态为目标,服务于华为的硬件产品。

2019年8月9日,华为正式发布HarmonyOS,同时余承东宣布,HarmonyOS实行开源。

HarmonyOS采用Apache licence开源协议,该协议不仅鼓励代码共享,还尊重原作者的著作权,更容易吸引商业进入。

全球开发者均可以使用鸿蒙开源工具包开发各式应用。同时华为也拿出10亿美金作为基金,帮助全球开发者开发创新应用。

此前三星、微软、诺基亚均在闭源操作系统的尝试中失败,而选择开源路线的google,其安卓系统成功抵抗住苹果的iOS系统,成为目前移动端用户最多的开源系统。

3、华为技术积累和海量生态是HarmonyOS发展的保障。

鸿蒙从与硬件的捆绑协同来看,亦类似于苹果;从免费开源的角度看,与安卓相像。

从财报拆分来看,苹果尽管不直接销售操作系统,但是它通过操作系统产生的增值收入超过了150亿美金;谷歌通过操作系统相关的增值业务收入和授权收入超过几十亿美金。

HarmonyOS 2.0与IOS及安卓的区别:

无论是谷歌的安卓还是苹果的IOS,实现收入主要是通过广告和APP销售额提成两种模式。目前阶段鸿蒙系统能达到安卓70 80%水平,HMS生态已经成为全球第三大应用生态。随着后续HMS生态的逐渐成熟,凭借HarmonyOS庞大的终端数量,HMS生态有望成为华为新的收入引擎。

鸿蒙操作系统有望在物联网时代加速国产化方案整合与整体落地进度,国产软硬件自主可控动能加速释放,华为自主可控阵营的合作伙伴有望在鸿蒙生态体系的快速扩张路径中持续受益。

HarmonyOS生态已经发展了美的、九阳、老板、润和软件和中科创达等1000多个智能硬件合作伙伴,50多个模组和芯片解决方案合作伙伴,包括家居、出行、教育、办公、运动 健康 、政企、影音 娱乐 等多个领域的合作伙伴。

目前华为与全球TOP 200的APP厂商也在沟通合作,旨在为他们带来全新的跨终端设备的体验。

京东、百度、优酷、科大讯飞、金山办公等120多家知名应用厂商已开始基于HarmonyOS进行创新,让消费者获得颠覆性的智慧生活体验。

华为生态及整体自控主题相关公司包括金山办公,用友网络,金蝶国际等。东方通(中间件)、中科创达(系统开发),润和软件(多芯片平台适配)、常山北明(ISV)、诚迈 科技 (软件开发)、北信源(移动安全)、高伟达(金融云)等。

华为智慧生活APP活跃用户超过5,400万,智慧生活APP每日请求数超过10.8亿次,连接设备超过10亿台。随着HiLink与HarmonyOS的进一步统一,这或许有望进一步提升鸿蒙接入设备的数量。

鸿蒙OS未来将会承担起华为一系列包括电视、音箱、路由器、智能 汽车 等硬件产品的互联,乃至智慧城市的万物互联,组成更大的华为软硬件生态。

鸿蒙操作系统应用笔记211211A

不同应用在各自独立的进程中运行。当应用以任何形式启动时,系统为其创建进程,该进程将持续运行。当进程完成当前任务处于等待状态,且系统资源不足时,系统自动回收。

在启动应用时,系统会为该应用创建一个称为“主线程”的执行线程。该线程随着应用创建或消失,是应用的核心线程。UI界面的显示和更新等操作,都是在主线程上进行。主线程又称UI线程,默认情况下,所有的操作都是在主线程上执行。如果需要执行比较耗时的任务(如下载文件、查询数据库),可创建其他线程来处理。

如果应用的业务逻辑比较复杂,可能需要创建多个线程来执行多个任务。这种情况下,代码复杂难以维护,任务与线程的交互也会更加繁杂。要解决此问题,开发者可以使用“TaskDispatcher”来分发不同的任务。

TaskDispatcher是一个任务分发器,它是“能力”分发任务的基本接口,隐藏任务所在线程的实现细节。

为保证应用有更好的响应性,我们需要设计任务的优先级。在UI线程上运行的任务默认以高优先级运行,如果某个任务无需等待结果,则可以用低优先级。

线程优先级:

① 高优先级 HIGH

② 默认优先级 DEFAULT

③ 低优先级 LOW

TaskDispatcher具有多种实现,每种实现对应不同的任务分发器。在分发任务时可以指定任务的优先级,由同一个任务分发器分发出的任务具有相同的优先级。

系统提供的任务分发器有:

① 全局并发任务分发器 GlobalTaskDispatcher

② 并发任务分发器 ParallelTaskDispatcher

③ 串行任务分发器 SerialTaskDispatcher

④ 专有任务分发器 SpecTaskDispatcher

3.1,全局并发任务分发器,由Ability执行getGlobalTaskDispatcher()获取。适用于任务之间没有联系的情况。一个应用只有一个GlobalTaskDispatcher,它在程序结束时才被销毁。

3.2,并发任务分发器,由Ability执行createParallelTaskDispatcher()创建并返回。与GlobalTaskDispatcher不同的是,ParallelTaskDispatcher不具有全局唯一性,可以创建多个。开发者在创建或销毁dispatcher时,需要持有对应的对象引用 。

3.3,串行任务分发器,由Ability执行createSerialTaskDispatcher()创建并返回。由该分发器分发的所有的任务都是按顺序执行,但是执行这些任务的线程并不是固定的。如果要执行并行任务,应使用ParallelTaskDispatcher或者GlobalTaskDispatcher,而不是创建多个SerialTaskDispatcher。如果任务之间没有依赖,应使用GlobalTaskDispatcher来实现。它的创建和销毁由开发者自己管理,开发者在使用期间需要持有该对象引用。

3.4,专有任务分发器,绑定到专有线程上的任务分发器。目前已有的专有线程为UI线程,通过UITaskDispatcher进行任务分发。

UITaskDispatcher:绑定到应用主线程的专有任务分发器, 由Ability执行getUITaskDispatcher()创建并返回。 由该分发器分发的所有的任务都是在主线程上按顺序执行,它在应用程序结束时被销毁。


当前名称:鸿蒙应用开发实战读书笔记,鸿蒙应用程序开发pdf
URL地址:http://csdahua.cn/article/dsijcej.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流