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では、こうしたフレームワークを“レゴ”のように自由に組み合わせて柔軟に開発できるというわけだ。
その組み合わせで重要な役割を持つのが『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』という仕組みも提供する。
井上氏はここでjQuery Mobileのデモを紹介。MVCでプロジェクトを作ると、jQuery Mobileのライブラリなどもすでに追加されている様子が見える。色変えなどはテーマローラーをチューニングしておいたものを使用。NuGetのパッケージとしてローカルにダウンロードしておいたものだという。さらに新しいスクリプトバンドルという機能も披露された。
この機能を用いると、例えば複数のライブラリが指定された場合、JavaScriptファイルやCSSファイルをサーバーサイドで1つのファイルに自動的に結合して、クライアントサイドに返すことができる。これによってスマートフォンのペイロードを削減し、リクエストの数をおさえた形でさまざまなデバイスに対応できるという。また、一部が更新されると同時にキャッシュを破棄して取り直すこともできるキャッシュバスティング機能にも対応している。
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営する開発者のための情報メディアです。日々の開発に取り組むエンジニアやテクノロジーを学びたい方に向けて、プログラミングやAI活用、開発ツール、エンジニアの学びとキャリアに関する記事をお届けしています。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア


