web-dev-qa-db-ja.com

Windows Phone8.1とWindowsPhone Silverlight8.1の違い

私はすでにWindowsPhone 8を使用しており、新しいOSバージョンで作業を開始する予定であるため、Windows Phone8.1の開発について読んでいました。

次に、更新プログラム4を使用してVisual Studio for Windowsをダウンロードし、自分のプロジェクト(WP8を対象とする)を1つ開き、[8.1にアップグレード]をクリックしました。

私のソリューションが名前を「WindowsPhoneSilverLight8.1」に変更したのを見ました。

次に、Windows Phone 8.1をターゲットとする新しいプロジェクトを作成しようとしましたが、Visual C#ツリーの下に次のオプションが表示されました(画像を参照)。

  • ユニバーサルアプリ
  • Windowsアプリ
  • WindowsPhoneアプリ

enter image description here

私の目標はWindowsPhone 8.1を搭載した電話デバイス向けに開発することなので、「WindowsPhoneアプリ」を選択しました。しかし、このプロジェクトは他のプロジェクト(WP8からアップグレードしたもの)とは少し違うことがわかりました。ソリューションでは、「Windows PhoneSilverLight8.1」ではなく「WindowsPhone8.1」と表示されます。また、コードも大きく異なります。

そこで、「Windows PhoneSilverLight8.1」と「WindowsPhone8.1」の違いを理解するために、次のような投稿を読んでみました。

でも、理解できるものは何も見つかりませんでした。

ある時点で、「Windows Phone 8.1」はユニバーサルアプリ用だという答えを見つけました...しかし、ユニバーサルアプリを作成したい場合は、「WindowsPhoneアプリ」ではなく「ユニバーサルアプリ」を選択することに同意しません。 。

この2つのプロジェクトの違いを正確に知っている人はいますか?

17

主な違いは、Windows Phone 8.1ストアアプリは、Silverlightでは使用できないWinRTAPIを厳密に使用することです。

読み進める前に、これは短いバージョンです。

  • Windows Phone 8.1ストアアプリコードは、統合されたWinRT APIを使用するため、すべてのWindows Phone 8.1以降およびWindows 8以降のマシンで実行されます。
  • Windows Phone Silverlightアプリコードは、すべてのWindows Phone 7 +で実行されますが、すべてのWindows 8マシンでは実行されません(ARMマシンはすべての機能をサポートしているわけではありません)。これが、WindowsストアアプリがさまざまなAPI(WinRT)を使用している理由です。このリンクを確認することをお勧めします: http://msdn.Microsoft.com/en-us/library/windows/apps/jj681690%28v=vs.105%29.aspx

Windows Phoneはバージョン8までのSilverlightアプリのみを使用していましたが、Windows 8(アップ)のアプリもWinRTAPIを提供していました-Windows8 RTバージョンのARM CPU。。

つまり、SilverlightとWinRTの無限の並列処理を停止するために、Microsoftは開発プロセスを統合することを決定しました。 Windows Phone 8.1以降、Windows PhoneはWinRT(Windowsランタイムとしてブランド名が変更された)アプリも実行します。

主な利点は、両方が同じAPIを使用しているため、Windows Phone8.1コードをWindows8.1アプリに簡単に移植できることです。ファイル、ストレージ、ネットワークへのアクセス..それはWindowsPhone全体とWindowsストアアプリですべて同じです。

ここでユニバーサルアプリが活躍します。後で新しいプロジェクトを作成してコードを移植する代わりに、Windows Phone8.1とWindows8.1の両方の共有コードを含むユニバーサルプロジェクトを簡単に作成できるようになりました。

ただし、欠点は、アプリが8.1未満のWindowsPhoneで実行されないことです。

22
Fred

違いは、アプリが使用するフレームワークにあります。

SilverlightはFlashのようなプラグインであるため、Silverlightを使用するアプリを開発する場合は、彼のライブラリ/構文を使用する必要があります。これは、Webおよび電話アプリケーションを開発するための古い方法です。

Universalは、開発者がWindowsPhoneまたはWindowsStoreの両方で実行されるアプリを作成できるようにするためにMicrosoftが開発した新しいフレームワークです。

だから、あなたがインターネットで見つけたものは正しいです:電話アプリはユニバーサルフレームワーク用です。 VSが提供する音声の意味:-ユニバーサルアプリ:任意のデバイス(電話/タブレット/ PC)用-電話アプリ:電話専用(注意してください!ユニバーサルアプリは電話で実行できるため、ユニバーサルアプリ用に開発された任意のライブラリを使用できます)-Windowsアプリ:タブレット/ PCのみ(電話なし)。電話アプリと同じようにユニバーサルアプリライブラリを使用できます

これがお役に立てば幸いです

2
Gianni Piolanti