Visual Studio 2013のリリース、ASP.NETとEntity Frameworkに対する素晴らしい改善の発表

本日、VS 2013と.NET 4.5.1をリリースしました。これらのリリースには、多数の素晴らしい改善と、ASP.NETとEntity Frameworkに対する素晴らしい拡張が含まれています。今すぐダウンロードして、使い始めることができます。

今回のリリースで活用できるASP.NET、Web開発、Entity Frameworkの素晴らしい改善に関する詳細は、次の通りです。追加のリリース ノート、ドキュメント、チュートリアルについては、http://www.asp.net/vnext (英語 / 日本語 (機械翻訳)) にアクセスしてください。

1つのASP.NET (One ASP.NET)

Visual Studio 2013のリリースでは、異なるASP.NETサブ フレームワーク (Webフォーム、MVC、Web API、SingnalRなど) を使うエクスペリエンスの統一に向けて、一歩を踏み出しました。単一アプリケーション内で、使いたい異なるASP.NETテクノロジを簡単に組み合わせられるようになりました。

VS 2013で[ファイル]>[新規作成]>[プロジェクト]を選択すると、単一のASP.NETプロジェクト オプションが表示されるようになりました。

1

このプロジェクトを選択すると、基本プロジェクト テンプレートから始め、それからオプションとしてそのプロジェクトで使いたいテクノロジを追加/削除できるようにする、追加のダイアログが表示されます。

たとえば、Webフォーム テンプレートから始めてWeb APIのサポートを追加する、あるいは、MVCプロジェクトを作成してWebフォーム ページも有効化することができます。

2

これによって、アプリ内で使いたい任意のASP.NETテクノロジを使い、ASP.NETテクノロジ全体にわたる任意の機能を活用することが簡単になります。

より高度な認証のサポート

また、新しい「1つのASP.NET」(One ASP.NET) プロジェクト ダイアログには、新しい「認証の変更」ボタンが含まれています。このボタンを押すと、自分のアプリケーションが使う認証アプローチを簡単に変更できるようになり、多様なアイデンティティ プロバイダーによるSSOに対応したセキュアなアプリケーションの構築がずっと簡単になります。

たとえば、ASP.NET Webフォーム、またはMVCのテンプレートから始めた場合には、アプリケーションに次の認証オプションを簡単に追加できます:

  • 認証なし
  • 個人ユーザー アカウント (Facebook、Twitter、Google、MicrosoftのIDでのシングル サインオンのサポート、または、ASP.NETメンバーシップによるフォーム認証)
  • 組織アカウント (Windows Azure Active Directoryによるシングル サインオンのサポート)
  • Windows認証 (イントラネット アプリケーションにおけるActive Directory)

Windows Azure Active Directoryのサポートが、特にクールです。先月、Windows Azure Active Directoryをアップデートし、開発者がWindows Azure Active Directoryを使って (無料で、数秒でデプロイされる) 任意の数のディレクトリを簡単に作成できるようになりました (英語 / 日本語)。ASP.NETアプリケーションでWindows Azure Active Directoryのディレクトリに対してシングル サインオンのサポートを有効化することも、すぐにできるようになりました。これを行うには、「認証の変更」ダイアログで「組織アカウント」ラジオ ボタンを選択し、自分のWindows Azure Active Directoryの名前を入力するだけです:

3

これによって、自動的にASP.NETアプリケーションがWindows Azure Active Directoryを使うように構成され、アプリケーションWindows Azure Active Directoryに登録されます。ここでアプリケーションを実行すると、アプリケーションがインターネット上のどこにホストされているかどうか関係なく、ユーザーがWindows Azure Active Directoryの資格情報を使って簡単かつセキュアにサインインできます。

Webプロジェクトを作成するための新しいプロセスのさらなる情報については、“Creating ASP.NET Web Projects in Visual Studio 2013” (「Visual Studio 2013におけるASP.NET Webプロジェクトの作成」) (英語 / 日本語 (機械翻訳)) をご覧ください。

