0

我现在在商店中有一个 Windows Phone 8.1 Silverlight 应用程序。由于我看到微软正在将所有注意力转移到 WINRT 和通用应用程序上,我怀疑 Windows 10 中对 Silverlight 应用程序的支持将有限或不支持。

将来我可能会为同一个项目推出一个平板电脑项目。所以我在将我的解决方案中的 Silveright 项目转换为 WINRT 或将它们转换为通用应用程序时处于两难境地。此外,我听说转换为通用项目也非常困难。而且我知道大部分工作将在将 UI 移植到 Hub 样式 UI。

有任何想法吗?评论在这里采取的最佳方法。

4

2 回答 2

1

WinRT 应用程序是仅限 Windows 的应用程序(不适用于电话)。除此之外,WinRT 和通用应用程序非常相似。它们具有相同的命名空间、类、控件……几乎所有东西。您可以毫无问题地在通用应用程序中使用许多 WinRT 库。因此,移植到它们通常也是一样的。

Windows 应用商店和 Windows Phone 应用程序通常需要不同的用户界面,所以无论你做什么,你都必须努力解决这个问题。

一个区别是WinRT 应用程序可以在 Windows 8.0 及更高版本上运行,而通用应用程序需要 Windows 8.1(或手机的 WP 8.1)。实际上,Windows 8.1 应用程序是通用应用程序。就像 Windows Phone 8.1 应用程序(不是 Silverlight 变体)是通用应用程序一样。

我建议移植到通用应用程序,因为您会习惯使用这些应用程序,并且它们可以在两个平台(Windows 和 Phone)上运行。对于任何未来的项目,这都是要走的路。

在我工作的公司,几个月前我们切换到了通用应用程序。弄清楚我们将在两个平台上使用什么 UI 以及如何正确使用它,以及移植我们现有的库确实需要一些时间(不是太多),但现在制作一个新应用程序并支持这两个平台非常容易。所以,对我来说,这就是要走的路。

于 2014-11-24T19:45:50.697 回答
1

微软不太可能在 Windows 10 手机版本中停止支持 Silverlight 应用程序。甚至 WP8.1 仍然支持 WP7.0 时代的 XNA Games。

根据您在库中使用的 API,从 Silverlight 转换到 WinRT 时的大部分更改将发生在 UI 端,例如,如果您的 Silverlight 应用程序已经使用 LocalStorage-APIs 而不是甚至没有的 IsolatedStorage-APIs被改变。

我的建议如下:

  • 评估通用应用程序是否支持您需要的所有功能(某些功能目前仅在 Silverlight 应用程序中可用)
  • 评估您正在使用的实际 API 是否在通用应用程序中受支持或是否需要替换(IsolatedStorage => LocalStorage 等)

有了这些知识,我猜您将能够更好地计划何时将您的应用程序移植到新的 API。如果将来可能会推出平板电脑版本,并且通用应用程序模型支持所有必需的 API,那么较早移植可能比以后移植需要更少的工作量。

于 2014-11-25T12:03:40.083 回答