SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

速習 Windowsストアアプリケーション

ユニバーサルWindowsアプリケーションの概要と特徴

速習 Windowsストアアプリケーション 番外編 第2回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Sharedプロジェクトについて

 これまで異なるプラットフォーム開発においてソースコードを共有する仕組みとしてはポータブルクラスライブラリ(PCL)がありました、Sharedプロジェクトは加えて新たなソースコード共有の手段を提供した形になりますが、この2つにはいくつか違いがあります。

 PCLは文字通り、ポータブル=移植可能なライブラリです。そのため対応するプラットフォーム(Windowsストアアプリ、Silverlight、Xamarinなど)で共通して利用可能なコードのみそこに記載することになります。対応させたプラットフォームそれぞれで利用可能なクラスライブラリを生成します。

 それとは異なりSharedプロジェクトは単純にコードの共有です。その中ではWindowsストアアプリ固有のコードを記載することもできますが、先に説明したように、条件(#if WINDOWS_PHONE_APPなど)をつけて記述することになります。

 Xamarin3ではXamarinプロジェクトもShared対応するなど、WindowsストアアプリとWindows Phone限定というものでもなくなりましたが、それぞれのプラットフォーム依存のコードが増えればどうしても条件を多く書くことになります。言い換えると、PCLとは異なりそこにプラットフォーム共通でないコードを書くことができるという利点があるとも言えます。

 また、Sharedプロジェクトは単純にコードを共有すると書いたとおり、それだけをビルドしてdllを作成するということもできません。

 これらの特徴を検討した上でPCLかSharedのどちらか(もしくはどちらとも)を利用するのか判断して開発を進めると良いでしょう。

完全に共有化できるわけではない

 テンプレートを見ても分かる通り、画面を定義するXAMLファイルは共有化されていません。これは以下に述べるように画面を構成する部品、コントロールが完全に同一ではないなどの要因もありますが、主にタブレットとスマートフォンという画面サイズの問題です

 画面に関しては、無理に共有化せずにWindowsストアアプリ、Windows Phoneでそれぞれの画面サイズに合わせたデザインを行うべきだと考えます。

 コントロールについてもアプリケーションバーの違いや、フライアウトなど同じフラットなUIとはいえ違いがあります。

 また、PCまたはタブレットでの利用を想定しているWindowsストアアプリと、スマートフォンであるWindows Phoneとではハードウェア的な違いがあり、その部分のAPIは共有化できない部分となります。

 たとえば、Windowsストアアプリでは手書き入力に対応したInkManegerという機能がありますが、これはWindows Phoneでは利用できないため異なる処理を記述する必要があります。

広がるVisual Studio開発の世界

 本記事では新しいユニバーサルWindowsアプリケーションの、WindowsストアアプリとWindows Phoneアプリをコードを共有しながら開発できるという特徴について紹介してきました。

 また、Xamarin、Apache Cordovaなど、Visual Studioを利用してiPhoneやAndroidアプリが開発可能になるというツールも登場してきました。今後、Visual Studioというツールはますます開発者に取って、たくさんのプラットフォームに挑戦できるものになっていくでしょう。

 本記事でも、Windowsストアアプリ開発を軸にしながら、開発者が自分の力を更に広く発揮できるように、ユニバーサルWindowsアプリケーションや、Xamarinなどの開発について紹介していければと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
速習 Windowsストアアプリケーション連載記事一覧

もっと読む

この記事の著者

西村 誠(ニシムラ マコト)

 Microsoft MVP Windows Platform Development。 Flash、PHPの開発経験もあり国産ECサイト構築フレームワーク「EC-CUBE」の公式エバンジェリストでもある。 ブログ:眠るシーラカンスと水底のプログラマー 著書:基礎から学ぶ Windowsストアアプリ開発

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7834 2014/06/24 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング