SHOEISHA iD

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

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

【デブサミ2013】セッションレポート(PR)

【デブサミ2013】14-D-2 レポート
「One ASP.NET ~ 今、ASP.NET に何が起こっているのか? ~」

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

 One ASP.NETと題したビジョンのもと、ASP.NETが大きく変化した。その提供を通じて、マイクロソフトが目指す世界とはいったいどのようなものなのか。マルチデバイス対応やモダンWebを実現する、ASP.NETの様々なフレームワークやアプリケーション、「NuGet」によるマネジメントなどについて、日本マイクロソフト株式会社デベロッパー&プラットフォーム総括本部エバンジェリストの井上章氏が、多くのデモンストレーションを交えながら説明を行った。

  • このエントリーをはてなブックマークに追加
日本マイクロソフト株式会社 デベロッパー&プラットフォーム総括本部
エバンジェリスト 井上章氏
日本マイクロソフト株式会社 デベロッパー&プラットフォーム総括本部 エバンジェリスト 井上章氏

 冒頭、井上氏はマイクロソフトが考える近未来の世界を描いたコンセプトムービー『Productivity Future Vision』を紹介。「すでに携帯デバイスに代わるようなカード型のデバイスも登場し、インフラや技術要素も揃ってきている。あとはどう整え、インフラやデバイスをつくり上げるかという段階になってきた」と近未来への可能性をアピールした。

 そして近未来へ向けて、Webアプリケーションの開発者がおさえるべきWeb技術として『HTML5/CSS3』『JavaScript』『WebAPIの利用』『ネイティブアプリ開発への応用』をあげ、「HTML5はまだ早いとも言われるが、今からもう取り組むべきだろう。さらに、これからはWebだけはなく、クライアント側のネイティブアプリへの応用についても認識してほしい」と語った。

レゴのようにフレームワークを組み合わせられる新しい『ASP.NET』

 こうした変化が起こりつつある中、マイクロソフトは、そしてASP.NETはどのように変わったのか。井上氏は「昔のマイクロソフトは『デススター』だったかもしれない。今はかなりオープンになり、ASP.NETも変わりつつある」と語る。One ASP.NETと呼ばれるビジョンのもとで、これまでの『Web Forms』というフレームワークに加えて、現在ではさまざまな軽く快適なフレームワークが用意されている。

 例えば、Webアプリケーションのサイトを作るフレームワークとして、ライトなページの記述が可能な『Web Pages』、MVCとWeb APIを組み合わせたモダンなWebアプリケーションのひな形となる『Single Pages Application』などがある。そして『Web API』『SignalR』といったWebアプリケーションのサービスをつくるようなフレームワークも用意されている。One ASP.NETでは、こうしたフレームワークを“レゴ”のように自由に組み合わせて柔軟に開発できるというわけだ。

図1:「One ASP.NET」のコンセプトのもと新しくなったASP.NET
図1:「One ASP.NET」のコンセプトのもと新しくなったASP.NET

 その組み合わせで重要な役割を持つのが『NuGet(ぬげっと/にゅーげっと)』である。『NuGet』は、Webを通じてオープンソースライブラリなどの最新版をプロジェクトに追加できるパッケージ管理の仕組みで、Visual StudioやWebMatrixなど開発ツールの中でも使用可能だ。ここで井上氏はデモンストレーションを行い、その簡便さ柔軟性を訴求した。MVCでプロジェクトを作ると、jQuery、knockout,jsなどがデフォルトで組み込まれ、NuGetを通じてオープンソースを含めたライブラリが追加できる。プロジェクト単位でこれらのバージョン管理が柔軟に行え、VS Pro以上搭載のパッケージビジュアライザーを使うと依存関係も視覚的に理解しやすく大変便利だという。

 なお、ASP.NET MVCとWeb API、Web Pagesはオープンソースとしてコードが公開されているが、最終的な製品版はマイクロソフトのレビューがなされるためサポートも得られる。それも開発者にとってはうれしい事項といえるだろう。

『jQuery Mobile』などでマルチデバイスに対応

 Webアプリケーションを開発する上で、もはやマルチデバイスは意識せずにはいられない存在だ。それも端末が異なるクロスデバイス、OSが異なるクロスプラットフォーム、クロスブラウザなど、さまざまな動作環境を意識する必要がある。

 ASP.NETは、そうしたマルチデバイスに対応すべく、CSS3による『レスポンシブWebデザイン』への対応や、jQuery Mobileをベースとしたタッチ操作を重視したテンプレートも用意される。また、各種デバイスの種類を自動的に判別し自動でビューを切り替える『Display Modes』という仕組みも提供する。

図2:Display Modesによるビューの自動切り替え
図2:Display Modesによるビューの自動切り替え

 井上氏はここでjQuery Mobileのデモを紹介。MVCでプロジェクトを作ると、jQuery Mobileのライブラリなどもすでに追加されている様子が見える。色変えなどはテーマローラーをチューニングしておいたものを使用。NuGetのパッケージとしてローカルにダウンロードしておいたものだという。さらに新しいスクリプトバンドルという機能も披露された。

 この機能を用いると、例えば複数のライブラリが指定された場合、JavaScriptファイルやCSSファイルをサーバーサイドで1つのファイルに自動的に結合して、クライアントサイドに返すことができる。これによってスマートフォンのペイロードを削減し、リクエストの数をおさえた形でさまざまなデバイスに対応できるという。また、一部が更新されると同時にキャッシュを破棄して取り直すこともできるキャッシュバスティング機能にも対応している。

Web APIが実現する『モダンWebアプリ エクスペリエンス』とは?

シングルページアプリケーション

 マルチデバイス対応含め、さらにアプリケーションのアーキテクチャそのものも変わってきている。これまでのWebアプリケーションは静的なHTMLのページをクライアント側に返すだけのものが多かった。それが近年ではサーバー側でWeb APIなどでインターフェースを定義して、HTMLページとは別にデータをクライアント側に返すという手法も増えてきた。例えば、Web APIを通して非同期で取得したデータをクライアント側でHTMLページに動的に埋め込むことで、単一ページ内でさまざまな機能を提供する『シングルページアプリケーション』というアーキテクチャスタイルを意識したWebアプリケーションも増えてきているという。

 クライアント側での非同期処理は、かつてはAjaxなどといわれ、GmailやGoogle mapsなど以前からあり、珍しいものではない。しかし、近年になって急速に浸透してきた。その牽引理由の一つがマルチデバイス対応だろう。Web APIでデータと見た目、サーバーとクライアントをそれぞれ切り分けることで、新しいデバイスが登場しても、Viewの部分だけ変えてデータを提供している部分を変えずに、迅速に対応ができる。ASP.NETでは、こうした『モダンWebアプリケーション』に対応する1つのフレームワークとして、Web APIを提供している。

図3:モダン Web アプリ エクスペリエンス
図3:モダン Web アプリ エクスペリエンス

 井上氏はMVC 4でWeb APIプロジェクトを作成し、モデルの追加、コントローラーのアクションメソッドの実装を行って、実際にWeb APIの実装のデモを行った。Web APIにはデモで紹介した内容に加えて、データ量が膨大にある場合にURLで指定したフィルター条件に沿った形でデータを取得する方法などが用意されているという。これらの機能は井上氏のブログで紹介されている。

SignalR

 続いて紹介された『SignalR』は、リアルタイムの非同期双方向通信がサーバー、クライアント間でできるライブラリである。ASP.NETの公式ライブラリとしてNuGetパッケージとして提供されている。

 『SignalR』を利用するメリットは、簡単にいえばリアルタイムかつ双方向の通信を簡単に実現できる点にある。リモートプロシージャコールや、サーバーからクライアントへのプッシュ通信が可能で、自動的にトランスポートを調整する機能も持ち合わせている。最後にデモとして、signalRで作成されたサイト『“へー”ボタン』が紹介された。会場の聴講者がボタンを押すとリアルタイムで反応が起きるのを確認した。

 こうしたリアルタイム性や快適な双方向通信を可能にする『SignalR』では、例えばチャットやシューティングゲーム、また、株価情報のプッシュ型配信のような情報サービスなども比較的容易に開発でき、今後さまざまな用途が期待されている。

センサークラウド with ASP.NET

 そして、最後に『センサークラウド with ASP.NET』が紹介された。さまざまなWebアプリケーションやASP.NETなどの変化を見てきたが、やはりクラウドとデバイスを上手に連携させることが今後の大きなカギと思われる。GPS、ジャイロ、温度、湿度などのデバイスのデータをうまく生かすことができれば、冒頭に見たムービーのような世界もそう遠くはないだろう。

 井上氏は「今後ますます注目が高まるだろう。ぜひ、クラウドとASP.NETの連携でさまざまなアイディアを生かしてほしい」と語りつつ、デバイスとクラウドを連携させ、SignalRを使ってKinectのデータを各クライアントのWebブラウザ上にリアルタイムで配信するデモを紹介した。

図4:KinectとSignalRを組み合わせたデモの紹介
図4:KinectとSignalRを組み合わせたデモの紹介

 最後に井上氏は「ASP.NETは、さまざまなライブラリを組み合わせて、多種多様なWebアプリケーションに対応できるようになってきている。そして、まもなくリリースされるアップデート "ASP.NET and Web Tools 2012.2"(注:2/18にリリース済。詳細はこちらを参照)にも期待してほしい」と語った。

 今回のデブサミのテーマである『Action!』に触れ、「エンジニアはコードを書くことで世界を変えることができる。ぜひ、今日からもコーディングを楽しみながら取り組んでほしい。そして一緒に未来をつくることが出来れば。Enjoy coding,Be happy with ITマイクロソフトは応援しています」とメッセージを送り、セッションを結んだ。

お問い合わせ

日本マイクロソフト株式会社

〒108-0075 東京都港区港南 2-16-3 品川グランドセントラルタワー

TEL: 03-4332-5300 (大代表)

http://www.microsoft.com/

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7036 2013/03/08 17:04

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング