ユニバーサルWindowsアプリ(Pre)入門004:初期プロジェクトを眺めてみる

金曜日 , 19, 6月 2015 Leave a comment

ユニバーサルWindowsアプリケーションの初期プロジェクトを作成して、その中身を覗いてみましょう。

(毎度ですが、本記事はプレビュー版ベースです。正式版では変更される可能性があります)

 

テンプレートは一つだけ

 

Visual Studio 2015 RCで新しいプロジェクトを作成します。

002

 

「新しいプロジェクト」ポップアップウィンドウの左ナビから「Visual C#」→「Windows」→「Windows Universal」を選択します。

001

 

Blank Appを選択します。Hubアプリのようなある程度画面ができたタイプのテンプレートは今のところ無いようですね。

Download Windows Universal ToolsからはVisual Studioインストール時にユニバーサルWindowsアプリの開発ツールをインストールしなかった場合に追加できます。

 

ファイル構成

 

ソリューションエクスプローラーの中身はこんな感じ。

003

8.1のユニバーサルアプリと似たような構成ですね(App.xamlとかMainPage.xamlなど)。大きな違いは、一つのプロジェクトでWindows Phone、ストアアプリ両方(さらにIoTやXBoxも)に対応している点です。

8.1の頃のプロジェクトを参考に見てみると・・・。

004

こんな感じで、ストアアプリ用、Phone用、そして共有のSharedの3つのプロジェクトが作られていました。

 

App.xaml

 

App.xamlは再利用したいXAML定義などのリソースを記述できるファイルです。コードは8.1とほぼ同様です。

 

<Application
    x:Class="App1.App"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:local="using:App1"
    RequestedTheme="Light">

</Application>

 

RequestedThemeにLightが指定されているので、初期背景が白に近い色になっています。

8.1の頃のように黒地にしたい場合はDark指定で。

 

App.xaml.cs

 

App.xaml.csは起動時や終了時の処理を記述するファイルですが、この辺の流れもWinRTとほとんど同じな気がします(もしかしたら共有できるレベルかも)。

ちょっと脇に道ですが、Visual Studio 2015 RCだとこんな感じで、利用してないUsingがグレー表示されて、一気に削除することができます。

005

006

 

MainPage.xaml(とxaml.cs)

 

画面を表すファイルです。初期プロジェクトだと、最初にここに定義された画面を表示します。

「.xaml」には、XAMLというXMLを用いて、画面の表示を定義します。「.xaml.cs」にはページのロジックを記述します。

8.1からの比較でいうと、これまたほとんど変わりないですね。

 

Package.appxmanifest

 

ここにはアプリケーションの設定や規約を記述します。

8.1の頃のようなGUIで設定できるデザイナーは今のところ無いようです。

TargetDeviceFamilyで対応するアプリケーションなどを指定できるようです。デフォルトはWindows.Universalで、これを変更することでストアアプリのみや、ストアアプリとPhoneのみでXBoxには展開しないなどが指定できるとか。

 

  <Dependencies>
    <TargetDeviceFamily Name="Windows.Universal" MinVersion="10.0.10069.0" MaxVersionTested="10.0.10069.0" />
  </Dependencies>

 

 

Assets

 

Assetsは画像などの素材を配置するフォルダーです。

この辺の構成も8.1同様。

 

パッケージを作ってみる

 

ユニバーサルWindowsアプリは一つのバイナリでIoTにもストアプリにも、電話にも対応します。これまでのメトロUI(と呼ばれていた)アプリケーションの歴史から見ると「ようやくここまで来たかぁ」という感慨がわいてきますね。

というわけで、そのパッケージを作ってみようと思います。

 

007

さすがに、Windowsストアにアップロードするパッケージは作成できない(選択できなくなっていました)。

パッケージはアーキテクチャ毎に作成されます(x64、x86、ARM)。

008

 

まとめ

 

初期プロジェクトを眺めた感じだと、やはりこれまでのWindows Phone、ストアアプリなどの流れを組むのでその辺の知識は役に立ちそうだという感触です。

WinRTを用いた開発経験がある場合は、一つのプロジェクトの中でどのようにデバイス毎の挙動の違い(画面、使えるセンサーなど)を表現するのかや、新しく変更、追加になったAPIなどを押えて行けば良さそうです。

 


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください