Windows10-development-porting-to-windows
提供:Dev Guides
Windows 10 Dev-Windowsへの移植
この章では、既存のアプリWindows 8.1アプリケーションをユニバーサルWindowsプラットフォーム(UWP)に移植する方法を学習します。 顧客がすべての種類のデバイスにインストールできる単一のWindows 10アプリパッケージを作成できます。
アプリケーションをWindows 10 UWPに移植した後、アプリは次の恩恵を受けます-
- 刺激的な新しいハードウェア
- 大きな収益化の機会
- 最新のAPIセット、
- アダプティブUIコントロール、
- 適応設計とコード
- マウス、キーボード、タッチ、音声などのさまざまな入力モダリティ。
Windows 8.xプロジェクトをUWPプロジェクトに移植する
既存のWindows 8.xアプリケーションをユニバーサルWindowsプラットフォーム(UWP)に移植するには、2つのオプションがあります。
- オプション1 *-1つは、Visual Studioで新しいWindows 10プロジェクトを作成し、そこにファイルをコピーすることです。
- オプション2 *-もう1つのオプションは、アプリパッケージマニフェストを含む既存のプロジェクトファイルのコピーを編集することです。
以下は、最初のオプションを使用する際の主な手順です。
- Microsoft Visual Studio 2015を起動し、 UWPBookStore という名前の新しい空のアプリケーション(Windowsユニバーサル)プロジェクトを作成します。
- 新しいプロジェクトは、すべてのデバイスファミリで実行されるアプリパッケージ(appxファイル)をビルドします。
- Universal 8.1アプリプロジェクトで、再利用するすべてのソースコードファイルとビジュアルアセットファイルを特定します。 以下に示すのは、3つのプロジェクトを持つサンプルアプリケーションです。 1つはWindows用、2つ目はモバイル用、3つ目はWindowsとモバイル用の共有プロジェクトです。
- このアプリケーションを電話で実行すると、次のウィンドウが表示されます。
- ウィンドウアプリケーションを実行すると、次のアプリケーションが表示されます。
- 次に、新しく作成したUWPプロジェクトアプリケーションを開きます
- 共有プロジェクトから、ブックカバー画像(.png)ファイルを含む Assets \ CoverImages フォルダーをコピーします。 また、 ViewModel フォルダーと MainPage.xaml をコピーし、宛先のファイルを置き換えます。
- Windowsプロジェクトから、 BookstoreStyles.xaml をコピーします。 このファイルのすべてのリソースキーは、Windows 10アプリで解決されます。 同等の WindowsPhone ファイルにあるものはそうではありません。
- *ソリューションエクスプローラー*で、*すべてのファイルを表示*がオンになっていることを確認します。
- コピーしたファイルを選択して右クリックし、以下に示すように[プロジェクトに含める]をクリックします。
- これには、含まれるフォルダーが自動的に含まれます。 必要に応じて、*すべてのファイルを「オフ」*に切り替えることができます。
- これで、 Solution Explorer でプロジェクト構造は次のようになります。
- コピーしたソースコードとマークアップファイルを編集し、 Bookstore1_81 名前空間への参照を UWPBookStore 名前空間に変更します。
- 最も簡単な方法は、ネームスペースを Replace In Files 機能に置き換えることです。 ビューモデルでコードを変更する必要はありません。
- これで、上記のコードが実行されると、以下に示すように、ローカルマシンとモバイルで実行できます。
次に、2番目のオプションは、アプリパッケージマニフェストを含む既存のプロジェクトファイルのコピーを編集することです。 プロジェクトファイルと package.appmanifest ファイルは、Windows/phone 8.xからWindows 10に移植する際にいくつかの変更が必要です。
マイクロソフトはUWPプロジェクトアップグレードユーティリティを提供しています。これは、既存のアプリケーションを移植する際に非常に役立ちます。 このユーティリティは、https://github.com/Win10DevGuideMVA/ProjectUpgradeUtility/[github.com]からダウンロードできます。
理解を深めるために、上記の例を順を追って実行することをお勧めします。