2014-11-24 30 views
0

我有一個Windows Phone 8.1 Silverlight應用程序,現在在商店中。由於我發現微軟正在將所有注意力都轉移到WINRT和通用應用程序上,我懷疑Windows 10中的Silverlight應用程序的支持有限或根本不支持。Silverlight到WINRT或Silverlight到通用

可能有一個平板電腦項目可能會推出同樣的項目在未來。所以我現在面臨着將我的解決方案中的Silverlight項目轉換爲WINRT或將其轉換爲通用應用程序的困境。同時,我聽說轉換爲Universal項目也相當困難。而且我明白大部分工作將在將UI移植到集線器樣式UI。

任何想法?採取最佳方法的評論。

回答

1

WinRT應用程序是一個Windows應用程序(不適用於電話)。除此之外,WinRT和Universal應用程序非常相似。他們有相同的命名空間,類,控件......幾乎所有的東西。您可以在通用應用程序中使用許多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)上工作。對於任何未來的項目,這是一條路。

在我工作的公司中,我們在幾個月前轉而使用Universal apps。弄清楚我們將在兩個平臺上使用哪個用戶界面,以及如何正確使用,以及移植我們現有的庫需要一些時間(不要太多),但是現在製作新的應用程序並支持這兩種平臺非常容易。所以,對我而言,這就是要走的路。

+0

謝謝雅森。我不好,我應該更精確一點。當我說WINRT時,我正在談論項目的類型,而不是平臺的類型(手機,平板電腦)。我在解決方案中有很多Native項目。所以如果我需要將整個解決方案移植到通用應用程序中,那會有點太過分了。你不覺得嗎? – golldy 2014-11-24 22:34:09

+0

@golldy你的意思是Windows運行時組件項目類型?或者是其他東西?此外,Silverlight項目是否是「Native」項目? – yasen 2014-11-24 23:24:18

+0

我正在使用silverlight項目的原生項目。無論如何,我想將項目移植到Universal項目是一種可行的方式。 – golldy 2014-11-25 15:35:08

1

微軟很難停止支持Windows 10版本的手機中的Silverlight應用程序。即使WP8.1仍然支持WP7.0時代的XNA遊戲。

根據您在庫中使用的API,從Silverlight轉換到WinRT時的大部分更改將位於UI側,例如,如果您的Silverlight應用程序已經使用LocalStorage-API而不是甚至不需要更改的IsolatedStorage-API。

我的建議是以下幾點:

  • 評估無論您需要在通用應用程序支持(部分功能目前僅在Silverlight應用程序)
  • 評估無論您使用的是實際的API的所有功能通用應用程序支持或需要替換(IsolatedStorage => LocalStorage等)

用這些知識武裝我猜你會更好地計劃什麼時候將你的應用程序移植到新的API 。如果未來有可能使用平板電腦版本,並且在通用應用程序模型中支持所有必需的API,則可能需要比稍後移植更少的工作量。