Metro スタイル アプリ開発の基本「非同期」とは? #wddjp @maskin

TECH WAVE / 2012年4月25日 15時0分




Windows 8 Metro スタイル アプリ 開発週間 powered by MSP

screenshot_109
次期バージョンのオペレーティング システムとなる Windows 8 の可能性と技術情報を提供する「Windows Developer Days」。TechWaveでは、アプリ開発を通じてグローバルに活躍したい学生を支援する「Microsoft Student Partners (MSP)」と共にその模様をお伝えしていきます! →[まとめページ]



metro_anync

 Metro スタイル アプリ開発の大きなポイントとして「非同期」が上げられる。非同期とは何か? それが、Metro スタイル アプリにどんな効果をもたらすのか? ここでは非同期の説明とその重要さについて説明しよう。(画面は、基調講演でデモをするスティーブン・シノフスキー氏。すぐに起動し、すぐスリープできる軽快さをアピール)
 さて、まず「データをダウンロードして表示する」という処理をすることを思い浮かべて欲しい。



 “同期”の場合、ダウンロード中に他の操作をすることができない。ダウンロード処理が終了のするのを待ち、それから次の処理に移るというもの。



[データダウンロードを実行]→[ダウンロード]→[ファイルとして保存]→[開く]



 電話をイメージすると解りやすい。電話をかけ、相手が出て、通話を始めるというプロセスこそ同期である。考えてみれば、私たちが日頃仕様するWebの世界はクリックして次の表示が出るまで待機するというのがほとんどである。つまりこれまで私たちが普通に触れてきたWebは「同期の世界」と言える。



 では、非同期の場合どうなるか?データのダウンロードを待たずに、次の処理を実行できるようになる。つまり、[データダウンロードを実行]した後、[ダウンロード]処理は実行されるのだが終了を待つ必要はない。



 その間、他の機能を実行することが可能で、いくらダウンロードに時間がかかっていても「アプリケーションが応答しません」といったメッセージが表示されることはない。[ファイルとして保存]→[開く]という処理は、ダウンロードが終了した時点で実行される。



なぜ、非同期が基本なのか?



 非同期プログラミンを採用する理由は、Windows 8 および Metro スタイルの原則として提示される「高速でなめらか」というコンセプトに大きく関係する。



 Windows 8 はタブレットが基本で、その上で「高速でなめらか」を実現するために、応答速度の速さはもちろん、タッチ感覚をスピーディにする処理やアニメーソンが重要となってくる。



 例えば、ボタンをタッチして、次の処理が開始されるまでにいわゆる「待機中」マークが頻発されるようだと高速さは感じられない。また、これはタッチインターフェイスならではの問題とも言えるが、タッチやスクロールなどの操作がぎこちなくなるようだと“なめらかさ” は減少することになる。



 マウス操作に慣れた私達は、瞬間的に待つことを意識することは少ないが、タッチUIの操作で大量の情報をグリグリブラウズする Metro スタイル アプリ となると、その影響は大きいとのこと。冒頭でスノフスキー氏がウルトラブックを使ったデモの写真を掲載したが、こうしたWindows 8 端末全体のUXのデザインに非同期は大きく関与していると言える。



【関連URL】

●Windows 8 Consumer Preview

http://windows.microsoft.com/ja-JP/windows-8/download

●デベロッパーセンター ~ Metro スタイル アプリ

http://msdn.microsoft.com/ja-jp/windows/apps/

●MSP フェローシップ募集ページ

http://msdn.microsoft.com/ja-jp/academic/hh455211

●イマジンカップ世界大会 学生レポーター募集!

http://blogs.msdn.com/b/microsoft_japan_academic/archive/2012/04/24/msp-japan-social-media-member.aspx



蛇足:僕はこう思ったッス

本文中で「これまでのWebは同期の世界」という表現をしたが、すでに非同期処理はJavaScriptでも「jQuery」「dojo」「node.js」といったもので実装されている。なので「非同期で動作するサイトを見た」という人もいるかもしれない。

実際のプログラミングにおいては色々な知識は経験が必要になるが、非同期になることで、アプリの使い勝手やUXがどう変わるのか気になるところ。


著者プロフィール:TechWave副編集長・イマジニア 増田(maskin)真樹

 8才でプログラマ、12才で起業。18才でライター。日米のIT/ネットをあれこれ見つつ、生み伝えることを生業として今ここに。1990年代はソフト/ハード開発&マーケティング→週刊アスキーなど多数のIT関連媒体で雑誌ライターとして疾走後、シリコンバレーでベンチャー起業に参画。帰国後、ネットエイジ等で複数のスタートアップに関与。関心空間、@cosme、ニフティやソニーなどのブログ&SNS国内展開に広く関与。坂本龍一氏などが参加するプロジェクトのブログ立ち上げなどを主導。 Rick Smolanの24hours in CyberSpaceの数少ない日本人被写体として現MITメディアラボ所長 伊藤穣一氏らと出演。大手携帯キャリア公式ニュースサイト編集デスク。TechWaveでは創出支援に注力。
メール maskin(at)metamix.com | 書籍情報・Twitter @maskinChatWorkcoffee-meeting 詳しいプロフィールはこちら





ヤフー、アスクルを傘下に【増田(@maskin)真樹】
LINEのスタンプ、台湾、タイで売上首位【湯川】
co-baライブラリ完成、5月7日オープンに先駆け見学会など実施 【増田(@maskin)真樹】
情報デザインを “仕組み化” したWindows 8、ハブ&スポークで没入観を演出 #wddjp @maskin
ケンコーコムらが逆転勝訴、市販薬のインターネット販売規制訴訟 【増田(@maskin)真樹】 #otcEC

TECH WAVE

この記事に関連するニュース

トピックスRSS

ランキング