WinPhone 7第三方开发细节流出,主要使用非原生代码
By Peter Bright from arstechnica.com | Echokou, Logout 译,转载请注明 ifanr.com 译文链接。
Windows Phone 7 的应用程序开发环境究竟如何是系统发布后的诸多疑问之一,但细节已开始通过官方和非官方渠道逐渐浮出水面。
我们知道 Windows Phone 7 的观感和 Windows Mobile 大相径庭,Windows Phone 7 支持第三方应用程序并通过 Marketplace 销售。
微软对开发环境并未详述,只是说,Windows Phone 7 Series 的开发体验将“很有竞争力”,是“微软历史上最好的开发平台”。更多细节信息将在 3 月 15-17 日的 MIX 大会上公布。还好不是每个人都遵守了保密协议,细节已经开始披露,来源是微软的一个 OEM 伙伴。流出的文档仍然不能说明所有问题,但揭示了新平台的一些重要细节。
一大爆料就是应用程序开发可能只使用非原生代码(managed code,对立于原生代码,native code)。开发人员可以在 Windows Phone 上使用两种框架;一种是基于跨平台 .NET 环境的 Silverlight——Adobe Flash 和 Adobe AIR 的竞争者;另一种是基于微软的游戏平台 XNA,已经用在 Xbox 360 上的游戏开发上。其中 Silverlight 框架可能介于 Silverlight 3 和 Silverlight 4 之间。
Windows Phone 开发采用将推出的 Visual 2010 开发环境和 Expression Blend 设计工具。开发者有望利用微软的一整套云服务。另外,微软希望 Windows Phone 能采用与核心 OS 相同的方式来连接程序和数据源。体现的理念是“三屏+云”,其中的三屏分别指手机、PC 和电视 (通过 Xbox 360 和微软多媒体中心)。 每个“屏”同等重要,且相关信息必须关联在一起,保证可以从任何地方接入。
手机生产商和移动网络运营商有另外的软件通道。虽然 Windows Mobile 时代历史悠久的前端定制(比如 SPB Mobile Shell 和 HTC Sense)已被禁止,不过生产商和运营商可以定制软件。除了目前的非原生开发环境以外,他们在有必要时也可以使用部分原生 API。
Marketplace 在 WM 6.5 上已经可用,对程序有一些要求(例如连续进行几小时的随机键盘/触摸输入,以保证错误的操作不会使软件崩溃)。生产商和运营商软件在预装前将通过类似的检测。高质量的最终用户体验对 Winows Phone 的成功至关重要,微软当然不想让生产商那一大堆平庸的软件威胁这一体验。
披露的文档证实操作系统支持全面抢占式多任务(操作系统来决定何时执行哪个任务)的多线程应用程序。还不知道这意味着允许第三方程序同时运行,还是像 Android 那样,服务式的软件可以一直在后台运行,有用户界面的软件则必须在系统资源低的时候停止。虽然透露的内容只包括一些文档截图,但已经告诉我们不少 Windows Phone 体验的信息。文档中还可以看出后向兼容性全部牺牲掉了,大多数当前的程序使用原生代码,对大多数开发者来说没有其他选择。即使现有的那些基于 .NET CF 的程序也要换掉 UI,转而用 Silverlight 或者 XNA 。
也有猜测认为平台会被锁住——像 iPhone 而非 Android。文档表明所有应用程序(无论是常规第三方程序还是 OEM 的特殊软件)都将在一个“security chamber”里运行,还会装上“用户存储区”(这可能意味着程序无法访问其它存储区域)。托管 API 和有限的原生 API 将由 Marketplace 验证,保证开发者的应用程序在文档支持范围内,这也很像是 iPhone 的情况。 目前还不知道是否可以通过 Marketplace 以外的途径获得程序(以及如果可以的话,程序功能将有什么区别)。