前回に引き続き、「独習 ASP.NET Webフォーム(第6版)」を
読んで学んだことを少しずつ記事にまとめていきたいと思います。
読んで学んでインプットするだけではなく、
ブログ記事にまとめてアウトプットして理解を深めていきたいと思います!
.NET Frameworkとは
そもそも、Windows標準のアプリケーションの実行・開発環境上で動作する
「.NET Framework」と呼ばれるアプリケーションフレームワークがあり、
その上で構築されたWebアプリケーション開発用のフレームワークが「ASP.NET」です。
.NET Frameworkでは、アプリケーションの基礎的な仕組みを担ってくれています。
例えば、「メモリの解放」や「特定動作の許可/拒否」などの本来エンジニアが意識する必要のない
仕組みを全て一元的に管理してくれています。
その他にも、.NET Frameworkにはいくつかの特徴があり、.NET Frameworkのより詳細な構造を次で解説していきます。
.NET Frameworkの構造
.NET Frameworkの特徴として、大きく分けて以下2つの要素があります。
- 共通言語ランタイム(CLR:Common Language Runtime)
- .NET Frameworkクラスライブラリ
共通言語ランタイム(CLR)とは、.NETアプリケーションが共通で使用できる実行エンジンで、
何ができるかというと、C#やVisual Basic(VB)、F#、C++などの開発言語で作成したプログラムがCLR上で全て動作していて、
どの言語を使用してもコンパイルされたものはMicrosoft Intermediate Language(MSIL)という共通の中間言語に変換されることで、
上記の開発言語のいずれでも基本的にはどの機能を使用しても同様の結果やパフォーマンスで動作させることができます。
このことから、機能やパフォーマンスに左右されずに、上記の開発言語の中でエンジニアが最も得意なものを選ぶことが可能になっています。
.NET Frameworkクラスライブラリとは、
NETに対応している開発言語から共通して使用できる高機能な「部品」の集合のことを指します。
これは.NET Frameworkクラスライブラリを使用することで、
開発言語に左右されずに同様の機能を同様の方法で使用することができるようになっています。
また、.NET Frameworkクラスライブラリには、主に以下3つの仕組みがあります。
- 基本ライブラリ
- ADO.NET
- アプリケーションフレームワーク
基本ライブラリとは、文字列や構造化データの操作、セキュリティ/スレッドの制御、
ファイルシステムへのアクセスなど、最も基礎的な機能を担っています
ADO.NETとは、データベースやXML(eXtensible Markup Language)などへのアクセス手段を提供するライブラリのことを指します。
アプリケーションフレームワークとは、アプリケーションを構築する上で必要な「枠組み」を指しており、
例えば、Windows上で動作するアプリケーションを開発するための「Windowsフォーム/WPF(Windows Presentation Framework)、
今回対象となるWebアプリ開発用のASP.NETがフレームワークに属しています。
フレームワークは、UIを構築するための部品やWindowsやWebなど特定のアプリケーションに特化しているライブラリなど、
使用することでそれらアプリケーションの開発を簡単にしてくれる基盤となっているため、アプリケーション開発をする上では欠かせない仕組みとなっています。