# Windows 10 要打破应用“次元之墙”，这并不简单

- 作者：刘学文
- 发布时间：2015-05-04 15:38
- 分类：公司
- 原文：https://www.ifanr.com/517716

[![](https://s3.ifanr.com/wp-content/uploads/2015/05/hellorf_170246867.jpg)](https://s3.ifanr.com/wp-content/uploads/2015/05/hellorf_170246867.jpg)

说这次的微软 Build 2015 大会是近年来最激动人心的开发者大会之一，相信没多少人反对。微软转型之雷厉风行前所未见，这一次不光完全贯彻了“移动为先，云为先”的战略部署，还有 HoloLens、Edge 浏览器等等新酷产品继续曝光，普通关注者看得过瘾，而开发者更是尖叫不已。

如果说 Azure 云服务离大众距离较远，HoloLens 黑科技一直在 Demo，不知和大众见面要多久的话，那么 Windows 10 才是面对所有人的大杀器，这一次，微软谋划许久的 Universal Windows Apps 终于要变成现实了，顺便的，[隔壁的 iOS 和 Android](http://mashable.com/2015/04/29/microsoft-android-ios-code-to-windows-10/) 也都有可能参与 Windows 10 的生态。

### UWAs，微软的曙光

首先来看一下 Universal Windows Apps（UWAs）是什么：用户在微软的应用商店下载同一款 UWAs 后，安装在了不同的平台，譬如 PC 和手机，这同一个应用在不同设备上有着不尽相同，但是一脉相承的用户体验。不仅如此，同一款应用可以适应的不同设备之外，在同一款设备上，这一款应用也可以根据交互不同，改变成不同的形态。

这里还有一些关键技术名为“Continuum”，这是 Windows 10 的一个关键特性，这个特性允许用户将 Windows 10 for Phone 的内容输出到其他更大的屏幕上，用户也可以把手机当作交互设备来控制其他的屏幕，不仅如此，当手机运行的是 UWAs 的时候，这个应用在 PC 端显示的是PC 的用户界面，而不是一小块手机界面，而这种切换只需要轻轻一点。

理论上，这是一件有历史意义的改变，开发者将受益无穷。这意味着开发者只需要写一个 UWA 就能跑在所有的 Windows 设备上，开发者需要做的，就是保证用户界面的显示适配各种屏幕尺寸，而且这一点微软也考虑到了，它们发布了一系列的工具来帮助开发者完成适配。

想一想那天晚上奔走相告的开发者就清楚，Windows 10 激发起了开发者前所未有的兴趣，[Mashable](http://mashable.com/2015/05/02/windows-10-universal-apps/) 采访了 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 一样](http://mashable.com/2015/04/17/microsoft-office-apps-windows-phones/)，在 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 项目](https://dev.windows.com/en-US/uwp-bridges/project-astoria)，它允许 Android 开发者直接提交.apk 文件，然后将 Android 应用重新编译成 Windows 通用应用程序等工作将由微软负责完成。

这个听起来也是很美好的计划，不过冷静下来的开发者也意识到了工作不会这么简单，关于原生 Google 服务的取舍（现在做法是用微软服务取代），关于兼容性和性能表现都都还有待时间的检测。

题图来自：[站酷海洛创意](http://www.hellorf.com/)
