SHOEISHA iD

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

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

【デブサミ関西2012】セッションレポート(AD)

【デブサミ関西2012】Windows 8時代に対応できるデスクトップアプリケーションとは?

セッションC-4「デスクトップアプリ開発者が押さえておきたいWindows 8 時代の変革」

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

 すでにRTMの提供が開始され、一般向けリリースも目前に迫ったWindows 8。タッチ操作に最適化されたWindowsストアアプリ(旧称Metroスタイルアプリ)が注目されているが、従来のWindowsアプリケーション(デスクトップアプリケーション)はどう変わっていくのだろうか? 本セッションでは、Windows 8時代のデスクトップアプリケーション開発において開発者が押さえておくべきポイントを、グレープシティの八巻氏が解説した。

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

グレープシティ株式会社
テクニカルエバンジェリスト 八巻 雄哉 氏
グレープシティ株式会社 テクニカルエバンジェリスト 八巻 雄哉 氏

互換性は問題ないが、ハードウェアの変革により
タッチ操作への対応が必要に

 Windows 8では、大きく分けて2種類のアプリケーションが存在する。一つは、タッチ操作に最適化されたWindowsストアアプリ(旧称:Metroスタイルアプリ)。そしてもう一つが、デスクトップ上で実行される従来型の「Windowsデスクトップアプリケーション(以下、デスクトップアプリケーショ ン)」だ。

 Windows 8に関して、「Windowsストアアプリ(旧称:Metroスタイルアプリ)」の情報は多数公開されているものの、デスクトップアプリケーションについての情報を目にすることは少ない。Windowsアプリケーション開発者としては、これまでのアプリケーション資産がデスクトップでそのまま問題なく使えるのか、また、今後デスクトップアプリケーションを開発する上で何が変わるのかといったことも気になるところだろう。

 八巻氏はまず、マイクロソフトのWindows開発者向けイベント「Build 2011」の基調講演で示された「Windows 8では、Windows 7で動作していたものがすべて動く」というメッセージを引用しながら、「アプリケーションの互換性については、ほとんど心配する必要はない」と説明。Windows 8では、Windows 7 と同様にVB6(Visual Basic 6.0)のランタイムがサポートされることも補足した。

 総じて、Windows 8ではWindows 7との高い互換性が保たれており、デスクトップアプリケーションの移行自体に大きな問題はないといえるだろう。とはいえ、「まったく変える必要がないわけではない」と八巻氏は強調する。

 「ソフトウェアは変わらなくても、今後ハードウェアが大きく変わっていく。そのハードウェアの変革にデスクトップアプリケーションも対応することが求められる」

 「ハードウェアの変革」の具体例として八巻氏が挙げるのは、タッチ操作可能なデバイスの普及だ。Windows 8の一般向けリリースと同時にマイクロソフトが発売する「Surface」(2012年9月時点で日本での発売は未定)のように、スレートPCとしてもノートPCとしても使える「ハイブリッド型PC」が登場し、今後ますます普及していくことが予想される。

 ノートPCとしてしか使えない従来のPCとハイブリッド型PCとの価格差がそれほどなければ、多くのユーザーは特にタッチ操作対応を望んでいないとしても後者を選ぶだろう。また、Windows 8はタッチ操作に最適化されたOSであることが広く認知されているため、ハードウェアメーカーとしても、タッチ操作に対応したWindows PCに主力製品をシフトしていくと考えられる。

 しかし、そもそもWindows 8でタッチ操作向けのアプリケーションに適しているのは、新しい「Windowsストアアプリ」のほうだ。あえてデスクトップアプリケーションをタッチ操作に対応させる必要はあるのだろうか? これについては、八巻氏は次のように説明した。

 「今後、ハイブリッド型PCのようにタッチ操作可能なPCが普及していくに従って、たとえタッチ操作をまったく考慮していないデスクトップアプリケーションであっても“タッチ操作されてしまう”というケースが増えていく。これは不可抗力であり、アプリケーション側でそれを拒むことはできない」

 なお、タッチ操作をまったく考慮していないデスクトップアプリケーションでも、ある程度はタッチ操作に対応できるように担保されている。Windows 7から搭載されている「レガシーサポート」と呼ばれる機能により、所定のタッチ操作に対応するマウス操作がエミュレートされるのだ。

 例えば、タッチ(タップ)したときにはマウスの左クリックに相当する操作(WM_LBUTTONDOWNメッセージ)となり、ブラウザなどで指2本を使ってピンチ操作したときには[Ctrl]キーを押しながらマウスホイールをスクロール操作するのと同じように拡大・縮小が行える(lParamでMK_CONTROLが設定されたWM_MOUSEWHEELメッセージ)。

(次ページ:「ディスプレイの高精細化」への対応も考慮すべきポイント

スレートPCとしても使えるハイブリッドPCが
今後さらに普及することで、デスクトップアプリケーションにも
本来は想定していなかったタッチ操作への対応が求められる。
スレートPCとしても使えるハイブリッドPCが今後さらに普及することで、デスクトップアプリケーションにも本来は想定していなかったタッチ操作への対応が求められる。

次のページ
「ディスプレイの高精細化」への対応も考慮すべきポイント

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

  • このエントリーをはてなブックマークに追加
【デブサミ関西2012】セッションレポート連載記事一覧

もっと読む

この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

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

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/6811 2012/10/16 15:00

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング