Silverlight to WINRT or Silverlight to Universal
本文关键字:Silverlight to Universal WINRT or | 更新日期: 2023-09-27 18:31:41
我有一个Windows Phone 8.1 Silverlight应用程序,现在在商店里。由于我看到Microsoft正在将所有注意力转移到WINRT和Universal Apps上,我怀疑Windows 10中对Silverlight Apps的支持有限或没有。
将来可能会为同一项目推出一个平板电脑项目。因此,我将解决方案中的 Silveright 项目转换为 WINRT 或将它们转换为通用应用程序陷入两难境地。而且我知道大部分工作将把 UI 移植到 Hub 样式 UI。
有什么想法吗?评论这里采取的最佳方法。
WinRT 应用是仅限 Windows 的应用(不适用于 Phone)。除此之外,WinRT和通用应用程序非常相似。它们具有相同的命名空间、类、控件...几乎所有东西。你可以在通用应用中使用许多 WinRT 库,没有任何问题。因此,移植到它们通常也是相同的。
无论如何,Windows 应用商店和 Windows Phone 应用通常需要不同的 UI,因此无论您做什么,都必须对其进行处理。
一个区别是WinRT应用可以在Windows 8.0及更高版本上运行,而通用应用需要Windows 8.1(或手机的WP 8.1)。实际上,Windows 8.1应用程序是一个通用应用程序。就像Windows Phone 8.1应用程序(不是Silverlight变体)一样,它是一个通用应用程序。
我建议移植到通用应用程序,因为您会习惯于使用这些应用程序,并且它们在两个平台(Windows和Phone)上都可以工作。对于任何未来的项目,这都是要走的路。
在我工作的公司,我们几个月前切换到通用应用程序。弄清楚我们将在两个平台上使用什么 UI 以及如何正确执行此操作,以及移植我们现有的库确实需要一些时间(不是太多),但现在制作一个新应用程序并支持这两个平台非常容易。所以,对我来说,这就是要走的路。
停止在Windows 10版本的手机中使用Silverlight应用程序。甚至WP8.1仍然支持WP7.0时代的XNA Games。
根据你在库中使用的API,从Silverlight转换为WinRT时的大部分更改都将在UI端进行,例如,如果你的Silverlight应用已经使用了LocalStorage-API而不是IsolatedStorage-API,甚至不需要更改。
我的建议如下:
- 评估通用应用程序中是否支持所需的所有功能(某些功能目前仅在 Silverlight 应用程序中可用)
- 评估您使用的实际 API 是否在通用应用程序中受支持或需要替换(隔离存储 =>本地存储等)
有了这些知识,我想您将能够更好地计划何时将应用程序移植到新的 API。如果将来可能会有平板电脑版本,并且通用应用模型支持所有必需的 API,则尽早移植可能比稍后移植需要更少的工作量。