Bootstrapによるレスポンシブ プロジェクト テンプレート

ASP.NET Webフォーム、MVC、Web API、SPA向けの新しい既定のプロジェクト テンプレートは、Bootstrap (英語 / 日本語 (機械翻訳)) を使って構築されています。Bootstrapは、モバイル フォン、タブレット、デスクトップといった異なるフォーム ファクター上で素晴らしく見えるレスポンシブWebサイトの構築を助ける、オープン ソースのCSSフレームワークです。たとえば、ブラウザー ウィンドウでは、MVCテンプレートが作成したホーム ページは、次のように見えます:

4

モバイル フォン上でどのように見えるかを確認するために、ブラウザーを狭いウィンドウにリサイズすると、コンテンツが滑らかにラップされ、水平トップ メニューがアイコンに変わることに気づくはずです:

5

このメニュー アイコンをクリックすると、垂直メニューに拡張されます。これによって、小さな画面のデバイス向けの優れたナビゲーションのエクスペリエンスが可能になります:

6

我々は、Bootstrapによって、開発者がモバイルフォン、タブレット、ほかのモバイル デバイス上でより良く動作するWebアプリケーションを構築できるようになると考えています。そして、既存のBootstrap CSSテンプレートの高度なエコシステムを活用できるアプリケーションを簡単に構築できるようになります。こちらで (英語 / 日本語 (機械翻訳))、Bootstrapに関してさらに学べます。

Visual Studio Webツールの改善

Visual Studio 2013には、Webアプリケーション内のRazorファイル、HTMLファイル向けの、新しくずっと高度なHTMLエディターが含まれています。新しいHTMLエディターは、HTML5をベースにした統一された単一のスキーマを提供します。自動かっこ補完、jQuery UIとAngularJS属性のIntelliSense、IntelliSenseのグループ化、その他の素晴らしい改善があります。

たとえば、HTML要素で”ng-“と入力すると、AngularJS向けのIntelliSenseが表示されます:

7

ASP.NETとVS 2013の今回のリリースにおける、AngularJS、Knockout.js、Handlebars、他のSPAテクノロジのサポートによって、高度なクライアントWebアプリケーションの構築がさらに簡単になります:

8

次のスクリーンショットは、利用可能なすべてのCSSクラスを決定するために、HTMLエディターがデザイン時にページをどのようにインスペクトするかを示しています。ここでは、自動補完リストに、BootstrapのCSSファイルのクラスが含まれています。どのBootstrap要素名を使う必要があるかについて、推測する必要はもはやありません:

9

また、Visual Studio 2013は、CoffeeScriptとLESSの編集の組み込みでサポートしています。LESSエディターは、CSSエディターのクールな機能のすべてを提供し、@import チェーン内のすべてのLESSドキュメントにわたる変数とミックスインに対する特定のIntelliSenseも提供します。

ブラウザー リンク – ブラウザーとVisual Studioとの間のSingnalRチャネル

VS 2013の新しいブラウザー リンク機能によって、開発マシン上の複数のブラウザーでアプリを実行し、それらをVisual Studioに接続し、ツールバーのボタンをクリックするだけでそれらすべてを同時に更新できるようになります。(IE、Firefox、Chrome、モバイル エミュレーターを含む) 複数のブラウザーを自分の開発サイトに接続し、「更新」ボタンをクリックして同時にすべてのブラウザーを更新できます。これによって、複数のブラウザーに対して並行して簡単に開発/テストを行うことが、ずっと簡単になります。

10

また、ブラウザー リンクは、開発者がブラウザー リンク拡張機能を作成するためのAPIを公開しています。開発者がブラウザー リンクAPIを活用できるようにすることで、Visual Studioとそれに接続された任意のブラウザーとの間の境界を越える非常に高度なシナリオが可能になります。Web Essentialsは、Visual Studioとブラウザーの開発ツールとの間の統合されたエクスペリエンス、モバイル エミュレーターのリモート制御などを実現するために、このAPIを活用しています。

