国产系统大有可为 从鸿蒙看未来操作系统的大潮
副标题[/!--empirenews.page--]
最近令消费者们乃至业界最为之一振的消息,可能就是华为鸿蒙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。 (编辑:宜春站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |