2.5 全场景开发的优点和痛点 原创 精华
这一节,我们不讲代码,不讲招式,但是我们讲心法。心法入门了,后续开发才能游刃有余。
2.5.1 鸿蒙系统诞生的历史必然性
鸿蒙系统刚推出的时候,出现了不少质疑的声音,其中,说鸿蒙系统是“安卓套壳”的比较多。听起来似乎有点道理。我的手机从安卓EMUI升级到鸿蒙2.0后,界面似乎也没什么大的改变。但是,仅从界面的差异就得出这个结论,稍显肤浅。
鸿蒙要想从安卓和iOS这两个老牌霸主的夹缝中成长起来,必须慎重的选择战略和战术。
“战略”上,华为采取了中国“静若处子,动若脱兔”的策略,在本章“2.1.4 关于仓颉、欧拉”这一节,提到过早在二十多年前,华为就定下了“不惜代价投入重金研发,要将核心技术掌握在自己手里”的备胎计划。 2012年,华为开始规划自有操作系统“鸿蒙”。 “事以密成”,华为秘密研发“鸿蒙”系统多年,但是对外秘而不宣,所谓“潜龙勿用”。直到2019年8月,华为开发者大会(HDC.2019)上正式发布鸿蒙操作系统。本人很有幸参加了这次开发者大会,至今仍清晰记得,当华为消费者业务CEO余承东宣布这一消息时,全场欢呼的激动时刻!
此后,大家见证了鸿蒙系统的快速崛起,短短两三年时间,鸿蒙系统搭载总量就超过了3亿台。 鸿蒙系统很快在谷歌安卓与苹果iOS这两座大山的夹缝中拿到了16%以上的市场份额, 这个表现要远超曾经的谷歌安卓与苹果iOS,所谓“飞龙在天”!
鸿蒙系统能以这么优异的成绩获得广大用户的选择,与华为的平稳过渡“战术”是分不开的。如果仅为了证明自己和安卓不同,就刻意标新立异,采用一个用户需要重新适应的UI风格,是不明智的,也与华为“以人为本”的服务理念不匹配。等到鸿蒙用户足够多时,鸿蒙系统引领新的UI风格也不是不可能。在本人看来,敢冒着“安卓套壳”的质疑风险,仍然这么做,说明华为对于鸿蒙“全场景分布式物联网操作系统”本质的深深自信!简单地说,鸿蒙与安卓,形似而神不似。
主观上,鸿蒙的诞生是华为预防欧美技术垄断的自救措施。而客观上,鸿蒙系统的诞生却是具有历史必然性的。
随着科技的进步,智能设备诞生了电脑、智能手机、智能穿戴、智能家居等等,每种设备的软、硬件自成体系,单手机操作系统而言,就出现了iOS(苹果)、安卓(谷歌)、windows phone(微软)、Symbian(诺基亚)、BlackBerry OS(黑莓)等,每种智能设备配套的App也五花八门,像极了中国古代的春秋时期“百家争鸣”,随着市场竞争日益激烈化,有些系统已经淡出了,像极了战国争霸时期。
对于用户而言,更多的设备出现,丰富了他们的选择,却也带来了一个日益严峻的问题,众多设备就像是一个个的孤岛,它们之间是割裂、各自为战的;手机上越来越多的App也让桌面变得日益复杂。三国演义中有一句富含中国哲学的话“合久必分,分久必合”。当更多选择的后遗症越来越严重时,是一统江山的时候了,鸿蒙,应时代需要而生。让万物不再是孤岛,万物互联,让“1+8+N”设备和谐运行在同一个生态之下!
宇宙混沌 ,鸿蒙初开,史诗级的浪漫!
2.5.2 全场景开发的优点
鸿蒙官网上对鸿蒙系统有一句很精准的系统定位:HarmonyOS是一款面向万物互联时代的、全新的分布式操作系统。
区别于传统的单设备系统能力, 鸿蒙系统提出了基于同一套系统能力、适配多种终端形态的分布式理念,能够支持手机、平板、智能穿戴、智慧屏、车机等多种终端设备,提供全场景(移动办公、运动健康、社交通信、媒体娱乐等)业务能力。
搭载该操作系统的设备在系统层面融为一体、形成超级终端,让设备的硬件能力可以弹性扩展,实现设备之间硬件互助,资源共享。在鸿蒙的“1+8+N”的布局中,“1”指的是智能手机。手机的优势是便携,在日常生活中,手机通常是与我们形影不离的,但是手机的弊端也很明显,比如,看电影大片时屏幕不够大,听音乐时音质不够震撼。而“8”指的是“ 平板、PC、大屏、手表/手环、耳机、音箱、车机、AR/VR ”,是和我们除手机外使用比较密切的设备,每种设备都在特定场景下具有独特优势。如,大屏适合看大片,音箱音质更震撼。那么,能否将这些好的终端特性赋能给手机,让手机成为一个超级终端呢?答案是:能!
鸿蒙系统的分布式软总线技术是基于华为多年的通信技术积累,在“1+8+N”设备间搭建一条“无形”的总线。全场景设备间可以基于软总线完成设备虚拟化、跨设备服务调用、多屏协同、文件分享等分布式业务。 通过软总线,在手机上看大片时,将画面扭转到智慧屏上,这个不是传统的简单投屏,而是调用智慧屏作为手机的显示屏。同时,可以流转声音到音箱。如果我们有多部手机拍摄视频,可以利用多机位模式,在主拍摄手机上调用另一个机位的手机摄像头实现多机位无缝拍摄。
我们可以想象这样一个场景:
周末,想在家里看一部恐怖电影,通过超级终端特性,手机画面扭转到智慧屏上,声音扭转到音箱上,电影开始后,家里的电灯自动暗下来了,窗帘也自动关上了,播放到3分5秒时,智慧屏上有一个人落水,水花溅起时,你座椅前的智能喷水器真的将水喷到你的身上…到了8分17秒的时候,“猛鬼”将要出现,这个时候,家里的电灯开始狂闪,空调偷偷送来了冷风,而你的座椅开始震动,音箱里传来令人心跳的恐怖声音…通过鸿蒙系统的超级终端特性,这些令人心动的观影体验,在家里就能实现。如果在一些大型商场开设这样的体验馆,会不会很有商机呢?大家可以脑洞大开,在留言区畅谈下你的创意!
在鸿蒙的“1+8+N”的布局中,“N”指的是其它更多加入了HiLink生态的设备。有没有“一生二,二生三,三生万物…”的味道?
在这里,我想对鸿蒙系统的架构师团队致敬!大胆进取的天才想法,而又不失中国文化的深厚底蕴。
2.5.3 全场景开发的痛点
全场景的体验,对于用户而言,无疑是充满诱惑的。然而,对于开发者而言也提出了新的挑战。
由于不同设备在设备尺寸,设备显示能力(分辨率、显示色域等),交互方式(触摸、语音等),交互时长等方面存在差异,开发时,在“手机/折叠屏/平板/车机/智慧屏/智能穿戴”等设备上,为了达到每种设备上的最佳用户体验,在色彩、对比度、字号、间隔等方面需要个性化设置。
在前面“2.3 ArkUI App设计规范”这一节中,介绍了“HarmonyOS UX设计三要素”, 当为多种不同的设备开发应用时,需要从“差异性、一致性、协同性”这三个方面进行综合考虑和权衡。
如果为每个设备开发一套UI,开发工作量势必增加太多。显然,这个做法是不可取的。
2.5.4 全场景开发的正确姿势
鸿蒙官方建议面向开发者,实现一次开发,多端部署。 对应用开发者而言,HarmonyOS采用了多种分布式技术,使应用开发与不同终端设备的形态差异无关,从而让开发者能够聚焦上层业务逻辑,更加便捷、高效地开发应用。
一套操作系统可以满足不同能力的设备需求,实现统一OS,弹性部署。
对设备开发者而言,HarmonyOS采用了组件化的设计方案,可根据设备的资源能力和业务特征灵活裁剪,满足不同形态终端设备对操作系统的要求。
在基于ArkUI eTS 的App开发过程中,希望大家首先“心态归零”,忘记过去传统的单设备系统App开发的习惯。北派开发中,至高武功心法“ 易筋经 ”,洗髓、易筋。在物联网时代的App开发,时时提醒自己:我的开发是否多态?开发的效果是否适配各类设备?是否适配横竖屏?是否适配深色模式和浅色模式?通过本系列教程后面实例的持续训练,习惯成自然,那么全场景开发的正确姿势就算练成了。
下一节,我将开源我的解决方案,建立一个ArkUI eTS的开发框架,基于这个框架开发,大家的开发必定事半功倍!
看好华为,看好鸿蒙!
选择大于努力!选对了方向,离成功不远了,加油!