Windows Silverlight 或 RT。对 windows phone 发展有何影响

Windows Silverlight or RT. What are the implications for windows phone development

我正在为 Windows Phone 开始一个项目,我以前从未为 windows phone 或 .Net 开发过。

当我在 Visual Studio Community 2013 中创建一个新项目时,它让我可以为 Windows Runtime 或 Silverlight 创建它。

我想使用某种模拟框架来遵循 TDD,但我读到 WinRT 对此有问题。

这个决定有什么重要性?每一项的含义是什么? 是否可以在 WinRT 中使用模拟机制?

谢谢

简短的回答是坚持使用通用应用程序和 winrt。那就是windows发展的未来。您将获得更好的代码重用,并且该框架从一开始就设计为完全异步的。 Silverlight 更像是传统的做事方式,我怀疑随着时间的推移,它的使用会越来越少。 TDD 对任何一个都不是问题。

这个决定有什么重要性? 在这个时候,除了通用应用程序之外,我不认为其他应用程序是未来,我真的不认为它们会无限期地支持 silverlight。 WinRT 的一大优势是它被设计为主要是异步友好的。这对于移动开发和保持 UI 响应是一件大事。

每一个的含义是什么? Silverlight 是遗留的,没有那么多内置的基于异步的组件。WinRT 专为异步而设计,是一个构建在 Win32 之上的框架。

是否可以在 WinRT 中使用模拟机制? 绝对可以,但是在添加测试之前,我会专注于学习开发的一般框架。当您对语言越来越熟悉时,退后一步,看看如何让事情变得可测试。

希望对您有所帮助。

我同意 Spencer 关于 WinRT 的回答是 Windows 发展的未来方向。

基本上你应该去 Windows 商店(基于 WinRT),除非以下问题成为你的应用程序的障碍或高度关注:

  1. 如 "The few exceptions to the rule" 部分 https://msdn.microsoft.com/en-us/library/windows/apps/hh452743.aspx 中所述,有些功能只有 Silverlight 支持。我想未来的 WinRT SDK 版本将至少解决其中一些缺失的功能,但在 Microsoft 宣布它之前,没有什么是确定的。

  2. 关于模拟,工具集比没有非 WinRT 更受限制,但有解决方案。 What is the mocking framework of choice in Unit Test Library for Windows Store Applications? 解释限制。

    我个人正在使用 http://www.nuget.org/packages/WP-Fx.EasyMoq/1.1.1 (Doc: http://wp7fx.codeplex.com/wikipage?title=WP-Fx.EasyMoq&referringTitle=Documentation),它满足了我团队的需求。

    通过将可测试代码重构为非 WinRT 特定代码来解释另一种方法。

    总体而言,存在模拟解决方案,但与非 WinRT 世界相比,这些解决方案并不那么好,而且在开发方面似乎也不那么活跃。我希望这会在不久的将来有所改变。