ASP.NET MVCの最近の情報



ASP.NET 4.5新機能概説

(http://www.atmarkit.co.jp/ait/articles/1303/08/news072.html)

でも触れられている、SignalRという新しい技術についての記事が

あったので紹介します。

Webアプリケーションは元々コネクションレスのクライアントサイドからの

一方的な同期通信が基本となっていました。

※これはHTTP(Hyper Text Transfer Protocolの略からもわかるように)

プロトコルの元々が、インターネット上のサーバに配置された文書や画像を

タグ付けされた情報(HTML)として取得し閲覧するという目的から成って

います(因みにHTMLXMLの前身としてSGMLというものがあります)

その後、HTTPHTMLはホームページ、掲示板、チャットというように

動的なコンテンツを扱うようになり、さらにネットショッピング

や情報検索サイトなどシステムという形で利用されるようになり、

企業内のイントラネットでも一般的に使われるようになっているのが

現状です。

前置きが長くなりましたが...

技術的な部分ではコネクションレスのクライアントサイドからの

一方的な同期通信から、JavaScriptによる動的な画面制御、Ajax等による

非同期通信によりリッチなWebアプリケーションが開発できるようになり、

さらにはWebSocketをベースとし、Sochet.IOなど高レベルなAPIも提供され

本題のSignalRについてはWebSocketはもとより、RPCを使用した、Hub

という高レベルなコネクション型APIが提供されています。

今後はこれらの技術の進歩により、コネクション型で非同期通信を利用する

ことにより記事の中でもあるようにサーバサイドからのプッシュ型のアプリ

ケーション開発も簡単に構築できるようになり、Webアプリケーションの

可能性がさらに広がると思われます。

http://www.atmarkit.co.jp/ait/articles/1303/19/news099.html

20129月にリリースされたVisual Studio 2012

ASP.NET4.5の新機能解説の特集です。

Web関連の世界ではどんどん新しい技術が登場・進化していて

それらに幅広く対応している感じはします。特にモバイル関連

のアプリケーション開発に対応した部分は目まぐるしく技術が

変わっていっていると感じます。それ故に実装が中途半端で

あったり、選択肢の幅が広がりすぎてどの技術を選択して

システムを構築するべきかが難しくなっている印象を受けました。

混沌としている感じでしょうか...

私が普段関わっているところでは、ASP.NET MVCですが、

こちらはバージョン4になっています。WebAPI、モバイル関連の

機能追加・機能強化がどのようなものか気になります。

その他にも、WebSocketWebページ2HTML5/CSS3関連など、

気になる部分はいくつかありますが、どの技術の組み合わせで

システムを構築するのがスタンダードになるのか難しい気がします。

http://www.atmarkit.co.jp/ait/articles/1303/08/news072.html

リリース版が出てから、しばらく経ってしまっていますがまとめてみます。

 

ASP.NET MVC2

2010年3月上旬リリースされた、ASP.NET MVC1の新バージョンです。

MVC1と互換性があり、.NETフレームワーク3.5、4.0に対応だそうです。

 

Visual Studio 2010 には、標準で含まれるそうです。

Visual Studio 2008 ユーザはダウンロードしてインストールしましょう!!

ASP.NET MVC 2 RTM

※因みにRTMとは、Release to Manufacturing version(正式リリース版)

 

サンプルアプリケーションと、ソースコード

ASP.NET MVC2をインストール後、プロジェクト生成のウィザードが利用

できるようになりますが、その際に、サンプルのアプリケーションも含める

プロジェクトを選択することができたり、テストプロジェクトを含めるかも選択

できたりします。

APS.NET MVCを初めて学ぶ方や、初めて動かしてみる方にとって、

サンプルのアプリケーションは助けになると思います。

 

サンプルのアプリケーションでは、基本的な画面遷移やページのテンプレート、

データベースを利用したユーザ認証機能、バリデーションの機能といった、

Webアプリケーションで中心となる機能が簡単ではあるけれど、ひととおり

盛り込まれてます。

このサンプルアプリケーションをベースに自分のアプリを構築していけば、

理解も早まると思います。

 

また、少し複雑なことをしようとしたときや、開発中に思った通りの動作をしない

場合には、ASP.NET MVC2 では、ソースコードも公開されているので、

まだまだ日本語のドキュメントも少ない状況なので、ソースコードを直接参照

できるのは安心感があります。

 

ASP.NET MVC2 新機能・強化点

さて、ASP.NET MVC2を、ASP.NET MVC1と比較した際の新機能について

ですが、以下にポイントだけまとめておきます。

 

  • 新しい強く型付けされたHTMLヘルパー
  • サーバおよびクライアントの両方で改善されたモデル検証のサポート
  • テンプレートのカスタマイズが可能な自動スキャフォールドUIヘルパー
  • 大きなアプリケーションを"エリア"に分割するサポート
  • 長時間起動するタスクの並列稼働を可能にする非同期コントローラをサポート
  • Html.RenderActionによるページ/サイトのサブセクションの描画をサポート
  • 多くの新しいヘルパー機能、ユーティリティ、APIの改善
  • 改善されたVisual Studioツールのサポート

 

大きな強化点として個人的に注目なのは、

Areasという、アプリケーションの分割機能と、型付けされたHTMLヘルパー、

非同期コントローラといったとこでしょうか?

 

先に書いたように、残念ながら日本語のドキュメントはまだまだ充実していない

感がありますが、ASP.NET MVC1 の開発手法が大きく変わることはないので

MVC1 の情報もまだまだ生かせると思います。

 

まず、書籍。

ASP.NET MVC実践プログラミング

ASP.NET MVC 唯一の和書だと思うのですが、基本がしっかり押さえられ、

フレームワーク利用のノウハウも充実しています。

 

リンク集

連載:ASP.NET MVC入門(@IT)

もう一つのASP.NET 「ASP.NET MVC」を知る・前編、後編)(CodeZone)

ASP.NET MVC 入門 (1)~(3)

ASP.NET MVC 2(スライド)

ASP.NET MVCフレームワークの概要を理解する