その本の「はじめに」には、著者の「伝えたいこと」がギュッと詰め込まれています。この連載では毎日、おすすめ本の「はじめに」と「目次」をご紹介します。今日は増田智明さんの『 ASP.NET Core MVC プログラミング入門 .NET 7対応版 』です。

【はじめに】

 本書は、2016年に出版された『ASP.NET MVCプログラミング入門』の改版版です。当時、Ruby on Railsを祖としてCakePHP、SpringなどのMode-View-ControllerパターンによるWebアプリケーションのフレームワークがありました。そのC# 版がASP.NET MVCアプリケーションでした。.NET Core 1.0が出たばかりの頃で、WebアプリケーションはIIS(Internet Information Services)と.NET Framework 4.6で組むことが多かったのですが、『ASP.NET MVC プログラミング入門』ではWindows Serverに限らずLinuxやmacOSなどの動作環境を見据えて.NET Coreをベースにした解説をしました。

 .NET Coreは「.NET」と名前を変えて、本書執筆時点の最新は.NET 7というバージョンです。.NET(旧.NET Core)の動作環境は、Windows、Linux、macOSに限らず、iOS(iPhoneやiPad)やAndroid も.NET MAUIというモバイルでのマルチプラットフォーム対応のUIフレームワークによって対象に含まれるようになりました。さらに2023年春のMicrosoft Buildでは、.NET 8のスケジュールも明らかにされました。

 そんな中で、Webアプリケーションも2016年の当時から様相は一変しています。日常的にクラウド環境を扱うようになり、専用のデスクトップアプリをWindowsにインストールするよりも、ブラウザー上で動作するアプリやモバイルアプリを主に利用している読者も多いことでしょう。ブラウザー上でReact.jsやVue.jsに代表される仮想DOM(ドキュメントオブジェクトモデル)を使った画面遷移のないSPA(シングルページアプリケーション)の実現や、大きなストレージを持たないモバイルアプリでも5Gのような高速な通信回線あるいは常時Wi-Fiにつなげられる環境があればWeb APIを頻繁に呼び出して豊富な機能を提供できるようになりました。

 本書ではASP.NET Core MVCアプリケーション解説の改訂版ではありますが、大幅に加筆を行っています。サンプルコードを古いバージョンから新しいものに変更するだけでなく、昨今のネットワークを使ったアプリケーション開発に合わせて、Web APIとしてのASP.NET Core MVCの活用、React.jsやVue.jsとの連携、Azure へのデプロイなどの周辺技術を追加しました。同時に、従来のMVCパターンを踏襲するために、「Model-View-Controller」それぞれのパーツの使い方を学べるようにしています。

 動作環境としては、Windows 11とVisual Studio 2022の組み合わせで確認ができるようになっています。加えて、.NET 7がマルチプラットフォームで動作することを確認するために、付録ではLinux上の動作確認やデータベースにMySQLを利用したサンプルを追加しました。

 筆者にとってMVCパターンは古くて新しい技術です。ViewとControllerを分離することにより、Viewをうまく切り替えればロジックであるControllerをほとんど変えずに最新のUI技術に切り替えることが可能です。その証拠に、ASP.NET Core MVCアプリでは、従来からあるControllerの構造をほとんど変えずに、昨今のSPAが呼び出すWeb APIを提供できています。新しい技術に対応しつつ、貴重な遺産たるデータと長年の経験を活かせる良いパターンではないかと思っています。過ちをおかさない未来に向けて、良い経験を本書の読者が得られますように。

2023年6月  増田智明


【目次】

画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示
画像のクリックで拡大表示