电子说
微内核是大势所趋?
说起鸿蒙最吸引人的一个亮点,可能就是“微内核”了。目前我们熟知的操作系统的运行通常拥有一个内核,内核一般会提供进程管理、资源调度、数据存取等操作系统所需的基本功能。不同的操作系统,它们的内核设计不尽相同,在技术开发和用户体验方面的表现,也存在显著差别。
鸿蒙OS架构,微内核是其一大特征
虽然有的朋友对系统内核这一概念感到陌生,但实际上,大家日常使用电脑手机时,就已经能切身感受到不同内核带来的影响。例如同样是开放授权的操作系统,安卓和Windows的安装升级体验就大有不同——用户不能为手机随意安装安卓系统,升级往往也需要经由各家OEM厂商;而Windows则每台PC都可以安装,且升级也能由微软统一推送。为什么会由这样的差别?内核就是原因之一。
安卓基于Linux打造,而Linux是一个宏内核的结构,Linux的驱动和内核紧密整合在一起。要适配某种硬件,得先把驱动整合进Linux内核当中,因此手机想要升级系统,需要厂商把驱动整合到系统当中,再把系统推送给用户;而Windows则属于有点接近微内核的混合内核结构,内核和驱动是分离的(Vista后绝大多数驱动只运行在User层中),且微软提供了标准驱动模型(例如WDDM图形驱动),因此可以灵活适配各类硬件,升级维护更方便。
安卓系统架构图,可见大量驱动都整合在Linux内核当中
由此可见,内核的差异,可以令系统在升级维护方面的表现截然不同。宏内核整合了更多功能,而微内核则将功能拆分、模块化。而移动互联网时代的到来,硬件形态变得越来越百花齐放,想要在不同硬件上建立起统一的平台生态,组装更灵活、更轻量的微内核可能是更好的选择。
实际上,近年来系统内核的微型化屡见不鲜。例如安卓8.0开始推行Project Treble,将驱动和内核剥离开,理想情况下用户无需等待厂商的驱动适配,也可以通过单独升级系统分区更新到最新版安卓;而谷歌的尚未推向市场的Fuchsia系统则更进一步,使用全新微内核“Zircon”,而根据目前的消息,谷歌打算将Fuchsia打造成为一个跨平台的系统,除了适配手机平台,还能够在物联网上征战。
安卓8.0后引入Project Treble,将OS框架剥离
除了安卓,历史更悠久的Windows也在发生变化。Windows本来就比Linux更接近微内核,而为了进一步适应移动互联网,微软还打算让Windows变得更加模块化,例如让Shell和内核分离,打造出Windows Core这样的能够适配物联网的系统。得益于Windows Core模块化的特性,微软可以开发出多个Shell,来适配折叠屏、HoloLens等设备,Windows在移动市场是否能卷土重来,或许就在此一举。
Windows将会进一步分离内核,以适配更多设备
可见,得益于扩展性强、维护方便等特点,微内核在近年来的确备受业界青睐;华为的鸿蒙OS采用微内核,顺应了当下移动互联网和物联网的发展潮流,前景可期。
2跨平台之路要走多远?
跨平台之路要走多远?
华为鸿蒙OS所面向的并不仅仅是手机平台,还将会应用在手表、车机、PC乃至其他设备上。微内核可以令系统更容易运行在更多平台上,但要打通平台之间的生态,所需要的不仅仅是相同的内核。例如,系统的应用层是否能兼容同样或者近似的应用?而如果能兼容,该应用的界面是否能适配不同的设备?要知道同样是iOS,iPhone和iPad的APP尚不能相互完美适配,跨平台的应用生态要如何营造,一直是业界苦苦钻研的难题。
鸿蒙OS可以适配多种硬件,应用一次编译即可多端部署在各种运行鸿蒙的硬件上
而跨平台应用生态的营造,正是华为鸿蒙OS的另一大亮点。根据开发者大会上的介绍,鸿蒙OS支持多语言统一编译,通过分布式架构Kit提供屏幕布局控件以及交互的自动适配,且编程可视化。开发者只需要一次开发,就可以将应用部署在多终端的鸿蒙OS上,不同的设备可以实现共享生态。
鸿蒙OS的APP在不同尺寸屏幕上UI可自动适配
换言之,为鸿蒙OS开发应用,并不需要细细适配每一个平台,通过统一编译,应用就可以实现多设备的兼容,UI也能自适应。而这个课题,在业界中其实灼手可热。不少大拿例如微软、苹果乃至谷歌,都在这方面做了不少努力,这也正是未来操作系统的发展大趋势之一。
例如大家都非常熟悉的微软,相信用户们都已经从无处不在的磁贴UI中,感受到了微软为应用跨平台所做出的努力。实际上,微软的跨平台战略并非是这几年才开始起步,早在Windows Mobile年代,微软就已经推出了跨平台的开发技术——.NET。如果一个应用基于.NET,那么它就拥有了同时运行在移动平台和桌面平台、乃至更多平台的可能。而发展到现在,.NET为Windows 10主推的跨平台框架UWP提供了强力支撑。
和很多仍是空中楼阁的概念不同,为跨平台而生的UWP应用已经在Windows系统中较大范围实装了;而UWP应用的发展历程虽然磕磕碰碰,但也令人感到它前途无限。UWP应用已经有了一套比较成熟、而且仍在发展的开发规范,通过.NET Standard for UWP以及XMAL,应用的代码和UI能够在多平台共享,开发者可以比较轻松地构造出跨平台的UWP应用。
微软UWP框架可谓是APP跨平台大规模应用的先行者之一了
另外,Windows对应用的开发、移植也非常友好。例如UWP支持多种语言包括C++、C#乃至HTML和JavaScript这样的脚本语言,一次开发编译即可兼容PC、Xbox和其他IoT设备;而微软之前的Project Islandwood和Project Astoria更是提供了将iOS应用和安卓应用转换成UWP应用的工具,不过转制APP的质量并不如原生开发的好,也难以支持跨平台等特性,目前该项目已搁置。
微软努力的方向:用Windows和UWP适配所有设备
和微软相比,苹果系统所需要兼容的硬件更少,但苹果的跨平台生态在某些方面,甚至要比微软更加成熟。在跨平台应用上,苹果的态度是比较克制的,例如同样是iOS,iPhone和iPad的APP并不能相互适配,而多年来iOS和macOS之间的应用兼容,更是无从谈起——但现在,这一切正发生改变。
苹果在WWDC 2019开发者大会上,公布了SwiftUI,这是一套专供于苹果生态的UI开发框架。我们知道之前苹果曾经推出Swift编程语言,而这套SwiftUI则可以使用声明式Swift语法,仅通过一组工具和API,来适配iPhone、iPad、Mac、Apple TV等平台。换言之,或许苹果各套系统的差异日后会越来越大,例如从iOS中分化出iPad OS,但通过SwiftUI,开发者反而能够更容易为苹果生态编写出跨平台的APP。结合Xcode11,iOS APP可以编译成为macOS软件,macOS兼容iOS APP,已经指日可待。
SwiftUI可以为不同的苹果系统统一构建APP
SwiftUI还为开发者提供了可视化的编程界面,在编写代码的同时,可以观察到应用UI的变化,进一步减轻了应用适配的压力。这种设计是大势所趋,例如来自谷歌的开发工具Flutter,也使用了类似的机制。
SwiftUI提供了可视化的编程界面
谷歌在跨平台上的野心是不言而喻的,它推出的Flutter移动UI框架比SwiftUI出现得更早。Flutter使用谷歌Dart语言,可以跨平台为iOS、安卓、网页和桌面的应用构建UI,开发者只需要学会使用Flutter,即可跨平台编写应用。Flutter包含了安卓和iOS的组件库,为APP搭建起了适配不同系统API的桥梁,目前一些跨平台的APP例如大家熟知的闲鱼,已经使用Flutter来编写。
Google Flutter,跨平台、可视化设计的开发工具
而Flutter显然是谷歌构建跨平台的全新系统Fuchsia中不可或缺的一环。Flutter是Fuchsia系统的御用开发工具,而Flutter的推广大大有利于开发者们将应用从其他系统迁移到Fuchsia系统上。而Fuchsia系统本身也使用了可适配不同尺寸屏幕的可变形UI,谷歌之前还发布了Fuchsia UI的Demo,体验后可以得知这套UI起码同时适配手机和平板是没问题的。另外,Fuchsia已经公开了代码仓库,每日都在飞速更新,可以说谷歌的跨平台生态已经是只欠东风了。
让我们再把目光投向华为的鸿蒙OS。可见,鸿蒙OS的概念是非常先进的,它支持多语言统一编译开发,应用一次编译即可兼容多平台,交互界面自适配,编程可视化……这和UWP、SwiftUI、Flutter有着不谋而合之处。可以说,鸿蒙OS的跨平台生态营造理念是符合当下大趋势的,我们值得对此抱以信心。
3对于鸿蒙OS,我们可以期待什么?
对于鸿蒙OS,我们可以期待什么?
在华为的开发者大会上,我们已经初步了解到了鸿蒙OS的信息。作为国产操作系统冲击主流消费市场的先行者,鸿蒙OS注定必须非同凡响。鸿蒙OS是否能斩棘披荆,杀出一条血路?数年前人们仍嘲笑着羸弱的K3V2,而现在麒麟980已经在一片赞许声中登上了世界之巅;对于同样出自华为的鸿蒙OS,我们或许可以期待更多。
鸿蒙OS拥有一些竞争对手难以企及的优势。华为是一家研发能力强、硬件造诣高、市场表现好的企业。华为在消费市场产品丰富,且能自主研发关键元件,对生态链的把控也堪称严密,这足以给鸿蒙OS提供茁壮成长的土壤。
华为在消费市场的表现非常强劲,自身也拥有出色的硬件设计水平
这其实是很多企业求之不得的优厚条件,强如微软谷歌,由于缺乏自研硬件的实力,对生态的控制多少都力不从心——Windows在移动平台折戟沉沙,由于无法借助硬件平台确立优势地位,主推的UWP应用迟迟未能成为主流;而安卓生态也被松散联盟中的OEM厂商们弄得四分五裂,Nexus/Pixel没有成为强势的硬件支点,谷歌不得不另起炉灶打磨Fuchsia。对硬件控制最为严密的苹果,生态营造最为出色,然而苹果终是追求硬件高利润、只打造少量精品产品的企业,苹果系统注定无法成为大多数人的选择。
华为已经把握住了移动互联网时代极为关键的5G技术,也掌握了众多芯片的设计技术;同时华为在消费市场的深耕,也已经开花结果——华为目前是移动市场市占率最高的厂商之一。华为在通讯、硬件上的造诣,可以为鸿蒙OS提供强有力的支持,例如用网络去实时部署操作系统的模块、或者用特别设计的芯片去提升微内核进程间通讯效率等;而鸿蒙OS和海量的华为产品一起,所能产生的化学反应,更是令人无限遐想。
鸿蒙OS拥有庞大的硬件群,不会巧妇难为无米之炊
而鸿蒙OS显然已经开始了它的征途——鸿蒙OS已经搭载到了华为的新产品“智慧屏”之上,由此可见,鸿蒙OS的成熟度已经足以支撑起一款可以真正投入到市场当中的产品。在未来,鸿蒙OS或许会出现在更多的华为和生态链合作伙伴的产品当中,届时鸿蒙OS会呈现出怎样的姿态?大家都对此拭目以待。
人们对于鸿蒙OS寄予厚望,而鸿蒙OS目前犹抱琵琶半遮面,并未将全貌展现给人们。我们可以通过开发者大会获悉鸿蒙OS的一些概念信息,而对于开发者来说,近期对于鸿蒙OS最大的期待,可能就是相关的开发文档、代码库的公开了。
一款操作系统想要在市场上征战,完善的开发文档必不可少。无论是微软UWP、苹果SwiftUI还是谷歌的Flutter,目前都有较为完善的官方开发文档可参考,甚至还提供了高质量的开发工具。而跨平台应用生态的营造是鸿蒙OS的重头大戏,开发者对相关的开发工具自然会望眼欲穿。
开发者更期盼的是相应的开发文档,微软、谷歌和苹果都已经拿出了真家伙
另外,华为在开发者大会上表示,鸿蒙OS会是开源的操作系统,这使得开发者们对它的源码额外感兴趣。很多操作系统的成功,都得益于有开源社区在源源不断地输送力量。尽管鸿蒙OS仍未有具体代码上传,但它已经收获了开源社区的大量关注。鸿蒙OS的构成细节到底是怎样的?它又会采用怎样的开源协议?这一切都令人翘首以待。
目前,鸿蒙OS已经在智慧屏上实装,可以说鸿蒙OS并非是镜花水月。在近期,我们可以期待鸿蒙OS开发工具、源代码的公布;在远期,我们则可以期待华为能充分利用软硬件的整合优势,让鸿蒙OS在市场上发光发热。华为已经脚踏实地取得了很多瞩目的成绩,对于鸿蒙OS,我们大可怀抱期冀。
鸿蒙OS已经搭载到了智慧屏上,未来可期
后话
移动互联网仍在蓬勃发展,一款操作系统想要获取成功,既需要自身的奋斗,也需要符合历史进程。Windows乘上了X86兼容机普及的浪尖,而安卓顺应iOS掀起的触屏风暴扶摇直上,它们都取得了耀眼的成就;而缺乏基本盘、硬实力或者不得其时者,如WebOS、FireFox OS、MeeGo、黑莓OS等,则只能纷纷沦为历史的过客。
鸿蒙OS的理念无疑是先进且符合时代发展大潮的,而作为5G时代缔造者之一的华为,则可以成为鸿蒙OS最有力的后盾。如无意外,这几年鸿蒙OS就会较为广泛地服务于大众市场上,国产系统大有可为!
全部0条评论
快来发表一下你的评论吧 !