欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

国产系统大有可为 从鸿蒙看未来操作系统的大潮

程序员文章站 2023-10-30 13:13:04
最近令消费者们乃至业界最为之一振的消息,可能就是华为鸿蒙os的横空出世了。 华为在开发者大会上公布了鸿蒙os的种种消息,在国内外市场竞争日趋激烈的当下,这对于国内企业...

最近令消费者们乃至业界最为之一振的消息,可能就是华为鸿蒙os的横空出世了。

华为在开发者大会上公布了鸿蒙os的种种消息,在国内外市场竞争日趋激烈的当下,这对于国内企业乃至国人而言,无疑可以称得上是一支强心剂。

根据华为的介绍,鸿蒙os亮点多多。和目前市面上流行的操作系统相比,鸿蒙拥有很多与众不同的设计,例如微内核、跨平台、多终端生态共享等等。

而人们对于鸿蒙的期望显然是非常高的,不少朋友都希望国产操作系统能够在市场上杀出一条血路,鸿蒙os的出现,令人看到了这股希望之光。

在移动互联网时代,技术和商机千变万化。通过操作系统变革、在市场攻城略地的,早有前人。

例如大家熟悉的ios、安卓和windows,在近年来都进行了大刀阔斧的修改,以变求胜求生。

那么操作系统近年来都有怎样的革新大潮?鸿蒙os将会有怎样的广阔前景?这就来以鸿蒙作为切入点,来谈谈操作系统的一些发展趋势吧。

微内核是大势所趋?

说起鸿蒙最吸引人的一个亮点,可能就是“微内核”了。

目前我们熟知的操作系统的运行通常拥有一个内核,内核一般会提供进程管理、资源调度、数据存取等操作系统所需的基本功能。

不同的操作系统,它们的内核设计不尽相同,在技术开发和用户体验方面的表现,也存在显著差别。

虽然有的朋友对系统内核这一概念感到陌生,但实际上,大家日常使用电脑手机时,就已经能切身感受到不同内核带来的影响。

例如同样是开放授权的操作系统,安卓和windows的安装升级体验就大有不同——用户不能为手机随意安装安卓系统,升级往往也需要经由各家oem厂商;而windows则每台pc都可以安装,且升级也能由微软统一推送。为什么会由这样的差别?内核就是原因之一。

安卓基于linux打造,而linux是一个宏内核的结构,linux的驱动和内核紧密整合在一起。

要适配某种硬件,得先把驱动整合进linux内核当中,因此手机想要升级系统,需要厂商把驱动整合到系统当中,再把系统推送给用户。

而windows则属于有点接近微内核的混合内核结构,内核和驱动是分离的(vista后绝大多数驱动只运行在user层中),且微软提供了标准驱动模型(例如wddm图形驱动),因此可以灵活适配各类硬件,升级维护更方便。

由此可见,内核的差异,可以令系统在升级维护方面的表现截然不同。

宏内核整合了更多功能,而微内核则将功能拆分、模块化。而移动互联网时代的到来,硬件形态变得越来越百花齐放,想要在不同硬件上建立起统一的平台生态,组装更灵活、更轻量的微内核可能是更好的选择。

实际上,近年来系统内核的微型化屡见不鲜。

例如安卓8.0开始推行project treble,将驱动和内核剥离开,理想情况下用户无需等待厂商的驱动适配,也可以通过单独升级系统分区更新到最新版安卓。

而谷歌的尚未推向市场的fuchsia系统则更进一步,使用全新微内核“zircon”,而根据目前的消息,谷歌打算将fuchsia打造成为一个跨平台的系统,除了适配手机平台,还能够在物联网上征战。

除了安卓,历史更悠久的windows也在发生变化。windows本来就比linux更接近微内核,而为了进一步适应移动互联网,微软还打算让windows变得更加模块化,例如让shell和内核分离,打造出windows core这样的能够适配物联网的系统。

得益于windows core模块化的特性,微软可以开发出多个shell,来适配折叠屏、hololens等设备,windows在移动市场是否能卷土重来,或许就在此一举。

可见,得益于扩展性强、维护方便等特点,微内核在近年来的确备受业界青睐;华为的鸿蒙os采用微内核,顺应了当下移动互联网和物联网的发展潮流,前景可期。

跨平台之路要走多远?

华为鸿蒙os所面向的并不仅仅是手机平台,还将会应用在手表、车机、pc乃至其他设备上。

微内核可以令系统更容易运行在更多平台上,但要打通平台之间的生态,所需要的不仅仅是相同的内核。

例如,系统的应用层是否能兼容同样或者近似的应用?而如果能兼容,该应用的界面是否能适配不同的设备?

要知道同样是ios,iphone和ipad的app尚不能相互完美适配,跨平台的应用生态要如何营造,一直是业界苦苦钻研的难题。

而跨平台应用生态的营造,正是华为鸿蒙os的另一大亮点。根据开发者大会上的介绍,鸿蒙os支持多语言统一编译,通过分布式架构kit提供屏幕布局控件以及交互的自动适配,且编程可视化。

开发者只需要一次开发,就可以将应用部署在多终端的鸿蒙os上,不同的设备可以实现共享生态。

换言之,为鸿蒙os开发应用,并不需要细细适配每一个平台,通过统一编译,应用就可以实现多设备的兼容,ui也能自适应。

