正在阅读:国产系统大有可为!从鸿蒙看未来操作系统的大潮国产系统大有可为!从鸿蒙看未来操作系统的大潮

2019-08-17 00:15 出处:PConline原创 作者:Aimo 责任编辑:censi

  跨平台之路要走多远?

  华为鸿蒙OS所面向的并不仅仅是手机平台,还将会应用在手表、车机、PC乃至其他设备上。微内核可以令系统更容易运行在更多平台上,但要打通平台之间的生态,所需要的不仅仅是相同的内核。例如,系统的应用层是否能兼容同样或者近似的应用?而如果能兼容,该应用的界面是否能适配不同的设备?要知道同样是iOS,iPhone和iPad的APP尚不能相互完美适配,跨平台的应用生态要如何营造,一直是业界苦苦钻研的难题。

鸿蒙OS
鸿蒙OS可以适配多种硬件,应用一次编译即可多端部署在各种运行鸿蒙的硬件上

  而跨平台应用生态的营造,正是华为鸿蒙OS的另一大亮点。根据开发者大会上的介绍,鸿蒙OS支持多语言统一编译,通过分布式架构Kit提供屏幕布局控件以及交互的自动适配,且编程可视化。开发者只需要一次开发,就可以将应用部署在多终端的鸿蒙OS上,不同的设备可以实现共享生态。

鸿蒙OS的APP在不同尺寸屏幕上
鸿蒙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
微软UWP框架可谓是APP跨平台大规模应用的先行者之一了

  另外,Windows对应用的开发、移植也非常友好。例如UWP支持多种语言包括C++、C#乃至HTML和JavaScript这样的脚本语言,一次开发编译即可兼容PC、Xbox和其他IoT设备;而微软之前的Project Islandwood和Project Astoria更是提供了将iOS应用和安卓应用转换成UWP应用的工具,不过转制APP的质量并不如原生开发的好,也难以支持跨平台等特性,目前该项目已搁置。

用Windows和UWP适配所有设备
微软努力的方向:用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
SwiftUI可以为不同的苹果系统统一构建APP

  SwiftUI还为开发者提供了可视化的编程界面,在编写代码的同时,可以观察到应用UI的变化,进一步减轻了应用适配的压力。这种设计是大势所趋,例如来自谷歌的开发工具Flutter,也使用了类似的机制。

SwiftUI
SwiftUI提供了可视化的编程界面

  谷歌在跨平台上的野心是不言而喻的,它推出的Flutter移动UI框架比SwiftUI出现得更早。Flutter使用谷歌Dart语言,可以跨平台为iOS、安卓、网页和桌面的应用构建UI,开发者只需要学会使用Flutter,即可跨平台编写应用。Flutter包含了安卓和iOS的组件库,为APP搭建起了适配不同系统API的桥梁,目前一些跨平台的APP例如大家熟知的闲鱼,已经使用Flutter来编写。

Google Flutter,跨平台、可视化设计的
Google Flutter,跨平台、可视化设计的开发工具

  而Flutter显然是谷歌构建跨平台的全新系统Fuchsia中不可或缺的一环。Flutter是Fuchsia系统的御用开发工具,而Flutter的推广大大有利于开发者们将应用从其他系统迁移到Fuchsia系统上。而Fuchsia系统本身也使用了可适配不同尺寸屏幕的可变形UI,谷歌之前还发布了Fuchsia UI的Demo,体验后可以得知这套UI起码同时适配手机和平板是没问题的。另外,Fuchsia已经公开了代码仓库,每日都在飞速更新,可以说谷歌的跨平台生态已经是只欠东风了。

  让我们再把目光投向华为的鸿蒙OS。可见,鸿蒙OS的概念是非常先进的,它支持多语言统一编译开发,应用一次编译即可兼容多平台,交互界面自适配,编程可视化……这和UWP、SwiftUI、Flutter有着不谋而合之处。可以说,鸿蒙OS的跨平台生态营造理念是符合当下大趋势的,我们值得对此抱以信心。

键盘也能翻页,试试“← →”键

关注我们

最新资讯离线随时看 聊天吐槽赢奖品