web-dev-qa-db-ja.com

ユニバーサルWindowsプラットフォームは、Windows8およびWindowsPhoneアプリのWinRTに代わるものですか?

ユニバーサルWindowsプラットフォームは、Windows8およびWindowsPhoneアプリのWinRTに代わるものですか?つまり、Windows 8専用のメトロアプリを開発するためのWinRTプラットフォームがありました。今では、それはUWPに置き換えられていますね。

16
HappyFace

正解です。UWPは、今後のすべてのWindowsデバイス(Win 10以降)向けの新しいプラットフォームです。ただし、WinRTはUWPに置き換えられるのではなく、その上に拡張されているため、UWPは、さらに多くのデバイスで使用できるはるかに幅広いAPIのセットになります。 Microsoft自身が述べているように:

この進化により、UWPを対象とするアプリは、すべてのデバイスに共通のWinRT APIだけでなく、アプリが実行されているデバイスファミリに固有のAPI(Win32および.NET APIを含む)も呼び出すことができます。

UWPプラットフォームは、「ユニバーサルデバイスファミリ」クラスのAPIをサポートします。このクラスは、すべてのWindowsプラットフォーム(Xbox、電話、デスクトップなど)でサポートされます。 「モバイルデバイスファミリー」など、アプリの到達範囲を制限するために使用できる拡張機能ファミリーがいくつかあります。

ただし、これらの特定のデバイスファミリAPIは、実行時に正常にチェックして使用できます。たとえば、電話でGPSを使用して自分の位置を表示できますが、Xboxではその機能を有効にできません。

この回答がお役に立てば幸いです。これについて他に質問がある場合は、UWPプラットフォームに関するこの記事を読むことをお勧めします。

ソース: https://msdn.Microsoft.com/library/windows/apps/dn894631.aspx

素敵な一日を!

23
ILOABN

Windows 8.xでは、「Windowsランタイム」は実際にはいくつかの異なるものを指すために使用されていたため、これは少し混乱します。

  1. Windows APIを定義および使用するための新しいパターン(およびサポートするコード/ OSコンポーネント)。ほとんどのシナリオで、新しいAPIの「Win32」(フラットCスタイル)および従来のCOMに大きく取って代わることを目的としています。これは実際には言語の相互運用に関するものでした。Windowsチーム(および場合によっては他のチーム)が、GCやCLRのようなランタイムに依存しないAPIを公開するコンポーネントをC++で作成できるようにしますが、C#または手動で作成されたラッパーを必要としないJavaScript。

  2. 上記のパターンに従うWindowsAPIのセット。

  3. 新しいタイプのWindowsアプリを構築および実行するための新しいプラットフォーム/環境。これは、システムのセキュリティ、信頼性、パフォーマンス、バッテリー寿命などの潜在的な問題を少なくするという点で、モバイルアプリとWebアプリのいくつかの特性を備えていることを目的としています。 Thisは、Windows10でUWPに進化したものです。

Windows 8の時代、これらのアプリは8.0の公開プレビュー期間のほとんどで「メトロスタイルのアプリ」と呼ばれ、RTMの直前に正式に「Windowsストアアプリ」と呼ばれていました。 platform/environmentこれらのアプリの場合...正式には名前がありませんでした(「Metroスタイルのアプリのプラットフォーム」以外)。非公式に、人々(マイクロソフトを含む)はそれを「メトロ」(それ自体がワームの缶全体)または...「WinRT」と呼ぶことがありました。

では、WinRTの「適切な」(定義1および2)と非公式のWinRT定義(3)、別名UWP、別名「メトロスタイルアプリのプラットフォーム」との関係は何でしょうか。 WinRTと新しいアプリプラットフォームの両方がWindows8で導入されたため、当時のWinRTAPIのほとんどは新しいプラットフォームに固有のものでした。当時のアプリプラットフォーム(およびストアポリシー)は、アプリでの使用が許可されているレガシーWin32 APIについてもはるかに制限されていました。ほとんどの場合、これは技術的な制限ではなく、新しいアプリの使用を希望するチームに関するものでした。肥大化したWin32APIサーフェスをクリーンアップするための言い訳として。ただし、技術的には、WinRTは、UWAで使用されるかどうかに関係なく、一般に新しいWindows APIの一般的なパターンであり、「UWAvs。クラシックアプリ」と「WinRTvs.Win32」はほとんど独立しています。時間の経過とともに、UWAの外部で使用できるWinRT APIを徐々に有効にし、アプリで多くのレガシーWin32 APIを使用するポリシーを緩和しました(また、特定のユースケース向けに新しいフラットCスタイルAPIを導入し続けました)。

要約すると、「UWPがWinRTに取って代わった」と言うのは技術的に正確ではありませんが、これはかなり混乱しているので理解できます。 UWPは名前のないアプリプラットフォームに取って代わりました(3)。基本的には、他のデバイスタイプに移植され、従来のデスクトップUIと統合された単なる更新バージョンです。 WinRTは、その適切な定義(1)で、UWA内およびUWAの外部で使用するための新しいWindowsAPIの基盤であり続けます。

8
Max Strini

Windowsユニバーサルプラットフォームは、Windowsを実行しているデバイス向けの今後の開発プラットフォームです。以前は、開発はデスクトップとタブレットと電話で別々でした。 UWPを使用すると、電話、デスクトップ、タブレット、Xboxなど、Windows10を実行しているすべてのデバイスをターゲットにできるようになります。美しさは、これらすべてのプラットフォームに1つのバイナリを使用できるようになり、ユニバーサルWindowsアプリに非常に近づいたことです。

だから、あなたの質問に答えるために、はい、UWPはWindows10を実行するすべてのデバイスのための今後のプラットフォームです

0
James Quick