ASP.NET 概要

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 Forms、ASP.NET MVC、ASP.NET Web ページ) が用意されています。 3 つのフレームワークはすべて安定していて成熟しており、それらのいずれかで優れた Web アプリケーションを作成できます。 どのフレームワークを選択しても、ASP.NET の利点と機能はどこでも得られます。

各フレームワークは、それぞれ異なる開発スタイルを対象としています。 選択するものは、プログラミング資産 (知識、スキル、開発経験)、作成するアプリケーションの種類、および使用しやすい開発アプローチの組み合わせによって異なります。

各フレームワークの概要と、それらを選択する方法に関するいくつかのアイデアを次に示します。 ビデオの紹介を希望する場合は、「ASP.NET を使用した Web サイトの作成」と「Web ツールとは」を参照してください。

フレームワーク 次の内容に関する経験がある場合: 開発スタイル 専門知識
Web フォーム Win フォーム、WPF、.NET HTML マークアップをカプセル化するコントロールの豊富なライブラリを使用した迅速な開発 RAD (中級、上級)
MVC Ruby on Rails、.NET HTML マークアップを完全に制御し、コードとマークアップを分離し、簡単にテストを記述できます。 モバイル アプリケーションとシングルページ アプリケーション (SPA) に最適な選択肢です。 中級、上級
Web ページ クラシック ASP、PHP HTML マークアップとコードを同じファイルにまとめる 初心者、中級

Web フォーム

ASP.NET Web Forms を利用することで、使い慣れたドラッグ アンド ドロップのイベント駆動型モデルを利用して動的な Web サイトを構築できます。 デザイン サーフェスや数百あるコントロールとコンポーネントを利用し、洗練された強力な UI 駆動型サイトとデータ アクセスを短時間で構築できます。

Web Forms に関する詳細情報

MVC

ASP.NET MVC には、動的な Web サイトを構築するための強力なパターン ベースの方法が用意されており、楽しみながら迅速に開発できるように、問題を完全に切り離し、マークアップを自由に制御できます。 ASP.NET MVC には、高速な TDD 対応の開発環境で、最新の Web 規格を使用する高度なアプリケーションを作成できる数多くの機能があります。

MVC に関する詳細情報

ASP.NET Web ページ

ASP.NET Web Pages および Razor 構文では、高速でわかりやすく軽量にサーバー コードと HTML を組み合わせて動的 Web コンテンツを作成します。 データベースへの接続、動画の追加、ソーシャル ネットワーク サイトへのリンクを始めとするさまざまな機能があり、最新の Web 標準に準拠した美しいサイトを作成するのに役立ちます。

Web ページに関する詳細情報

Web Forms、MVC、Web ページに関する注意事項

3 つの ASP.NET フレームワークはすべて .NET Framework に基づいており、.NET と ASP.NET のコア機能を共有します。 たとえば、3 つのフレームワークすべてで、メンバーシップに基づくログイン セキュリティ モデルが提供され、ASP.NET のコア機能の一部である要求の管理、セッションの処理などの同じ機能を共有します。

さらに、3 つのフレームワークは完全に独立しているわけではありません。どれか 1 つを選択しても、別のフレームワークを使用できなくなるわけではありません。 フレームワークは同じ Web アプリケーションに共存できるため、アプリケーションの個々のコンポーネントが異なるフレームワークを使用して作成されているのを見ることは珍しいことではありません。 たとえば、アプリの顧客向けの部分は、マークアップを最適化するために MVC で開発される場合があります。一方、データ アクセスと管理部分は、データ制御とシンプルなデータ アクセスを利用するために Web Forms で開発されます。

Web API

ASP.NET Web API は、ブラウザーやモバイル デバイスなどを含む多様なクライアントに提供できる HTTP サービスの構築が容易になるフレームワークです。 ASP.NET Web API は、.NET Framework に基づいて RESTful アプリケーションを構築するのに最適なプラットフォームです。

Web API の詳細

リアルタイム テクノロジ

ASP.NET SignalR は、リアルタイム Web 機能の開発を容易にする ASP.NET 開発者向けの新しいライブラリです。 SignalR を使用することで、サーバーとクライアント間の双方向の通信が可能になります。 サーバーは、接続されているクライアントが使用可能になるとすぐにコンテンツをプッシュできます。 SignalR は Web ソケットをサポートし、古いブラウザーの他の互換性のある手法にフォールバックします。 また、SignalR には、接続管理 (接続イベントや切断イベントなど)、接続のグループ化、承認などの API も含まれます。

SignalR に関する詳細情報

モバイル アプリとサイト

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 でカードが作成されたことを示すことができます。

WebHook に関する詳細情報