本当にクールなシナリオを進めるために、我々はこの機能をさらに活用する予定です。

ASP.NETスキャフォールディング

ASP.NETスキャフォールディングは、ASP.NET Webアプリケーション向けの新しいコード生成フレームワークです。これによって、データ モデルと対話するプロジェクトに定型コードを追加することが簡単になります。Visual Studioの以前のバージョンでは、スキャフォールディングはASP.NET MVCプロジェクトだけに限られていました。Visual Studio 2013では、Webフォームを含む任意のASP.NETプロジェクトで、スキャフォールディングを使えるようになりました。

スキャフォールディングが使われる際に、我々は、必要なすべての依存性がプロジェクトに自動的にインストールされることを保証しています。たとえば、ASP.NET Webフォーム プロジェクトから始め、それからWeb APIコントローラーを追加するためにスキャフォールディングを使う場合、Web APIを有効化するために必要なNuGetパッケージと参照がプロジェクトに自動的に追加されます。これを行うには、「追加」>「新しくスキャフォールディングされたアイテム」コンテキスト メニューを選択するだけです:

11

非同期コントローラーのスキャフォールディングのサポートは、Entity Framework 6の新しい非同期機能を使っています。

ASP.NETアイデンティティ

ASP.NETアイデンティティは、今回のリリースで導入される、ASP.NETアプリケーション向けの新しいメンバーシップ システムです。

ASP.NETアイデンティティによって、ユーザー固有のプロファイル データをアプリケーション データと統合することが簡単になります。また、ASP.NETアイデンティティによって、アプリケーション内のユーザー プロファイルの永続化モデルを選択できるようになります。SQL Serverデータベース、またはWindows Azureストレージ テーブルのようなNoSQLデータ ストを含む他のデータ ストアに、データを格納できます。また、ASP.NETアイデンティティは、(ユーザーのアイデンティティが、信頼された発行者からの一連のクレームとして表現される) クレーム ベース認証をサポートしています。

ユーザーは、Webサイトでユーザー名とパスワードを使ってアカウントを作成することでログインできます。あるいは、(Microsoftアカウント、Twitter、Facebook、Googleといった) ソーシャル アイデンティティ プロバイダーや、(Windows Azure Active DirectoryやActive Directory Federation Services (ADFS) を介して) 組織アカウントを使ってログインできます。

ASP.NETアイデンティティの使い方に関してさらに学ぶには、http://www.asp.net/aspnet/overview/authentication-and-identity (英語 / 日本語 (機械翻訳)) にアクセスしてください。

ASP.NET Web API 2

ASP.NET Web API 2には、次のものを含む多数の素晴らしい改善があります:

属性ルーティング

http://attributerouting.net/ (英語 / 日本語 (機械翻訳)) の作者であるTim McCallによる貢献のおかげで、ASP.NET Web APIが属性ルーティングをサポートするようになりました。属性ルーティングでは、次のようにアクションとコントローラーに注釈を設定することで、Web APIルートを指定できます:

12

OAuth 2.0のサポート

Web APIとシングル ページ アプリケーション (SPA) のプロジェクト テンプレートが、OAuth 2.0を使った認可をサポートするようになりました。OAuth 2.0は、保護されたリソースに対するクライアント アクセスを認可するためのフレームワークです。これは、ブラウザーやモバイル デバイスを含む多様なクライアントで動作します。

ODataの改善

また、ASP.NET Web APIが、ODataエンドポイントのサポートを提供するようになり、AtomフォーマットとJSON lightフォーマットの両方をサポートするようになりました。ODataによって、任意のデータソースに対する高度なクエリのセマンティクス、ページング、$metadata、CRUD操作、カスタム アクションのサポートを得られます。ASP.NET Web API 2 ODataにおける拡張のいくつかを、次に示します。

  • $select、$expand、$batch、$valueのサポート
  • 拡張性の改善
  • 型指定なしのサポート
  • 既存モデルの再利用

OWINとの統合

