ASP.NET は、HTML、CSS、JavaScript を使用して優れた Web サイトと Web アプリケーションを構築するための無料の Web フレームワークです。 Web API を作成し、Web ソケットなどのリアルタイム テクノロジを使用することもできます。
ASP.NET Core は、ASP.NET の代替手段です。 ASP.NET と ASP.NET Core の選択方法に関するガイダンスを参照してください。
概要
Windows で ASP.NET 用の無料 IDE である Visual Studio Community エディションをインストールします。
Web サイトと Web アプリケーション
ASP.NET には、Web アプリケーションを作成するための 3 つのフレームワーク (Web フォーム、ASP.NET MVC、ASP.NET Web ページ) が用意されています。 3 つのフレームワークはすべて安定していて成熟しており、それらのいずれかで優れた Web アプリケーションを作成できます。 どのフレームワークを選択しても、ASP.NET の利点と機能はどこでも得られます。
各フレームワークは、異なる開発スタイルを対象としています。 選択するものは、プログラミング資産 (知識、スキル、開発経験)、作成するアプリケーションの種類、および使い慣れた開発アプローチの組み合わせによって異なります。
各フレームワークの概要と、それらを選択する方法に関するいくつかのアイデアを次に示します。 ビデオの紹介を希望する場合は、「ASP.NET を使用した Web サイトの作成」と「Web ツールとは」を参照してください。
| フレームワーク | に関する経験がある場合は、 | 開発スタイル | 専門 知識 |
|---|---|---|---|
| Web Forms | Win フォーム、WPF、.NET | HTML マークアップをカプセル化するコントロールの豊富なライブラリを使用した迅速な開発 | Mid-Level、Advanced RAD |
| MVC | Ruby on Rails、.NET | HTML マークアップ、コード、マークアップを完全に制御して分離し、簡単にテストを記述できます。 モバイルおよびシングルページ アプリケーション (SPA) に最適な選択肢です。 | 中級、上級 |
| Web ページ | クラシック ASP、PHP | HTML マークアップとコードを同じファイルにまとめて配置する | 新規、中間レベル |
Web Forms
ASP.NET Web フォームを使用すると、使い慣れたドラッグ アンド ドロップのイベント ドリブン モデルを使用して動的 Web サイトを構築できます。 設計面と何百ものコントロールとコンポーネントを使用すると、データ アクセスを使用して高度で強力な UI 駆動サイトを迅速に構築できます。
MVC
ASP.NET MVC では、動的な Web サイトを構築するための強力なパターンベースの方法が提供されます。これにより、懸念事項を完全に分離でき、楽しくアジャイルな開発のためのマークアップを完全に制御できます。 ASP.NET MVC には、最新の Web 標準を使用する高度なアプリケーションを作成するための、TDD に優しい高速な開発を可能にする多くの機能が含まれています。
ASP.NET Web ページ
ASP.NET Web ページと Razor 構文を使用すると、サーバー コードと HTML を組み合わせて動的な Web コンテンツを作成するための、高速でアプローチ可能で軽量な方法が提供されます。 データベースへの接続、ビデオの追加、ソーシャル ネットワーキング サイトへのリンク、および最新の Web 標準に準拠した美しいサイトの作成に役立つ多くの機能が含まれています。
Web フォーム、MVC、Web ページに関する注意事項
3 つの ASP.NET フレームワークはすべて .NET Framework に基づいており、.NET と ASP.NET のコア機能を共有します。 たとえば、3 つのフレームワークはすべてメンバーシップに基づくログイン セキュリティ モデルを提供し、3 つすべてが、コア ASP.NET 機能の一部である要求の管理、セッションの処理などの同じ機能を共有します。
さらに、3 つのフレームワークは完全に独立しているわけではありません。1 つを選択しても、別のフレームワークを使用する必要はありません。 フレームワークは同じ Web アプリケーションに共存できるため、異なるフレームワークを使用して作成されたアプリケーションの個々のコンポーネントを見るのも珍しくありません。 たとえば、アプリの顧客向けの部分は、マークアップを最適化するために MVC で開発される場合があります。一方、データ アクセスと管理部分は、データ制御と単純なデータ アクセスを利用するために Web フォームで開発されます。
Web API
ASP.NET Web API は、ブラウザーやモバイル デバイスなど、幅広いクライアントに到達する HTTP サービスを簡単に構築できるフレームワークです。 ASP.NET Web API は、.NET Framework で RESTful アプリケーションを構築するための理想的なプラットフォームです。
リアルタイム テクノロジ
ASP.NET SignalR は、リアルタイム Web 機能の開発を容易にする ASP.NET 開発者向けの新しいライブラリです。 SignalR を使用すると、サーバーとクライアント間の双方向通信が可能になります。 サーバーは、接続されているクライアントが使用可能になるとすぐにコンテンツをプッシュできます。 SignalR は Web ソケットをサポートし、古いブラウザーの他の互換性のある手法にフォールバックします。 SignalR には、接続管理 (接続と切断イベントなど)、接続のグループ化、承認のための API が含まれています。
モバイル アプリとサイト
ASP.NET は、Web API バックエンドを使用してネイティブ モバイル アプリに加え、Twitter Bootstrap などのレスポンシブ デザイン フレームワークを使用してモバイル Web サイトに電力を供給できます。 ネイティブ モバイル アプリを構築する場合は、アプリのデータ アクセス、認証、プッシュ通知を処理する JSON ベースの Web API を簡単に作成できます。 応答性の高いモバイル サイトを構築する場合は、任意の CSS フレームワークまたはオープン グリッド システムを使用するか、jQuery Mobile や Sencha などの強力なモバイル システムと PhoneGap を使用した優れたモバイル アプリケーションを選択できます。
シングルページアプリケーション
ASP.NET シングル ページ アプリケーション (SPA) は、HTML 5、CSS 3、JavaScript を使用したクライアント側の重要な対話を含むアプリケーションの構築に役立ちます。 Visual Studio には、knockout.js と ASP.NET Web API を使用してシングル ページ アプリケーションを構築するためのテンプレートが含まれています。 組み込みの SPA テンプレートに加えて、コミュニティで作成された SPA テンプレートもダウンロードできます。
WebHooks
WebHooks は、Web API と SaaS サービスを結び付けるための単純なパブリッシュ/サブ モデルを提供する軽量の HTTP パターンです。 サービスでイベントが発生すると、登録済みサブスクライバーに HTTP POST 要求の形式で通知が送信されます。 POST 要求にはイベントに関する情報が含まれています。これにより、受信側がそれに応じて動作できるようになります。
WebHook は、Dropbox、GitHub、Instagram、MailChimp、PayPal、Slack、Trello など、多数のサービスによって公開されています。 たとえば、WebHook は Dropbox でファイルが変更されたか、GitHub でコード変更がコミットされたか、PayPalで支払いが開始されたか、Trello でカードが作成されたことを示すことができます。