連載:.NET中心会議議事録

第8回 Windows 8 時代に向けてアプリ開発と技術選択を考える

デジタルアドバンテージ 一色 政彦
2012/05/31

 2012年5月19日(土曜日)、@IT/.NET開発者中心コーナー主催のオフライン・セミナー「第8回 .NET中心会議」(スポンサー:グレープシティ)が開かれた。

会場の様子

 今回のテーマは、まもなくやってくる「Windows 8時代」。この新時代では、従来からの.NETやSilverlightに加えて、WinRT(=C#やVBなどの.NET言語/C++/JavaScriptで開発可能なアプリのためのプラットフォーム)が新たな開発基盤として登場し、「安定技術〜次世代技術」と技術選択の幅が広がるだけでなく、「デスクトップ・アプリ〜Webアプリ〜スマートフォン&タブレット」とアプリ種別選択の幅も拡大することになりそうである。そのような状況で、技術者がこれから未来に向けて、どのような指針で技術選択をすればよいのかを講演&議論した。セミナーの構成は、下記のとおり。

  1. 基調講演『まもなくやってくる Windows 8 時代のアプリ開発』
  2. 開発セッション1『Metroスタイル・アプリの作り方【C#/VB編】』
  3. 開発セッション2『Metroスタイル・アプリの作り方【JavaScript編】』
  4. パネル・ディスカッション『Windows 8 時代のアプリ開発と技術選択を考える 〜.NET/Win32やSilverlightの既存アプリとMetroスタイル・アプリの開発はどうなる?どうする?〜』
  5. 交流会

 本稿では、基調講演および各セッションのUstream中継の動画を視聴・閲覧できるようにしている。なお、Twitter上でさまざまなコメントがツイートされたが、その内容は「第8回.NET中心会議の反応まとめ - Togetter」に残されている。

基調講演『まもなくやってくる Windows 8 時代のアプリ開発』

 基調講演では、C#言語や.NET開発基盤の仕組みに詳しい岩永 信之 氏が、Windows 8 の新API「WinRT」と、それに関連する技術について説明した。また、既存のデスクトップ技術と新しいWinRTとの対比や、Metroスタイル・アプリで使える各開発言語(.NET言語/C++/JavaScript)の立ち位置や使い分けのポイントについて説明した。

講師 岩永 信之 氏 取りあえず「C#」でググってbingでも可)ほしい。上位に出てきた「C# によるプログラミング入門」というのが岩永氏のサイトである。@ITではWPFSilverlightの連載などを執筆している
講師のプロフィール

 基調講演の詳しい内容については、以下のUstream中継の動画を閲覧・視聴してほしい。

【配信終了】基調講演のUstream中継の動画
セッションは00:02:45(2分45秒)〜01:02:00(1時間2分)まで。

開発セッション1『Metroスタイル・アプリの作り方【C#/VB編】』

 続いて開発セッション1では、業務利用でのWPF/Silverlightアプリ開発に詳しいグレープシティ株式会社 八巻 雄哉 氏が、「XAML+C#/VB」によるMetroスタイル・アプリの作り方を、デモを交えて解説した。また、その開発の際に押さえておくべきポイントや、「WPF/SilvelightのXAML」と「WinRTのXAML」の違いについても説明した。

講師 グレープシティ株式会社
八巻 雄哉 氏
コンポーネント・ベンダのエバンジェリスト。UIコンポーネントを多数、開発/販売している会社なので、「主に業務アプリケーションのUX構築にどうすれば貢献できるか」を日夜考えている
講師のプロフィール

 開発セッション1の内容については、以下のUstream中継の動画を閲覧・視聴してほしい。

【配信終了】開発セッション1のUstream中継の動画
セッションは01:03:20(1時間3分20秒)〜01:32:10(1時間32分10秒)まで。

開発セッション2『Metroスタイル・アプリの作り方【JavaScript編】』

 さらに開発セッション2では、.NET以外(Javaなど)の開発技術やWindows AzureなどのWeb開発関連に詳しい株式会社野村総合研究所 勇 大地 氏が、「HTML5+JavaScript&CSS3」によるMetroスタイル・アプリの開発方法を、デモを交えて解説した。また、HTML5によるMetroスタイル・アプリの開発が、HTML5のWebアプリ開発と何が異なるのか、C#/VBでのMetroスタイル・アプリとの違い、実際のアプリ開発時に注意するポイントなどを説明した。

講師 株式会社野村総合研究所
勇 大地 氏
Microsoft MVP for Windows Azureを受賞。わんくま同盟JAZ(Japan Windows Azure User Group)のメンバー。『Windows Azureテクニカルハンドブック』の共同執筆者の1人
講師のプロフィール

 開発セッション2の内容については、以下のUstream中継の動画を閲覧・視聴してほしい。

【配信終了】開発セッション2のUstream中継の動画
セッションは01:42:45(1時間42分45秒)〜02:13:00(2時間13分)まで。

パネル・ディスカッション『Windows 8 時代に向けてアプリ開発と技術選択を考える』

 パネル・ディスカッションでは、「Windows 8時代に到来に備えて、これから開発するアプリの種別や開発技術の選択について悩んでいる開発者」を主な聴講対象として、「.NET/Win32やSilverlightの既存アプリとMetroスタイル・アプリの開発は、今後どうなっていくのか? そのとき、開発者はどういう選択をすればよいのか?」を議論した。ご登壇いただいたのは、下記の方々である。

パネリスト 岩永 信之 氏 (前述のため省略)
グレープシティ株式会社
八巻 雄哉 氏
(前述のため省略)
株式会社野村総合研究所
勇 大地 氏
(前述のため省略)
中島 薫 氏 サイボウズの研究子会社の「サイボウズ・ラボ」所属。主にWindows関連での先行開発やリサーチをしている。最近2年間はWindows Phoneを中心に開発しており、SilverlightやWindows 8の開発にも取り組んでいる
モデレータ デジタルアドバンテージ
小川 誉久
@IT Insider.NETフォーラムを運営しており、Windows Server Insiderを中心に記事編集・執筆・企画などを行っている
登壇者のプロフィール

 以下は、パネル・ディスカッションで筆者が重要だと思ったポイントである(以下、敬称略)。ここに書き出している以外にも注目すべき発言が多々あったので、興味がある方はぜひUstream動画を視聴してほしい。

―― Windows 8のMetroスタイル・アプリは、従来のマウス操作にはない、使い勝手のよいところはあるか?

中島 「Windows 8のUI(ユーザー・インターフェイス)は、両手で持って、両方の指で右から左からと操作できるようになっている。このデザイン・コンセプトは、手前中央にキーボードのあるノートPCでのタッチ利用としても使いやすい。」

―― 「コンシューマ向けにはWindows 8端末は広く普及しそうだ」という予測が多いが、Metroスタイル・アプリではない、従来のデスクトップ・アプリはどれくらい使えるのか?

八巻 「実はWindows 8にもVisual Basic 6(VB6)ランタイムが搭載されており、つまりVB6時代のデスクトップ・アプリも使える。」

中島 「同じように大昔のAXキーボードのドライバなどが入っている。このようにWindows 8の中身は、Windows 7からそれほど大きく変更されているわけではないので、Windows 7上で動作する大半の既存アプリはそのまま動くだろう。」

―― では、従来のデスクトップ・アプリはタッチ操作でも使えるのか?

中島 「従来のデスクトップ・アプリは、指先のサイズに合うボタン・サイズになっていないなど、タッチ操作に最適化されているわけではないので、実際に使ってみると使いにくいと予想される。」

岩永 「デスクトップ・アプリのUIは、例えば右クリックやマウス・オーバーを前提にしているものが多い。タッチ操作で、長押しして右クリック相当にすることはできるが、マウス・オーバーはできない。」

―― タッチ操作を前提としたデスクトップ・アプリを新規開発する可能性はあるか?

 「ないと思う。というのも、タッチ操作を前提にするなら、今はiPadやAndroid端末を採用することになる。それと同じで、Windows系の端末を採用したいなら、タッチ操作に最適化されたWindows 8のMetroスタイル・アプリが登場するまで待つから。タッチ操作前提のデスクトップ・アプリという妙な作り込みをしてしまうと、製品サポートを受けにくいという問題もあり、費用対効果に見合わないアプリケーションを作成することになる恐れがある。」

―― 標準技術のHTML5/CSS3などを使って、各種タブレット向けに共通のWebアプリを作った方が、開発効率がよいのではないか?

 「iPad/Android端末/Windows RT端末全てに共通で使えるWebアプリを統一的に作れるのかというと、不可能ではないが、非常に困難となる。そうすることで、かえって開発コストが何十倍にも増えてしまう可能性もあり、非現実的な技術選択となってしまう。標準とはいっても、ある程度は特定のプラットフォーム向けの記述を含めなければユーザが満足感の得られるUXとはならないことが多いため、そういったトレードオフを考慮してWebアプリにするかネイティブ・アプリにするかを考えた方がよい。」

中島 「Windows 8はドキュメントがそろっているわけでもなく、仕様も最終製品までには少し変わったりする可能性がある。そういったさまざまな課題を考えると、Windows 8を含めたタブレット向けのWebアプリ開発でも、スマートフォンと同じように、jQuery Mobileのようなラッパーのライブラリを利用するというのが主流になるだろう。」

八巻 「Webアプリにするかネイティブ・アプリにするかは、開発チーム・メンバーのスキルと開発生産性なども見て決める必要がある。」

 「例えばセミナーなどでHTML5アプリのプレゼンを見て、『HTML5はすごい』と思っている人も少なくないと思うが、それを作った技術者自身が、HTML5開発ですごいスキルを持っており、しかもその人がはまりにはまって完成させたものであったりすることが多い。ネイティブ・アプリでの開発を採用した場合であれば、多くの開発者がそれほどはまらずにHTML5アプリと似たアプリケーションを開発できる。Webアプリの機能性が進化してきたのは事実だが、ネイティブ・アプリの開発しやすさと比べると、脇の甘いところがあると思う。」

―― Metroスタイル・アプリを作る場合、「HTML5+JavaScript」と「XAML+.NET(C#など)」のスキルが同じ程度あるなら、どちらで作るのがベストか?

 「.NETの方がよいと思う。HTML5で書いた方がよいケースは、HTML5の既存資産がある場合(例えばHTML5で組まれた凝ったUIデザインをMetroスタイル・アプリに載せたい場合など)。そういった制限がなく、一から開発するのであれば、やはり.NETが開発しやすい。特に.NETは、マイクロソフトが一番押している技術なので、サポートや技術情報の充実度の面でも安心だ。」

【配信終了】パネル・ディスカッションのUstream中継された過去動画
セッション開始は02:17:15(2時間17分15秒)から。

 次回の.NET中心会議のテーマとしては、「HTML5とIE10」を検討中である。8月ごろには開催できる予定なので、ご期待いただきたい。

 また、今回の中心会議から、参加者のセミナー参加メリットを最大化する目的で、いろいろな施策を実験中である。

 例えば、自分と気が合う、あるいは知り合いになりたい講師(=パネリスト)ごとに参加者にお集まりいただき会話する「交流会」を、従来の懇親会の代わりに開催している。スキルや関心領域が近い参加者同士が集まることで、より有益で濃い内容のコミュニケーションが行われやすくしている。これがきっかけとなり、新たなコミュニティや、同志・友達・飲み仲間、スタートアップなどが誕生して、.NET開発の業界、ひいてはIT業界が盛り上がっていけばうれしいと考えている。

 ほかにも、開催前の15分間や開催中の休憩時間を利用して、参加者へのリアルタイム・アンケート(選択肢からの投票形式)を実施している。その投票結果をその場でリアルタイムに表示して参加者にフィードバックするとともに、結果に対して簡単な説明やコメントをしたり、その後のパネル・ディスカッションの議論内容に投票結果を取り込むことで参加者の考えや意見を進行中のセミナー内容に反映させたりしている。投票は、自由参加で、携帯電話/スマートフォン&タブレット/PCのブラウザなど(現在、一部に利用できない機種があるが、随時、改善していく)から行える。投票することで「自分の意見や考えが、マジョリティなのか、マイノリティなのか」が即座に分かるのは、参加者としても意外に楽しいものである(筆者の経験談)。今回のセミナーでも多くの方に投票していただき、参加者の状況がよく分かったので、その後の議論の方向性決定にもうまくつなげることができた。

 今回のセミナーでは、いずれの施策も好評だったので、さらによりよいものにすべく改善しながら、これらの施策を継続・発展させる予定だ。ぜひ次回以降もオフラインやオンラインで.NET中心会議に参加していただけるとうれしい。end of article

 

インデックス・ページヘ  「.NET中心会議議事録」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)
- PR -

注目のテーマ

業務アプリInsider 記事ランキング

本日 月間
ソリューションFLASH