【问题标题】:Silverlight to WINRT or Silverlight to UniversalSilverlight 到 WINRT 或 Silverlight 到 Universal
【发布时间】:2015-01-22 10:55:33
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# windows windows-phone-8.1 win-universal-app windows-10


    【解决方案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 以及如何正确使用它,以及移植我们现有的库确实需要一些时间(不是太多),但现在制作一个新应用程序并支持这两个平台非常容易。所以,对我来说,这就是要走的路。

    【讨论】:

    • 谢谢亚森。我的坏我应该更精确一点。当我说 WINRT 时,我指的是项目的类型,而不是平台的类型(手机、平板电脑)。我在解决方案中有很多本机项目。因此,如果我需要将整个解决方案移植到通用应用程序,那就有点过分了。你不觉得吗?
    • @golldy 你的意思是 Windows 运行时组件项目类型吗?或者是其他东西?另外,“本机”项目是 Silverlight 项目吗?
    • 我在 silverlight 项目中使用的原生项目。无论如何,我想将项目移植到通用项目是要走的路。
    • @golldy Phone 没有单独的 Universal 和 WinRT 项目类型。通用应用程序具有三个子项目 - Windows 8.1 项目、Windows Phone (WinRT) 项目和具有共享文件的项目,这些共享文件被简单地视为在这两个项目中。因此,当您创建 WP 8.1 应用程序(不是 SL)时,它与通用项目的 Windows Phone 部分完全相同。所以,当我说通用应用程序时,我并不是说它必须在两个平台上运行。我只是指新的通用框架。
    • 谢谢亚森。这对我来说很有意义:)
    【解决方案2】:

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

    根据您在库中使用的 API,从 Silverlight 转换到 WinRT 时的大部分更改将发生在 UI 端,例如如果您的 Silverlight 应用程序已经使用 LocalStorage-API 而不是独立存储 API,甚至不需要更改。

    我的建议如下:

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-13
      • 2023-04-03
      • 1970-01-01
      • 2010-09-23
      • 2011-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      相关资源
      最近更新 更多