Windows Phone 8.1商店与Windows Phone 8.1 Silverlight的比较

6
当我创建新的Windows Phone项目时,我可以选择创建“Windows Phone”或“Windows Phone Silverlight”应用程序。我知道它们具有不同的运行时和不同的API。 我原本以为微软想统一Windows和Windows Phone平台,那么为什么还会有Silverlight版本?它有什么好处? 另外,如果我只想创建一个仅针对Windows Phone的应用程序,而且从未计划将其带到Windows上,我应该选择Silverlight还是Windows Phone?
3个回答

7
我建议您选择“Windows Phone”(非Silverlight)。这是新的API,适用于Windows和Windows Phone。在某些时候,您可能希望将应用程序移植或创建一个新的应用程序用于Windows,您已经了解了API(移植将更加容易)。此外,新的API很可能会获得更多的更新和功能添加,而且在某个时候,您甚至可能被迫更新它(因为旧的API不再受支持,或者因为它没有您需要的一些功能)。
正如其他答案中所说- Silverlight选项仅用于向后兼容,并且很可能会逐步淘汰。也就是说-如果您已经了解了API并且拥有许多WP Silverlight库(您自己的或其他人的),那么这很好,但如果您刚开始-最好选择新技术。
编辑

在选择两种类型的应用程序之前,还有一件事需要考虑。一些功能仅在Silverlight应用程序中可用,而其他功能(数量较少)仅在Xaml应用程序中可用。这里有一篇文章介绍了它们之间的区别:将Windows Phone 8应用迁移到Windows Runtime XAML应用


我无法在WP 8.1(非SL版)中访问ApplicationPhoneService :( 我希望我的应用程序在手机锁定时能够运行,但由于这个原因无法实现。我只能阻止手机锁定!这对电池寿命和应用体验非常不利。 - J86

1
Windows RT Xaml是相当新的,人们需要先掌握一些知识。
多年来,电话中的Silverlight一直存在,并且有很多可用工具:Phone Toolkit,各种控件等。仅仅淘汰它会伤害许多开发者,因为他们积累了长时间的知识产权,被迫重新开始。
使用Silverlight启动项目时,您将拥有更多有助于完成任务的工具。
使用WinRT Xaml启动时,性能更好,但必须自己解决许多问题。
因此,Silverlight选项可用于不让Silverlight开发人员淘汰。
我最近在WinRT Xaml上启动了一个新项目,我的经验是我不得不重新创建许多常见工具,例如缓存等。但以前在Toolkit中的许多东西现在已成为平台的一部分。此外,移至Windows 8时,您可以共享大量代码,这很不错。

0

统一环境是理想的。但在我看来,它并不成功。曾经只能在Silverlight下进行开发,现在你看到的只是同样东西的新版本,以保持向后兼容性并让Silverlight的开发人员满意。未来,它可能会被逐步淘汰。此外,如果您想支持旧手机,Silverlight基本上是您唯一的选择(您会惊讶地发现有多少WP用户没有将8.0更新到8.1)。

Silverlight除了Windows Phone Toolkit(这个简单的插件非常有用,可以看到有多少SO答案依赖它)之外,实际上没有其他真正的好处。一旦通用运行时得到充分发展,文档反映出实际可用的内容,那么我认为它将成为未来在Windows中开发的默认项目。

如果您刚开始学习,我建议使用Silverlight,因为知识库更大。熟悉WP环境后再切换到运行时。


2
我尊重地不同意您开始使用Silverlight的建议。非Silverlight API是通用的,因此该应用程序可以轻松移植到Windows。而且,正如您自己所说,它是新API,Silverlight很可能会被淘汰。为什么要浪费时间学习一个与新API相比相当不同、有着不同问题并很可能被逐渐淘汰的旧API呢? - yasen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接