【#1】.NET Core MVC初心者チュートリアル MVCとは

スポンサーリンク
初心者目線で解説するチュートリアル1 プログラミング

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
ややこしいのですが、.NET x.0は「.NET Framework + .NET Core」で作成された最新のフレームワークです。ASP.NET Coreのフレームワークで最新のものは.NET Core x.xかと思いきや、Coreが付いてないものが最新なので、プロジェクトを作成する際は注意が必要です。

プロジェクトテンプレート

  • 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は会員登録時の表示ページをはじめ、入力フォーム、ログイン時のログインボタン、グローバルメニューなど、ユーザーが操作する際に画面に表示される要素のことです。

例を図示するとこんな感じです。

MVCの概要図ASP.NET Core MVCについて、少しは理解が深まっていれば幸いです。説明ばかりでは定着しづらいと思うので、実際にプロジェクトを作成しつつ、チュートリアルを進めていきたいと思います。

次の記事はこちらです。

コメント

タイトルとURLをコピーしました