
実証済みのアイデアの融合: S#arp Architectureの裏側
この記事では、Web開発における多数の成熟傾向と、クライアントに価値を提供することに対するそれらのメリット、およびS#arp Architecture(最善の手法と技術を活用しようとするASP.NET MVCをベースとしたフレームワーク)内でのそれらの使用について取り上げます。

この記事では、Web開発における多数の成熟傾向と、クライアントに価値を提供することに対するそれらのメリット、およびS#arp Architecture(最善の手法と技術を活用しようとするASP.NET MVCをベースとしたフレームワーク)内でのそれらの使用について取り上げます。
形式的に言えば,ASP.NET MVS は当初からオープンソースであった。しかし Microsoft の大部分のプロジェクトがそうであるように,ごくまれな例外はあるものの,ほぼすべての作業が Microsoft 内で行われていた。 "オープン開発" ではなかったのだ。そのような状況が昨日,すべて変わった。コミュニティの誰でも ASP.NET MVC や Web Pages,Web API のコード提供やテストが可能になったのだ。
ASP.NET MVC 3のウェブアプリにはいくつかのコンポーネントがある。モデル、コントローラ、ルートハンドラ、ビュー、htmlヘルパー、クライアントサイドのコードなどだ。これらのほとんどは単体テストが実施でき、一部は結合テストが必要だ。この記事ではASP.NET MVC 3のテストをメンテナンスしやすく、動作不良が起き難くする方法を紹介したい。
SharpDevelopはASP.NET MVC 3のプロジェクトテンプレートを備えているが、今のところまだ多くのものが欠けている。バージョン4.2(現在ベータ版)では、欠けているいくつかの機能が追加される。
先日、GitHubはRuby on Railsのmass assignment機能の脆弱性を突かれた。この脆弱性は数多くのRubyベースのサイトだけではなく、ASP.NET MVCや他のORMフレームワークを使用したサイトにも影響を及ぼす可能性がある。
Michael Kennedy氏は、ASP.NET MVC開発者が共有ビューフォルダを管理できるようにするために設計された小さなライブラリをリリースした。これにより開発者は、ビューにサブフォルダを作ることができるようになる。
ASP.NET MVC 4ベータには、“Single Page Application”を開発するための実験的なプロジェクトが含まれている。ASP.NET SPAとして知られるこのプロジェクトタイプは、オープンソースライブラリをベースにしており、WPFやSilverlightで普及したMVVMパターンで作られている。
最初のASP.NET MVC 4ベータが先日、“go-live”ライセンスとしてリリースされた。これはリリース準備ができていて、Microsoftがそれを製品利用するに値すると考えていることを意味している。Razorビューエンジンの改善、非同期サポート、WebSocketsなどの拡張が含まれている。
Fluqiは、視覚的に作成して、カスタマイズして、マークアップとJavaScriptを自分のアプリケーションで利用することができるJQueryの一般的なウィジットビルダーを提供する。これはまた、サーバーサイドのコードでJQueryコントロールを構成するために利用できる.NET APIも提供する。
モデルバインディングは、厳密に型付けされたオブジェクトを作成するためにリクエストデータを使うことにより、コントローラのアクションを単純化する機能である。Jess Chadwick氏はMSDNの記事で、複雑なシナリオだけじゃなく、デフォルトのモデルバインダーが十分じゃないときに、カスタムモデルバインダーを作成するようにこの機能を掘り下げた。
S#arp Liteはより使いやすくしたS#arp Architectureだ。NHibernateを使ってデータベースに接続するためのプロジェクトテンプレートや、再利用可能なクラスライブラリ、ベースリポジトリクラス、そしてサンプルプロジェクトを含んでいる。