ASP.NET Web APIが、OWIN (英語 / 日本語 (機械翻訳)) を完全にサポートするようになり、任意のOWIN対応ホスト上で実行できるようになりました。OWINとの統合によって、独自のプロセス内に、SingnalRといった他のOWINミドルウェアと一緒にWeb APIを自己ホストできます。

さらなる情報については、“Use OWIN to Self-Host ASP.NET Web API” (「ASP.NET Web APIを自己ホストするためのOWINの使用」) (英語 / 日本語 (機械翻訳)) をご覧ください。

Web APIのさらなる改善

前述の機能に加えて、ASP.NET Web APIには、次のものを含む、他の機能が多数あります。

  • CORSのサポート
  • 認証フィルター
  • フィルターのオーバーライド
  • 単体テスト容易性の改善
  • ポータブルなASP.NET Web APIクライアント

さらに学ぶには、http://www.asp.net/web-api/ (英語 / 日本語 (機械翻訳)) にアクセスしてください。

ASP.NET SignalR 2

ASP.NET SignalRは、アプリケーションにリアルタイムWeb機能を追加するプロセスを劇的に簡素化する、ASP.NET開発者向けのライブラリです。

リアルタイムWeb機能は、サーバー側のコードが、コンテンツが利用可能になったら即座に接続済みのクライアントにコンテンツをプッシュする機能です。SignalR 2.0には、多数の素晴らしい改善があります。SignalR 2.0に、クロス オリジン リソース共有 (CORS) のサポートを追加しました。また、Xamarin (英語 / 日本語 (機械翻訳)) ライブラリのMonoTouch/MonoDroidコンポーネントを使って、SignalR向けのiOSとAndroidのサポートが追加されました (これらの追加機能の使い方のさらなる情報については、SingnalR WikiのXamarinコンポーネントの使用の記事をご覧ください)。

また、SingnalR 2.0でポータブルな.NETクライアント (英語 / 日本語 (機械翻訳)) のサポートを追加し、新しい自己ホスト パッケージ (英語 / 日本語 (機械翻訳)) を作成しました。この変更によって、Webホストと自己ホストのSignalRアプリケーション間で、SingnalRの設定プロセスがずっと一貫性のあるものになります。

さらに学ぶには、http://www.asp.net/signalr (英語 / 日本語 (機械翻訳)) にアクセスしてください。

ASP.NET MVC 5

ASP.NET MVCプロジェクト テンプレートは、新しい1つのASP.NET (One ASP.NET) エクスペリエンスにシームレスに統合されています。これによって、前述のASP.NET Web API、SignalR、アイデンティティの改善すべてを統合できるようになります。また、1つのASP.NET (One ASP.NET) プロジェクト作成ウィザードを使って、MVCプロジェクトをカスタマイズし、認証を構成できます。また、ASP.NETアイデンティティとBootstrapを使うように、MVCテンプレートがアップデートされました。ASP.NET MVC 5の入門チュートリアルは、“Getting Started with ASP.NET MVC 5” (ASP.NET MVC 5での作業の開始) (英語 / 日本語 (機械翻訳)) にあります。

また、ASP.NET MVCの今回のリリースは、次のものを含む、いくつかのMVC固有の素晴らしい新機能をサポートしています:

  • 認証フィルター: このフィルターによって、アクションごとの、コントローラーごとの、またはすべてのコントローラーにグローバルの認証ロジックを指定できるようになります。
  • 属性ルーティング: 属性ルーティングによって、アクションやコントローラーに対してルートを定義できるようになります。

さらに学ぶには、http://www.asp.net/mvc (英語 / 日本語 (機械翻訳)) にアクセスしてください。

Entity Framework 6の改善

Visual Studio 2013には、データ アクセス領域に多数の素晴らしい新機能をもたらす、Entity Framework 6が含まれています:

非同期とTask<T>のサポート

