ASP.NET Core MVCを初心者目線で解説するチュートリアルの第1回目です。
▼目次はこちら▼
学習を始める前に、ASP.NET Core MVCの言葉の意味を軽く理解しておきましょう。
目次
ASP.NET Coreとは
ASP.NET Coreが開発された経緯として、ASP.NETがあります。(名前は似ていますが、別物です。)ASP.NET CoreはASP.NETを基に作られました。
何ができるのか
ASP.NETと.NET Coreは共にWebアプリケーションフレームワークです。Microsoft EdgeやGoogle Chromeといったブラウザで動作するWebアプリケーションやWeb APIを作成できます。
開発環境
最も大きな違いは開発できる環境です。ASP.NETではWindowsユーザーしか開発できませんでしたが、.NET Coreでは他のOSでも開発が可能になりました。
- ASP.NET…Windowsのみ
- ASP.NET Core…Windows、macOS、Linux
対応フレームワーク
- ASP.NET….NET Framework
- ASP.NET Core….NET Core x、.NET x.0
プロジェクトテンプレート
- ASP.NET…Web Forms、MVC、Web API
- ASP.NET Core…Webアプリ(Razor Pages)、Webアプリ(MVC)、Web API
Web FormsはWin Formのブラウザ版のようなもので、ドラッグ&ドロップで作成出来ましたが、.NET Coreでドラッグ&ドロップに対応したプロジェクトテンプレートはありません。その代わり、Blazorが導入され、フロントエンド/サーバーサイドの両方の処理をC#で書けるようになりました。
ここまでのまとめ
色々書きましたが、上記は聞きながす程度で大丈夫です。
ただ一つ、ASP.NETとASP.NET Coreは違うことは覚えておいてください。
システムを作成する際、エラーメッセージや分からない内容で検索することがよくあると思います。検索時に調べた内容がヒットするけど、コードの構造がなんか違うなぁと感じた際はASP.NETの内容が表示されているかもしれません。
MVCとは
MVCはModel-View-Controllerの略で、システムをModel(モデル)、View(ビュー)、Controller(コントローラー)の3つに分けて作成する開発パターンのことです。プログラムを開発・保守する上で、どこに何を書いているか分からない、なんてことにならないように、各部分に役割を持たせて管理する方法の1つです。
Model、View、Controller、それぞれの役割をひとつずつ確認していきましょう。
Model(モデル)
Modelの役割はデータやオブジェクトの定義です。例えば、データベースのテーブルやシステムで使用するクラスを指します。
例えば、会員制のWebアプリがあるとすると、Modelは登録する項目(ユーザーID/ユーザー名/登録日/削除フラグなど)を定義する役割を担います。
Controller(コントローラー)
Controllerの役割はModelとViewの間で、通信する橋渡しです。Modelをもとにデータを加工してViewに渡したり、逆にViewからデータを受け取ってDBに保存したりします。
先述の例になぞらえると、Controllerは会員登録(登録項目を保存する処理)やユーザーログイン(登録情報がDBにあるか確認する処理)などを行います。
View(ビュー)
Viewの役割はControllerによって受け取ったModelなどのデータをユーザーに表示することです。.htmlで書かれることが多いです。
先述の例になぞらえると、Viewは会員登録時の表示ページをはじめ、入力フォーム、ログイン時のログインボタン、グローバルメニューなど、ユーザーが操作する際に画面に表示される要素のことです。
例を図示するとこんな感じです。
ASP.NET Core MVCについて、少しは理解が深まっていれば幸いです。説明ばかりでは定着しづらいと思うので、実際にプロジェクトを作成しつつ、チュートリアルを進めていきたいと思います。
次の記事はこちらです。
コメント