ASP.NET SignalR
ASP.NET SignalRは、アプリケーションにリアルタイムWeb機能を追加するプロセスを簡略化させるための新しいライブラリです。
リアルタイムWeb機能とは、接続されているクライアントが利用可能になり次第すぐに、サーバサイドのコードにコンテンツをプッシュさせる機能です。
聞いたことがあるかもしれませんが、ブラウザとサーバ間を双方向で効率的に通信させるHTML5 WebSocket APIというものがあります。SignalRは、ブラウザとサーバがサポートしている場合、Websocketを使用し、サポートされていなければ、それに代わる他の技術を使用します(幸い、どちらが使用されてもアプリケーションコードは変わりません)。
SignalRは、サーバとクライアント間のリモートプロシージャコール(RPC)を作成する簡単なAPIを提供しており、サーバサイドの.NETコードからクライアントブラウザでJavaScript機能を呼び出します。また、SignalRには、接続管理(イベントの接続および切断など)、グループ接続、承認などのAPIも含まれています。
今回のリリースには、SignalRプロジェクトの作成や、既存のWebフォームやMVCアプリケーションへのSignalR追加をサポートするVisual Studio 2012テンプレートが含まれています。
SignalRの詳細については、http://www.asp.net/signalrを確認してください。
ASP.NET Webフォームの改善
ASP.NET Friendly URLにより、Webフォームページから.aspx拡張子を削除して、サイトのURLをよりクリーンに見せることができます。
また変数をURLのセグメントとしてページに引き渡すこともできます。
例えば、ProductDetails.aspx?id=5の場合、ProductsDetails/5とすることができます。
Friendly URLだと、各ページにモバイルバージョンを作成すれば、簡単にモバイルデバイスのサポートもできます。
- YourPage.aspx:これは、通常ブラウザのデフォルトページになります。
- YourPage.Mobile.aspx:これは、モバイルブラウザのデフォルトページになります。
- YourPage.Device.aspx:特定のデバイスのUser Agent文字列をマッピングして、独自のコードも書けます。例えば、Windows Phone、iPhone、Androidデバイスに対して、それぞれのページが用意できます。
ASP.NET MVCの改善
新しいFacebookアプリケーションテンプレートにより、ASP.NET MVCを使用して、非常に簡単にFacebookキャンバスアプリケーションが書けます。いくつかのステップで、ログインユーザからデータを取得して、友達と統合するというFacebookアプリケーションが作成できます。テンプレートには、承認、認証、Facebookデータへのアクセスなど、Facebookアプリケーションを構築するのに必要な接続処理をすべて処理できる新しいライブラリが用意されています。これにより、アプリケーションのビジネスロジックだけに集中できます。この新しいテンプレートで構築できるFacebookアプリケーションは、Web上でホストされ、iframeを通じてFacebook Chromeの内部に表示されます。
Single Pageアプリケーション
ASP.NET MVCの新しいSingle Pageアプリケーションのテンプレートも用意されたので、開発者は、HTML 5やCSS 3、また人気のKnockoutやjQuery JavaScriptライブラリを使用して、インタラクティブなクライアントサイドのWebアプリケーションをすべてASP.NET Web API上に構築できます。
RESTfulサーバAPIを使用するJavaScript HTML5アプリケーションを構築するに当たり、『To Do』一覧のアプリケーションを作成するデフォルトテンプレートを参考にすれば、よくある必要な処理などを確認できます。詳細については、http://www.asp.net/single-page-applicationをご確認ください。
新しいKnockoutテンプレートを使用したくない場合、4つのコミュニティが作成した以下のテンプレートがあります。これらは、改善されたCustom MVC Templateサポートを使用して構築されています。
- DurandalJS:新しいMVVMライブラリのDurandalJSおよびKnockoutを使用して構築されたテンプレート
- BreezeJS:データバインディングとテンプレート化にBreezeJSおよびKnockoutを使用するテンプレート
- Ember:EmberとHandlebarsの最新バージョンを使用するテンプレート
- Hot Towel:BreezeJS、DurandalJS、Knockout、require.js、Bootstrapを使用するテンプレート
今後もテンプレートを追加していく予定です。
Windows Azure Authenticationの改善
新しいプレリリースのWindows Azure Authenticationも、MVC、Webページ、Webフォームで利用可能になりました。
オンプレミスのActive Directoryから同期された組織や会社のアカウントからのOffice 365ユーザや、独自のWindows Azure Active Directoryドメインで作成されたユーザを、この機能により作成したアプリケーションで認証できます。
詳細は、Windows Azure Authenticationチュートリアルでご確認ください。
まとめ
今回のASP.NET and Web Tools 2012.2 Updateには、ASP.NETを使用する開発者にとって便利な機能がたくさんあります。
リリースノートで詳細をご確認頂き、いますぐインストールしてみてください。
インストールに関する重要なお知らせ:Mads Kristensen氏の素晴らしい(無償)Web Essentials 2012拡張の早期バージョンをインストールされている場合は、今回のASP.NET and Web Tools 2012.2 Updateをインストールする前に、最新バージョンに更新してください。
最新バージョンのWeb Essentials 2012拡張は、今回のリリースと上手く動作します。古いバージョンの場合は、Visual Studioを立ち上げた時にランタイムエラーが発生します。ASP.NET and Web Tools 2012.2 Updateをインストールする前に、最新バージョンに更新すれば、これは修正されます。
Hope this helps,
Scott
P.S. ブログに加え、現在Twitterを使って簡単な更新やリンク共有を行っています。twitter.com/scottguで、私をフォローしてください。