ASP.NET 概要ASP.NET overview

ASP.NET は、HTML、CSS、および JavaScript を使用して優れた web サイトや web アプリケーションを構築するための無料の web フレームワークです。ASP.NET is a free web framework for building great websites and web applications using HTML, CSS, and JavaScript. Web API を作成し、Web ソケットなどのリアルタイム テクノロジを使用できます。You can also create Web APIs and use real-time technologies like Web Sockets.

ASP.NET Coreは ASP.NET の代替です。ASP.NET Core is an alternative to ASP.NET. ASP.NET と ASP.NET Core の選択方法に関するガイダンス を参照してください。See the guidance on how to choose between ASP.NET and ASP.NET Core.

作業開始Get started

ASP.NET on Windows の無料の IDE Visual Studio 2017 Community edition をインストールしてください。Install Visual Studio 2017 Community edition, a free IDE for ASP.NET on Windows.

Web サイトと web アプリケーションWebsites and web applications

ASP.NET は、web アプリケーションを作成するための3つのフレームワークを提供します。Web フォーム、ASP.NET MVC、および ASP.NET Web ページ。ASP.NET offers three frameworks for creating web applications: Web Forms, ASP.NET MVC, and ASP.NET Web Pages. この3つのフレームワークはすべて安定して成熟しており、いずれのフレームワークでも優れた web アプリケーションを作成できます。All three frameworks are stable and mature, and you can create great web applications with any of them. どのようなフレームワークを選択しても、どこにいても ASP.NET のすべての利点と機能が得られます。No matter what framework you choose, you will get all the benefits and features of ASP.NET everywhere.

各フレームワークは、別の開発スタイルを対象としています。Each framework targets a different development style. どちらを選択するかは、プログラミングアセット (知識、スキル、および開発エクスペリエンス) の組み合わせ、作成するアプリケーションの種類、および使い慣れた開発アプローチによって異なります。The one you choose depends on a combination of your programming assets (knowledge, skills, and development experience), the type of application you're creating, and the development approach you're comfortable with.

各フレームワークの概要と、それらを選択する方法に関するいくつかのアイデアを以下に示します。Below is an overview of each of the frameworks and some ideas for how to choose between them. ビデオの概要については、「 ASP.NET を使用した Web サイトの作成」および「 Web ツールとは」を参照してください。If you prefer a video introduction, see Making Websites with ASP.NET and What is Web Tools?

の経験がある場合If you have experience in 開発スタイルDevelopment style Expertise
Web フォームWeb Forms Win フォーム、WPF、.NETWin Forms, WPF, .NET HTML マークアップをカプセル化するコントロールの豊富なライブラリを使用した迅速な開発Rapid development using a rich library of controls that encapsulate HTML markup ミッドレベル、高度な RADMid-Level, Advanced RAD
MVCMVC Ruby on Rails、.NETRuby on Rails, .NET HTML マークアップ、コードとマークアップの分離、およびテストの記述を簡単に行うことができます。Full control over HTML markup, code and markup separated, and easy to write tests. モバイルアプリケーションとシングルページアプリケーション (SPA) に最適な選択肢です。The best choice for mobile and single-page applications (SPA). ミッドレベル、詳細Mid-Level, Advanced
Web ページWeb Pages Classic ASP、PHPClassic ASP, PHP 同じファイル内の HTML マークアップとコードの組み合わせHTML markup and your code together in the same file 新規、中間レベルNew, Mid-Level

Web フォームWeb Forms

ASP.NET Web フォームを使用すると、使い慣れたドラッグアンドドロップのイベントドリブンモデルを使用して、動的な web サイトを構築できます。With ASP.NET Web Forms, you can build dynamic websites using a familiar drag-and-drop, event-driven model. デザインサーフェイスと数百のコントロールやコンポーネントを使用すると、データアクセスを使用して高度で強力な UI 駆動型サイトをすばやく構築できます。A design surface and hundreds of controls and components let you rapidly build sophisticated, powerful UI-driven sites with data access.

