Windows 10 要打破应用“次元之墙”,这并不简单
说这次的微软 Build 2015 大会是近年来最激动人心的开发者大会之一,相信没多少人反对。微软转型之雷厉风行前所未见,这一次不光完全贯彻了“移动为先,云为先”的战略部署,还有 HoloLens、Edge 浏览器等等新酷产品继续曝光,普通关注者看得过瘾,而开发者更是尖叫不已。
如果说 Azure 云服务离大众距离较远,HoloLens 黑科技一直在 Demo,不知和大众见面要多久的话,那么 Windows 10 才是面对所有人的大杀器,这一次,微软谋划许久的 Universal Windows Apps 终于要变成现实了,顺便的,隔壁的 iOS 和 Android 也都有可能参与 Windows 10 的生态。
UWAs,微软的曙光
首先来看一下 Universal Windows Apps(UWAs)是什么:用户在微软的应用商店下载同一款 UWAs 后,安装在了不同的平台,譬如 PC 和手机,这同一个应用在不同设备上有着不尽相同,但是一脉相承的用户体验。不仅如此,同一款应用可以适应的不同设备之外,在同一款设备上,这一款应用也可以根据交互不同,改变成不同的形态。
这里还有一些关键技术名为“Continuum”,这是 Windows 10 的一个关键特性,这个特性允许用户将 Windows 10 for Phone 的内容输出到其他更大的屏幕上,用户也可以把手机当作交互设备来控制其他的屏幕,不仅如此,当手机运行的是 UWAs 的时候,这个应用在 PC 端显示的是PC 的用户界面,而不是一小块手机界面,而这种切换只需要轻轻一点。
理论上,这是一件有历史意义的改变,开发者将受益无穷。这意味着开发者只需要写一个 UWA 就能跑在所有的 Windows 设备上,开发者需要做的,就是保证用户界面的显示适配各种屏幕尺寸,而且这一点微软也考虑到了,它们发布了一系列的工具来帮助开发者完成适配。
想一想那天晚上奔走相告的开发者就清楚,Windows 10 激发起了开发者前所未有的兴趣,Mashable 采访了 DocuSign 的开发者 Andrew Fryer,他就对此表示极大的信心:
我认为这是一个了不起的开始,Windows 10 具有很大的潜力,同时大大减少了开发者开发需要全平台覆盖的应用的工作量。要我说的话,Windows 10 是一个了不起的版本。
于用户而言,统一的用户界面自然是好事一件,如果你没有忘记 Modern 应用和传统桌面应用的割裂感的话,当然,相信也有一些人像我一样会认为 Windows 8 下的分屏显示很有用处,尤其是某些多任务情况下。而一个应用能够在不同设备上保持类似的用户界面和交互特性,用户的流畅体验感也就随之而来。
UWAs 的到来给了微软十足的底气,所以微软喊出了这样的口号:为 Google 开发应用,你得兼顾 Chrome 和 Android;为苹果开发应用,你面对的是 OS X 和 iOS;而我们只有一个 Windows。
现实永远没这么简单
微软显然寄希望于 UWAs 来拯救和壮大 Windows 的生态,也在传递这样的一种信号。微软高管 David Treadwell 向 Mashable 解释说:
通用系统平台的一个核心价值在于,我们有一系列统一的系统控件。有了这些基础,开发者就能一次开发,全平台收益,比如做一个 file open 的会话框,就能在不同平台上符合用户不同的需求。
不过留意下 Build 大会就会发现,前部分关于 Azure 的技术演示中,很详细的展现了某些实现过程。但是到了 UWAs 就不一样了,这部分更像是结果呈现,而没有具体说开发者该怎么做,更没有言明这项工作很简单。微软展示的,是一个前景。音乐应用 Deezer 开发者 Carl Anderson 说:
Windows 8 早就应该这么做了,而不是等到 Windows 10。两年前,我们开发了这个应用,适配了 Surface 和桌面版,现在又来了,我们还有一系列的产品需要覆盖,更多的工作等着我们,但是这值得我们去做。
大企业规划和现实执行之间总是有不少差异。不拿 OS X 和 iOS 来比较,就拿 iPhone 和 iPad 来说,做一个跨设备的应用并不是一个模子里批量制造月饼这么简单。虽然都是 iOS 设备,但是许多开发者发现,要想同时在两个平台都保持好的体验的话,其实要花很多功夫。而在现实中,一个应用的 iPad 开发者和 iPhone 开发者往往属于同一公司的不同团队。
Gary Hoffman 管理了一群健康应用开发者,在他看来,iOS 的情况有指导意义:
iPhone 和 iPad 应用开发的情况是一个活生生的例子,那就是大企业的规划愿景是一回事,现实又是一回事。在现实世界,我们的经验是,我们的 iPhone 团队和 iPad 团队是完全分开的。
或者说,其实微软未必彻底搞明白了 UWAs 和 Continuum 的意义,就像尚在襁褓中的 Office 2016 一样,在 Windows 10 上,Office 仍然有两个版本,一个是桌面版,一个是用于平板和手机的版本。
历史遗留问题并不少,Win32 环境下的桌面应用和 UWAs 有着根本性的不同,诸如 Office 这样需要全平台覆盖的产品也就得老老实实地支持 Win32,而不是简简单单地开发一个 UWAs 应用就完了。并且,其实 Office 的 UWAs 版本也有比较靠谱的消息了。
微软高管 David Treadwell 解释说,要完成 Office 从 Win32 环境彻底转成完全 UWAs 需要两年甚至更久的时间来兼容。
所以由 Office 引发的这个问题其实就是目前许许多多的应用还是 Win32 应用,其中有些会开发成 UWAs,有些不然。现在 Win32 的开发者面临的问题是和当初 Windows 8 出现的时候类似,就是值不值得花这么大精力去适应新设备和新系统。
另外还有一个问题是,Continuum for PC 将适用于任何支持触控功能的设备。Continuum for Phones 则是需要新的硬件支持。微软高管在 Twitter 上明确说明了这一点,也就是说,现有设备能够支持 Continuum 的可能性很小。在 Build 2015 上,演示 Continuum 的 Belfiore 也提到了:
融合了高通新的硬件,我们的新机就拥有了可以驱动两块不同显示屏的处理器。这就是让手机屏幕和电脑显示屏分开独立显示的关键所在。
说起来,就是立新就得破旧,但破旧并不容易。
另外两手准备
在 Build 大会上,微软强调,所有的 UWAs 可以在 Windows Holographic 上工作,而 HoloLens 当晚演示的应用,都是 UWAs。
而显然,外界对 HoloLens 的期望是最大的,毕竟增强现实和虚拟现实的前景被广泛看好,微软又是一个大玩家。所以 HoloLens 支持 UWAs 对于这项事业有着不小的推动作用。
有些开发者并不一定是微软的开发者,但是进入到了增强现实,接触了 HoloLens 之后,也被强行吸入了 UWAs 的圈子中去。不过还属于 Demo 阶段的 HoloLens 离大众不知道还有多远,离开发者也不知道有多远。
Build 2015 上还有一个爆炸性的消息就是,微软能让 Android 和 iOS 应用很容易地在 Windows 10 上运行。将应用代码进行重新的简单编译,再将应用上传到应用商店即可。除此之外,微软还推出了 Project Astoria 项目,它允许 Android 开发者直接提交.apk 文件,然后将 Android 应用重新编译成 Windows 通用应用程序等工作将由微软负责完成。
这个听起来也是很美好的计划,不过冷静下来的开发者也意识到了工作不会这么简单,关于原生 Google 服务的取舍(现在做法是用微软服务取代),关于兼容性和性能表现都都还有待时间的检测。
题图来自:站酷海洛创意