Windows Phone的Silverlight Runtime变化

最近以来我们一直关注于通用XAML,但现在已转向于用于Windows Phone的Silverlight。虽然通用XAML(通用Apps)注定最终会取代Silverlight,但是Silverlight目前仍然是Windows Phone的开发者的选项之一。

背景

Microsoft首先主要在XAML上面进行源源不断的创新和投资,然后才尽量在Silverlight中实现同样的功能。

大约90%的Silverlight的APIs都可以在XAML中使用。这样做的目的是为了以后好将Silverlight的所有余下功能都移入到XAML中。这些引人注目的APIs有锁屏、滤镜、VOIP、相机和剪切板等等。

Window Phone 8.1升级

Apps从Silverlight for WP 8.0到8.1的升级过程是很简单的。你仅仅只需要在项目的右键菜单中选择升级就可以完成这个过程。由于还需要好一段时间才能升级完所有的Windows Phone 8设备,所以Microsoft建议应用商店中的App最好同时有着能用于WP8和WP8.1的版本(还有7.1)。

Modern环境

Silverlight 8.1在“Modern环境” 中运行。实际上这意味着Silverlight 8.1需要一个WMAppManifest以及另一个appxManifest。如果没有appxManifest,开发者就无法使用一些较新基于XAML的特性。

Silverlight 8.1和8.0二者之间并不100%兼容。像Array.Sort就不再使用稳定排序算法,这是因为在某些应用中该算法会出问题。

另外一个问题就是快速应用程序恢复。在Silverlight 8.0中,这是一个可选的功能,而在Modern环境中,该功能是必选的。

在你按下返回按钮时,XAML apps并不会停止运行,但Silverlight 8.1应用程序默认会被终止执行,这一点如同Silverlight 8.0应用程序,不过用户可以禁用此默认设置。

当前的Silverlight 8.1无法使用背景音频,希望在以后的功能更新中会修复该问题。

请留意Silverlight 8.0应用程序并不是在Modern环境中运行,也就是说Silverlight 8.0是100%兼容于Windows Phone 8.1。

APIs

除了上面已提到的那些,所有其它Silverlight 8.0的APIs都可以在Silverlight 8.1中使用。绝大部分的XAML APIs都对Silverlight 8.1公开了,但有一个需要留意的例外,就是没有公开用于处理Modern资源技术(Modern Resource Technology)的任何APIs。

  • Silverlight apps现在可以访问SD卡。
  • 共享契约(Share Contract)现在可以交换二进制数据,以前只支持文本和HTML。
  • Silverlight现在可以作为Picker提供者,以便与类似于Drop Box的服务集成。
  • 支持地理围栏(GeoFencing)。
  • Silverlight apps支持WinRT风格后台任务。
  • 增强了预约和日程安排功能,现可编辑和删除预约。
  • 现支持带附件的Email。
  • Web认证使得OAuth更易用。
  • 可访问性比以前好多了,但仍然有限。不同于XAML,这里没有预定的各种样式,但app至少能查询可访问性的设置。
  • 数据漫游可以让手机和存储应用程序之间互相关联起来。在Windows 8和Windows Phone之间可以交换比如个人设置爱好、得分这样的用户信息,以及所保存的文件。此功能要求你预订一个应用程序的名称。

查名(Name Reservation

当你开发一个全新的XAML或Silverlight应用程序时,需要在Windows存储中为其预订一个名字,这与开发一个全新的WinRT app类似。

因为名字可能会冲突,已有的Silverlight 8.0应用程序升级至Silverlight 8.1时并不需要一个匹配的预订名。

框架选择

  • 全新Apps:Silverlight 8.x或XAML
  • 已有Windows Store App:XAML
  • 锁屏App:Silverlight 8.x
  • 相机类App,VOIP:Silverlight 8.x
  • 音乐App:Silverlight 8.0或XAML
  • 已有Silverlight Phone Apps:Silverlight 8.x或XAML

更多信息请见Channel 9的What’s New with Windows Phone Silverlight Apps。

查看英文原文:Changes to the Silverlight Runtime for Windows Phone

感谢崔康对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(Windows Phone的Silverlight Runtime变化)