Web フォームについての詳細情報Learn more about Web Forms

MVCMVC

ASP.NET MVC には、動的な web サイトを構築するための強力なパターンベースの方法が用意されています。これにより、問題を明確に分離し、アジャイル開発のためのマークアップを完全に制御できます。ASP.NET MVC gives you a powerful, patterns-based way to build dynamic websites that enables a clean separation of concerns and that gives you full control over markup for enjoyable, agile development. ASP.NET MVC には、最新の web 標準を使用する高度なアプリケーションを作成するための、TDD に適した迅速な開発を可能にする多くの機能が含まれています。ASP.NET MVC includes many features that enable fast, TDD-friendly development for creating sophisticated applications that use the latest web standards.

MVC の詳細情報Learn more about MVC

ASP.NET Web ページASP.NET Web Pages

ASP.NET Web ページと Razor 構文は、サーバーコードと HTML を組み合わせて動的な Web コンテンツを作成するための高速でわかりやすく、軽量な方法を提供します。ASP.NET Web Pages and the Razor syntax provide a fast, approachable, and lightweight way to combine server code with HTML to create dynamic web content. データベースに接続し、ビデオを追加し、ソーシャルネットワーキングサイトにリンクします。また、最新の web 標準に準拠した美しいサイトの作成に役立つ多くの機能が追加されています。Connect to databases, add video, link to social networking sites, and include many more features that help you create beautiful sites that conform to the latest web standards.

Web ページについての詳細情報Learn more about Web Pages

Web フォーム、MVC、および Web ページに関する注意事項Notes about Web Forms, MVC, and Web Pages

3つの ASP.NET フレームワークはすべて、.NET と ASP.NET の .NET Framework と共有のコア機能をベースとしています。All three ASP.NET frameworks are based on the .NET Framework and share core functionality of .NET and of ASP.NET. たとえば、3つのすべてのフレームワークでは、メンバーシップに基づいたログインセキュリティモデルが提供されます。また、3つすべては、コア ASP.NET 機能の一部である要求の管理、セッションの処理などのために同じ機能を共有します。For example, all three frameworks offer a login security model based around membership, and all three share the same facilities for managing requests, handling sessions, and so on that are part of the core ASP.NET functionality.

また、3つのフレームワークは完全に独立しているわけではなく、どちらを選択しても、別のフレームワークを使用することはできません。In addition, the three frameworks are not entirely independent, and choosing one does not preclude using another. フレームワークは同じ web アプリケーション内に共存できるため、異なるフレームワークを使用して記述されたアプリケーションの個々のコンポーネントを確認することは珍しくありません。Since the frameworks can coexist in the same web application, it's not uncommon to see individual components of applications written using different frameworks. たとえば、データ アクセスと管理の部分はデータ コントロールと単純なデータ アクセスを活用するために Web フォームで開発中に、マークアップを最適化するために MVC アプリの顧客向けの部分を開発する可能性があります。For example, customer-facing portions of an app might be developed in MVC to optimize the markup, while the data access and administrative portions are developed in Web Forms to take advantage of data controls and simple data access.

Web APIWeb APIs

ASP.NET Web API は、ブラウザーやモバイルデバイスを含む広範なクライアントに接続できる HTTP サービスを簡単に構築できるフレームワークです。ASP.NET Web API is a framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices. ASP.NET Web API は、.NET Framework に基づいて RESTful アプリケーションを構築するのに最適なプラットフォームです。ASP.NET Web API is an ideal platform for building RESTful applications on the .NET Framework.

Web API についての詳細情報Learn more about Web API

リアルタイムテクノロジReal-time technologies