而这个课题,在业界中其实灼手可热。不少大拿例如微软、苹果乃至谷歌,都在这方面做了不少努力,这也正是未来操作系统的发展大趋势之一。

例如大家都非常熟悉的微软,相信用户们都已经从无处不在的磁贴ui中,感受到了微软为应用跨平台所做出的努力。

实际上,微软的跨平台战略并非是这几年才开始起步,早在windows mobile年代,微软就已经推出了跨平台的开发技术——.net。

如果一个应用基于.net,那么它就拥有了同时运行在移动平台和桌面平台、乃至更多平台的可能。而发展到现在,.net为windows 10主推的跨平台框架uwp提供了强力支撑。

和很多仍是空中楼阁的概念不同,为跨平台而生的uwp应用已经在windows系统中较大范围实装了;而uwp应用的发展历程虽然磕磕碰碰,但也令人感到它前途无限。

uwp应用已经有了一套比较成熟、而且仍在发展的开发规范,通过.net standard for uwp以及xmal,应用的代码和ui能够在多平台共享,开发者可以比较轻松地构造出跨平台的uwp应用。

另外,windows对应用的开发、移植也非常友好。

例如uwp支持多种语言包括c++、c#乃至html和javascript这样的脚本语言,一次开发编译即可兼容pc、xbox和其他iot设备。

而微软之前的project islandwood和project astoria更是提供了将ios应用和安卓应用转换成uwp应用的工具,不过转制app的质量并不如原生开发的好,也难以支持跨平台等特性,目前该项目已搁置。

和微软相比,苹果系统所需要兼容的硬件更少,但苹果的跨平台生态在某些方面,甚至要比微软更加成熟。

在跨平台应用上,苹果的态度是比较克制的,例如同样是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还为开发者提供了可视化的编程界面,在编写代码的同时,可以观察到应用ui的变化,进一步减轻了应用适配的压力。

这种设计是大势所趋,例如来自谷歌的开发工具flutter,也使用了类似的机制。

谷歌在跨平台上的野心是不言而喻的,它推出的flutter移动ui框架比swiftui出现得更早。

flutter使用谷歌dart语言,可以跨平台为ios、安卓、网页和桌面的应用构建ui,开发者只需要学会使用flutter,即可跨平台编写应用。

flutter包含了安卓和ios的组件库,为app搭建起了适配不同系统api的桥梁,目前一些跨平台的app例如大家熟知的闲鱼,已经使用flutter来编写。

而flutter显然是谷歌构建跨平台的全新系统fuchsia中不可或缺的一环。

flutter是fuchsia系统的御用开发工具,而flutter的推广大大有利于开发者们将应用从其他系统迁移到fuchsia系统上。

而fuchsia系统本身也使用了可适配不同尺寸屏幕的可变形ui,谷歌之前还发布了fuchsia ui的demo,体验后可以得知这套ui起码同时适配手机和平板是没问题的。

另外,fuchsia已经公开了代码仓库,每日都在飞速更新,可以说谷歌的跨平台生态已经是只欠东风了。

让我们再把目光投向华为的鸿蒙os。可见鸿蒙os的概念是非常先进的,它支持多语言统一编译开发,应用一次编译即可兼容多平台,交互界面自适配,编程可视化……这和uwp、swiftui、flutter有着不谋而合之处。

可以说,鸿蒙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最大的期待,可能就是相关的开发文档、代码库的公开了。

一款操作系统想要在市场上征战,完善的开发文档必不可少。无论是微软uwp、苹果swiftui还是谷歌的flutter,目前都有较为完善的官方开发文档可参考,甚至还提供了高质量的开发工具。

而跨平台应用生态的营造是鸿蒙os的重头大戏,开发者对相关的开发工具自然会望眼欲穿。

另外,华为在开发者大会上表示,鸿蒙os会是开源的操作系统,这使得开发者们对它的源码额外感兴趣。

很多操作系统的成功,都得益于有开源社区在源源不断地输送力量。尽管鸿蒙os仍未有具体代码上传,但它已经收获了开源社区的大量关注。鸿蒙os的构成细节到底是怎样的?它又会采用怎样的开源协议?这一切都令人翘首以待。

目前,鸿蒙os已经在智慧屏上实装,可以说鸿蒙os并非是镜花水月。

在近期,我们可以期待鸿蒙os开发工具、源代码的公布;在远期,我们则可以期待华为能充分利用软硬件的整合优势,让鸿蒙os在市场上发光发热。

华为已经脚踏实地取得了很多瞩目的成绩,对于鸿蒙os,我们大可怀抱期冀。

后话

移动互联网仍在蓬勃发展,一款操作系统想要获取成功,既需要自身的奋斗,也需要符合历史进程。

windows乘上了x86兼容机普及的浪尖,而安卓顺应ios掀起的触屏风暴扶摇直上,它们都取得了耀眼的成就;而缺乏基本盘、硬实力或者不得其时者,如webos、firefox os、meego、黑莓os等,则只能纷纷沦为历史的过客。

鸿蒙os的理念无疑是先进且符合时代发展大潮的,而作为5g时代缔造者之一的华为,则可以成为鸿蒙os最有力的后盾。

如无意外,这几年鸿蒙os就会较为广泛地服务于大众市场上,国产系统大有可为!