EF6の新しい非同期クエリ/格納 (英語 / 日本語 (機械翻訳)) のサポートによって、非同期データ アクセスを実行し、.NET 4.5で導入されたTask<T>のサポートをデータ アクセスのシナリオで活用できるようになります。これによって、(そうでなければデータ アクセス リクエストでブロックされていた) スレッドを解放でき、データベース エンジンが操作を処理するのを待っている間に、そのスレッドをを他のリクエストを処理するために使えるようになります。データベース サーバーが応答したら、ASP.NETアプリケーション内でスレッドが再度キューイングされ、実行が継続されます。これによって、著しくスケーラブルなサーバー コードを簡単に書くことができるようになります。

新しいEF6の非同期クエリ メソッドを使用する、ASP.NET Web APIアクションの例を示します:

13

インターセプトとログ記録

インターセプトとSQLログ記録 (英語 / 日本語 (機械翻訳)) によって、Entity Frameworkによってデータベースに送信されるすべてのコマンドを表示する (あるいは、変更することさえ) できるようになります。これには、(デバッグに最適な) 人間が読める単純なログや、(コマンドと結果へのアクセスを与える) より低いレベルの構築ブロックが含まれます。MVCコントローラーのコンストラクターで、単純なログをDebugにつなぐ例を、次に示します:

14

カスタムのCode First規約

新しいカスタムのCode First規約 (英語 / 日本語 (機械翻訳))  によって、Code Firstモデルのバルク操作が可能になり、作成しメンテナンスする必要があるコード量が削減されます。自分のドメイン クラスがCode First規約に合致しない際に、カスタムの規約は素晴らしいものです。たとえば、次の規約は、”Key”という名前のすべてのプロパティが、それが属するエンティティの主キーになることを構成しています。これは、Id、または<型名>Idを期待している既定のCode First規約とは異なります。

15

接続の回復性

EF6の新しい接続の回復性 (英語 / 日本語 (機械翻訳)) 機能によって、失敗したデータベース操作に対処する (そして、場合によっては再試行する) 実行戦略を登録できるようになります。これは、(ロード バランサーを分散ネットワークを通過するために) 接続の切断がより一般的なクラウド環境にデプロイする際に、特に便利です。

EF6には、Windows Azure SQLデータベース向けの組み込みの実行戦略が含まれています。これは、再試行可能な実行型を知っており、エラー発生時の再試行回数と再試行間隔に対する妥当な (だが、オーバーライド可能な) 既定値を持っています。新しいコード ベースの構成 (英語 / 日本語 (機械翻訳)) を使うと、実行戦略の登録は単純です:

16

これらは、EF6の新機能の一部に過ぎません。新機能の完全な一覧については、Entity Frameworkサイトのリリース ノート (英語 / 日本語 (機械翻訳) / 日本語 (未更新)) セクションにアクセスしてください。

Microsoft OWINコンポーネント

Open Web Interface for .NET (OWIN) (英語 / 日本語 (機械翻訳)) は、.NET WebサーバーとWebアプリケーションとの間のオープンな抽象化を定義しており、ASP.NET “Katana”プロジェクトは、ASP.NETにこの抽象化をもたらします。

OWINは、Webアプリケーションをサーバーから分離し、Webアプリケーションをホスト非依存にします。たとえば、OWINベースのWebアプリケーションをIIS上にホストする、あるいはカスタム プロセス内に自己ホストすることができます。OWINとKatanaのさらなる情報については、“What’s new in OWIN and Katana” (「OWINとKatanaの新着情報」) (英語 / 日本語 (機械翻訳)) をご覧ください。

まとめ

Visual Studio 2013、ASP.NET、Entity Frameworkの本日のリリースは、Web開発のライフサイクルを効率化する、素晴らしい新機能を提供します。新機能は、サーバー フレームワークから、データ アクセス、ツール、クライアント側HTML開発にまで及んでいます。また、素晴らしいオープン ソース テクノロジと開発者コミュニティからの貢献を統合しています。

今すぐダウンロードして、使い始めてください!

関連情報

2 thoughts on “Visual Studio 2013のリリース、ASP.NETとEntity Frameworkに対する素晴らしい改善の発表

Leave a comment