ASP.NETがよく分からない。
最初は、ネットで調べながら、なんとか作業していくということもあると思います。
でも、ネットでいい感じの情報がなかなか見つからなくて、理解するのに時間がかかってしまうこともあると思います。
時間があるときにサクッと理解できたらと思うけど、いまいち理解が進まない。
SEあるあるかもしれませんが、研修でjavaやC#などを学習してきたが、いざ現場に入ると学習してきた言語とは違うものを扱ったり、知らない技術を扱ったりです。
初めて扱う技術って理解するの難しかったりしますよね
本記事では、ASP.NETについて解説したいと思います。
理解のお役に立てれば幸いです。
ASP.NETとは、WindowsでWebアプリケーション開発をするフレームワーク
ASP.NETとは、Microsoft社が提供しているもので、WindowsOSでWebアプリケーション開発をするためのフレームワークです。
webアプリケーションを開発するために、必要な材料を提供してくれています。
そもそも、Webアプリケーションって何?
フレームワークって何?
各用語について、以下に整理したので、参考にしてみてください!
アプリケーションとは
アプリケーションは、簡単に言うと特定の作業の目的に応じて作られたプログラムのことでソフトウェアともいいます。
例えば、ExcelやWord、スマホのアプリも目的に応じて作られたプログラムで、あまり意識することなくアプリやアプリケーションと呼んでいると思います。
Webアプリケーションとは
Webアプリケーション(以下、webアプリ)とは、インターネットを利用したアプリケーションのことです。
Webアプリの例としては、youtubeやtwitter、Instagramやamazonなどがあります。
コメント投稿やデータの更新、商品の購入などができるようなものを、特にwebアプリと呼んだりします。
ただし、twitterやinstagramなどのアプリを、スマホにインストールして使う場合は、webアプリと呼ばずネイティブアプリと呼びます。
あくまでも、googleなどで検索してwebサイト版で表示されるページがwebアプリです。
フレームワークとは
フレームワークとは、ある作業をするための道具セットのようなもので、また作業のやり方や手法のようなものです。
一般的にフレームワークは「枠組み」「骨組み」「構造」などの意味をもつ言葉ですが、IT用語的にはシステム開発するのに必要な機能があらかじめ用意された骨組みといった感じです。
例えば、家を建てることをイメージしてみましょう!
家を建てようと思ったときに、まず家の材料となる木材や釘、そしてトンカチやノコギリなどの道具が必要になっていきます。
また、それらを扱って実際に作業する大工さんも必要になってきます。
そして、家を建てるための材料や人や道具が揃って初めて家を建てることができる準備ができたわけです。
次にやるのはどんな家を作るのかを決めることです。
家を建てる材料や人や道具があっても作る家が決まってないと家は作れません。
つまり、どんな家を作るか決めてどのような手順で実際に作っていくのかを決めていきます。
どんな家をどんな手順で作るのかが決まり、大工さんにそれを伝えることで初めて大工さんが道具と材料を使って決まった家を建てていくわけです。
家を建てる話を、システム開発に置き換えて考えてみてください。
家を建てるときに材料、道具、人などを準備しましたが、システム開発ではすでに準備されている状態からスタートすることができます。
つまり、これこそがフレームワークです。
フレームワークを使ってシステム開発をするとはつまり材料や道具などが揃っていて、システム開発できる準備ができている状態のものを使うと言うイメージです。
つまり、フレームワークを使ってシステム開発をすると言うことは、家を建てることに置き換えると、家を建てる材料や道具が揃っていてどんな家を建てるのか決めるところから作業をスタートできると言うことです。
「フレームワークは作業のやり方や手法のようなもとだ」とは、どういうことなのかというと、病院の治療をイメージして欲しいのですが、何か心臓に悪い病気がある人を直すと言うことを考えたときに、方法として薬を使って治療する方法や手術する方法などがあると思います。
このように悪い病気を治すにはいくつかやり方が存在しています。
システム開発も同じようなイメージです。
同じようなシステムを作るためにいくつかのやり方があります。
フレームワークとは、そのやり方というイメージです。
フレームワークにはたくさんの種類があり、それはプログラミング言語によって分類されたり用途によっても分類されたりします。
病気を治療するために、手術による外科的治療法や薬による内科的治療法などいくつかのアプローチがあるようにシステム開発もその時の状況や理由によって使用するフレームワークが変わってきます。
ASP.NETの構成
ASP.NETでは、webアプリケーションのフレームワークとして以下3種類のフレームワークが用意されています。
- ASP.NET Webフォーム
- ASP.NET MVC
- ASP.NET Web Pages
これらのフレームワークはどれを使ってもwebアプリを作成することができますが、開発するアプリの内容や用途などの理由によって使い分けているような感じです。
まとめ
ASP.NETはwebアプリを開発するための手段であり方法です。
その方法にもWebフォームやMVCなどの種類がありどんなシステムにするのかによってフレームワークに何を使うのかを考えていかなければいけません。
どんな手段でシステム開発をしていくのかを考えることもSEの仕事として大事なことです。