ASP.NET
ASP.NETは
.NETで
Webアプリケーションを動作させる
フレームワークです。
歴史
1990年ごろまで、プログラムは1つのコンピューター上で動作するのが一般的であり、そのコンピューター上でCPUに逐一命令を投げていれば完結できました。 (コンピューター間で連携して処理を実行するプログラムもありました)
しかし、インターネット・イントラネットの普及に伴い、プログラムを実行するWebサーバーと結果を表示したり、操作を行うクライアントが別のコンピューターであるというWebアプリケーションが発達しました。 Webアプリケーションではサーバーとクライアントとの通信にはHTTPを使用します。
Webアプリケーションのアーキテクチャは従来のプログラムの動作とは大きく異なるため、プログラムではHTTPのリクエストを受信し、要求を解析してその要求に応えるHTMLを生成するという一連の処理を行う必要があります。
この処理の流れはほとんどのWebアプリケーションで共通であったため、簡単にWebアプリケーションを作成できるように基本的な処理の流れがあらかじめ組み込まれたフレームワークが登場しました。
このうち.NETを前提にしたものがASP.NETです。
種類
ASP.NETは汎用的なフレームワークなので、このフレームワークを採用した上で、具体的にどのようなアーキテクチャでアプリケーションを実装するかは選択の余地があります。 2018年3月現在では、Webアプリケーションには人間が使用する画面をインターフェースとするものの他、システム間通信を行うものなどもあり、代表的なものとしてはASP.NETでは下記の実装アーキテクチャを提供します。
ASP.NETが提供するアーキテクチャ
アーキテクチャ | 概要 | ASP.NET Webフォーム | デザイナで画面を作成し、イベントドリブンでプログラムを実行する。ASP.NETが提供するアーキテクチャとしては最古のものであり、2005年ごろまではASP.NETにはこのアーキテクチャしかなかった。 |
ASP.NET MVC | 独特な構文で画面を作成し、HTTPのリクエストに応じてプログラムを実行する。 |
Web API | システム間通信のために、RESTFulなAPIを実行する。 |
Single Page Application | JavaScriptと高度に連携しクライアント側でリッチなUIを提供する。 |