在这个月初举行的微软开发者大会Build 2014上,微软宣布Windows Phone 8.1、Windows 8 RT以及Windows 8.1,也就是包括手机、平板以及个人电脑,都将采用同一个操作系统。所谓“同一个”不仅仅是指外表看起来长差不多,包括底层都将完全一致。

过去数年,微软一直在更新各个平台上独立的Windows版本,以保证它们能够最大限度的做到让开发者一次开发就可以跨平台部署。这其中包括对Windows PC、平板以及智能手机的用户界面做出了一些修改。

确实,微软的操作系统命名规则依然非常可怕。但是这无法掩盖这种代码层面的统一给开发者带去的好处,并且最终会让终端用户受益。

现在,这三种Windows都将采用同一个软件核心,或者说“内核”,他们之间将享有一个共同的runtime(可以简单理解为程序运行所必备的工具)。它们之间剩下来最大的区别在于面对采用不同输入方式(包括触控屏、鼠标以及键盘等)、不同硬件(不止是CPU和内存,还有GPU、速度感应器等其他感应原件)以及不同屏幕尺寸的设备时,各自处理一些有关用户界面的问题会采用不同的方法。

微软知道这些不同仍然会对开发者造成影响,因此希望大多数开发者都能把开发工具升级到最新版的Visual Studio 2013,后者也是刚刚在今年的Build 2014上发布。

微软Windows开发平台负责人Kevin Gallo在Windows官方博客上这么说道:

“我们设计Windows的功能必然会出于长期考虑,因此不但需要能够解决开发者的问题,也需要尊重之前的投入,因此我们希望通过Visual Studio 2013这样一个大家熟悉的开发工具来实现,毕竟Visual Studio能够同时支持C#、C++、Javascript、XAML、DirectX以及HTML。这些工具和技术堆栈已经被成千上万开发者用于跨Windows设备的扩展应用开发。Windows 8.1应用的开发者会发现把他们的现有工作和个性化体验移植到Windows Phone 8.1是非常轻松的事情。而Windows Phone 8的开发者在开发Windows Phone 8.1应用时也可以采用同样的代码,利用到最新的特性。”

写一次代码,部署到所有Windows设备

此次Visual Studio更新可以让开发者把现有的应用和所针对的特定Windows版本进行跨设备移植。举个栗子,如果你开发了一款Windows 8.1应用,你可以通过Visual Studio的设置来特别关注和Windows Phone 8.1智能手机相关的兼容性。Visual Studio本身就是为了让开发者可以使用不同设备和Windows版本间通过相同的基本应用代码,即能模拟出应用在每一种环境下表现。

微软的角度看,对于开发者来说,最重要的是以下两点:

1、你可以开发通用应用并且把代码全部共享到各个平台,只需针对不同平台的用户界面做一些调整;

2、Visual Studio提供了一系列的诊断工具以优化应用在不同设备——包括运行Windows Phone的智能手机、运行Windows 8.1的笔记本之间的表现。

Windows Phone应用可以更方便的移植

从本质上看,微软希望让开发者尽可能简单的开发Windows应用。鉴于当前微软在移动市场上的份额,微软这么做很难让人说什么。

实际上,这意味着Windows Phone开发者有三种选择。如果你已经通过Silverlight Phone 8.0开发工具来开发应用,那么你无需做任何事情——那些应用会很好的兼容Windows Phone 8.1;

或者,你也可以通过升级到Silverlight Phone 8.1来让你的应用获取一些Windows Phone 8.1中的新特性,比如Cortana个人助理或者自定义主界面等等。或者你也可以把你的应用通过最新的Visual Studio迁移到通用Windows应用平台。当然,如果你乐意,也可以从零开始按照微软的标准打造一款“通用的”Windows应用,这样从理论上来讲可以为全新的统一的Windows代码库进行优化。

其中最值得注意的一点是,微软开始鼓励开发者用他们喜欢的工具来开发应用。无论是C#开发者,还是Visual Basic(VB)开发者,或者是C/C++开发者,都可以开发针对Windows的原生应用,这听起来很赞。微软还积极鼓励开发者通过Javascript和HTML5/CSS来打造跨平台应用,并且保证IE 11后续会通过升级来支持图像硬件加速功能,这样可以更好的利用设备的GPU而不占用CPU。

所有Windows设备只需购买一次应用

对于消费者来说,微软力图使得应用购买变的更加简单。如果你从Windows 8.1笔记本上买了一款应用,那么你可以从你的Windows Phone上自动下载该款应用,反之亦然。微软此举可以让你避免在各个不同的Windows平台下多次购买同一个应用。因为本质上来说,Windows现在已经是一个完整的大操作系统了。同样,如果遇到应用内购,也是一样的情况——当然前提是这些应用已经做好了从笔记本到平板到智能手机的移植。

使用自己喜欢的语言开发原生应用

反观苹果,如果你从iMac或者MacBook的Mac OS X上面购买了一款应用,在iPhone或者iPad上你仍然需要再次购买;谷歌也一样,如果你从Chrome OS上购买了一款应用或者扩展,回到Android设备上你仍需从Google Play上再买一次。

当然,有一些Android和iOS上的应用可以让用户针对不同的设备下载不同的版本——比如说,通过订阅服务或者全局入口登录。但那是应用开发者的选择,而和苹果或者谷歌无关。