ASP.NET SignalR は、リアルタイム web 機能の開発を容易にする ASP.NET 開発者向けの新しいライブラリです。ASP.NET SignalR is a new library for ASP.NET developers that makes developing real-time web functionality easier. SignalR を使用すると、サーバーとクライアント間で双方向通信を行うことができます。SignalR allows bi-directional communication between server and client. サーバーは、使用可能になったらすぐに、接続されているクライアントにコンテンツをプッシュできます。Servers can push content to connected clients instantly as it becomes available. SignalR は Web ソケットをサポートしており、以前のブラウザーと互換性のある他の手法にフォールバックします。SignalR supports Web Sockets, and falls back to other compatible techniques for older browsers. SignalR には接続管理用の API が含まれています (接続し、切断イベントなど)、接続、および承認をグループ化します。SignalR includes APIs for connection management (for instance, connect and disconnect events), grouping connections, and authorization.

SignalR についての詳細情報Learn more about SignalR

モバイルアプリとサイトMobile apps and sites

ASP.NET では、Web API バックエンドを使用してネイティブモバイルアプリを作成できます。また、Twitter ブートストラップなどの応答性の高い設計フレームワークを使用してモバイル Web サイトを作成することもできます。ASP.NET can power native mobile apps with a Web API back end, as well as mobile web sites using responsive design frameworks like Twitter Bootstrap. ネイティブモバイルアプリを構築している場合は、アプリのデータアクセス、認証、およびプッシュ通知を処理するための JSON ベースの Web API を簡単に作成できます。If you are building a native mobile app, it's easy to create a JSON-based Web API to handle data access, authentication, and push notifications for your app. 応答性の高いモバイルサイトを構築する場合は、任意の CSS フレームワークを使用するか、好みのグリッドシステムを開くか、jQuery Mobile や Sencha などの強力なモバイルシステムと PhoneGap を使用した優れたモバイルアプリケーションを選択することができます。If you are building a responsive mobile site, you can use any CSS framework or open grid system you prefer, or select a powerful mobile system like jQuery Mobile or Sencha and great mobile applications with PhoneGap.

モバイルアプリとサイト開発の詳細情報Learn more about mobile app and site development

シングルページアプリケーションSingle-page applications

ASP.NET Single Page Application (SPA) を使用すると、HTML 5、CSS 3、および JavaScript を使用したクライアント側の重要な相互作用を含むアプリケーションを構築できます。ASP.NET Single Page Application (SPA) helps you build applications that include significant client-side interactions using HTML 5, CSS 3 and JavaScript. Visual Studio には、ノックアウトと ASP.NET Web API を使用してシングルページアプリケーションを構築するためのテンプレートが含まれています。Visual Studio includes a template for building single page applications using knockout.js and ASP.NET Web API. 組み込みの SPA テンプレートに加えて、コミュニティによって作成された SPA テンプレートをダウンロードすることもできます。In addition to the built-in SPA template, community-created SPA templates are also available for download.

シングルページアプリの開発についての詳細情報Learn more about single-page app development

Web フックWebHooks

Webhook は、Web API と SaaS サービスをまとめて配線の単純なパブリッシュ/サブスクライブ モデルを提供する軽量な HTTP パターンです。WebHooks is a lightweight HTTP pattern providing a simple pub/sub model for wiring together Web APIs and SaaS services. サービスでイベントが発生すると、登録されたサブスクライバーに対して HTTP POST 要求の形式で通知が送信されます。When an event happens in a service, a notification is sent in the form of an HTTP POST request to registered subscribers. POST 要求には、イベントに関する情報が含まれています。これにより、受信側がそれに応じて動作できるようになります。The POST request contains information about the event which makes it possible for the receiver to act accordingly.

Webhook は、Dropbox、GitHub、Instagram、MailChimp、PayPal、余裕、Trello など、多数のサービスによって公開されています。WebHooks are exposed by a large number of services including Dropbox, GitHub, Instagram, MailChimp, PayPal, Slack, Trello, and many more. たとえば、WebHook は、Dropbox でファイルが変更されたこと、またはコード変更が GitHub でコミットされたか、または PayPal で支払いが開始されたか、または Trello でカードが作成されたことを示すことができます。For example, a WebHook can indicate that a file has changed in Dropbox, or a code change has been committed in GitHub, or a payment has been initiated in PayPal, or a card has been created in Trello.

Webhook に関する詳細情報Learn more about WebHooks