2012年5月27日日曜日

Windows 8 Metro スタイルアプリ開発セミナー"Developer Camp/ JavaScript編" に参加してきました

5月26日に Windows 8 Metro スタイルアプリ開発セミナー"Developer Camp/ JavaScript編" というマイクロソフト主催のセミナーに参加してきました。
このセミナー、3時間という長丁場で、しかも無料でした。

最近はIT系勉強会が活況のようで、自分もときどきWeb関連の勉強会に参加するのですが、いつも満員御礼の状態。定員オーバーで参加さえできないこともしばしばです。
そんな中、今回のセミナーは定員100人の会場に20人弱という低調さで、やや拍子抜けの感はありました。マイクロソフト(というか Windows)関連のセミナー(勉強会)っていつもこんな感じなんですかね。ただ、お陰で3時間の長丁場をかなり快適に過ごすことができました。

肝心のセミナーの内容はというと、Windows 8 の Metro スタイルアプリを JavaScript でどうやって作るのかをざっくり駆け足で解説します的なもの。
Developer Camp というお題だったので実際にモノを作ったりするのかと思いきや、スライドでの説明(もちろんパワポ)と若干のデモを見せてくれる程度でした。それでもボリューム満点、おなかいっぱいだったので満足です。

復習を兼ねて内容を簡単にまとめておきます。今回 Metro に関しての予備知識ゼロの状態で参加したので勘違いとかあるかもしれません。


1. Windows 8 の Metro スタイル UI を構築する

  •  JavaScript による開発スタイルを選択した場合は UI をHTML5 で作れる。ちなみに C# や C++ による開発の場合は XAML で作る。
  •  画面に表示するコントロール類は Metro UI というのが提供されていて、それを使うのが吉。jQuery UI みたいなものが標準で用意されているのでそれを使えと。
  •  Metro スタイルアプリは UX ガイドラインに沿うことが大事。審査があって、ガイドラインに沿っていないアプリは Windows Store で公開させてもらえない。
  •  UI で特に考慮すべき点は、スクリーンサイズ、スナップ表示、ポートレイト表示、ピクセル密度。ある程度はCSSのメディアクエリでいける。
  • タッチされることを意識してデザインすべし。小さすぎるコントロールはタッチできない。
  • アニメーションは見た目を派手にするためだけのものではない。処理経過を視覚的に伝えるという重要な役割がある。

2. コントラクトを使って Windows 8 のエクスペリエンスを統合する

  • 検索コントラクト・・・ Metro にはアプリを横断した検索機能がある。アプリに検索コントラクトを実装すれば検索の対象になれる。
  • 共有コントラクト・・・アプリのデータを他のアプリに送れる。写真をメールアプリに送ってメール送信するとか。自分がデータの受け側にもなれる。
  • 設定コントラクト・・・ Metro には共通の設定画面があって、どのアプリもその設定画面を開くと設定ができるようにデザインする。独自の設定画面を作ってはいけない。

3. Metro スタイルアプリの実行方法と実行タイミング

  • Metro スタイルではフォアグラウンドのアプリにリソースが集中的に割り当てられる。タスクの切り替えによってバックグラウンドに追いやられたアプリは5分後(未確認)に一時停止させられる。
  • 一時停止させられたアプリはフォアグラウンドに呼び戻されると再開する。再開時には特にすべきことはないらしい。
  • システムリソースが不足してくると一時停止状態のアプリが OS によって終了させられることがある。しかもアプリへの終了通知はない。(強制終了のような感じ)
  • その代わり一時停止の際にアプリに通知がくるので、そのタイミングで作業状況を sessionState オブジェクトに保存しておく。(終了させられても状態を復元できるように)
  • アプリは自分が起動した際に前回どうして終了したのかを確認し、sessionState から作業状況を復元する。ユーザからは何事もなくアプリが継続動作しているように見える。(このへんは理解が曖昧)
  • オーディオプレイヤーなど、バックグラウンドにまわされても動き続けてほしいアプリに対しては特例措置があるみたい。 (このへんも理解が曖昧)

4. タイルと通知

  • Windows 8 のスタートメニューにアプリがタイル状に表示される。タイルはただのアイコンにあらず。
  • アプリは複数のタイルを持つことが出来る。二つ目以降のタイルをセカンダリタイルという。
  • タイルの内容はアニメーションさせたり、一定間隔で更新したり、プッシュ通知で外部から更新することも可能。
  • プッシュ通知は Windows 通知サービス(WNS)という無料のサービスを利用できる。自分でサーバを用意(または任意のクラウドサービスを利用)して WNS にデータを送信すると、WNS がユーザにプッシュ通知してくれるらしい。
  • 現状 Windows Store に登録されているアプリで WNS を使っているものはほとんどないらしく、これを使ったアプリを作れば目立てるらしい。

5. タッチファースト

  • アプリはタッチやペンを意識してデザインする必要があるが、イベントの管理はマウスと区別する必要はない。
  • 移動、拡大縮小、回転などをマニュピレーションという。このようなイベントも開始と終了の状態変化を簡単に拾える。


まとめは以上です。
やっぱり簡単なものでも実際に作ってみないと理解は深まりませんね。
でも開発の取っ掛かりとしては今回の話は大変参考になりました。

0 件のコメント:

コメントを投稿