Dino Esposite が書いた「Programming ASP.NET Core」の日本語翻訳版が出版されると知って、早速「プログラミング ASP.NET Core」を読んでみました。

プログラミングASP.NET Core (マイクロソフト関連書)
- 作者: Dino Esposito,日本マイクロソフト井上章監訳,株式会社クイープ
- 出版社/メーカー: 日経BP社
- 発売日: 2019/05/23
- メディア: 単行本
- この商品を含むブログを見る
目次
第1部 新しい ASP.NET の概要
第1章 新しい ASP.NET の存在意義
第2章 初めての ASP.NET Core プロジェクト
第2部 ASP.NET MVC のアプリケーションモデル
第3章 ASP.NET MVC の起動
第4章 ASP.NET MVC のコントローラー
第5章 ASP.NET MVC のビュー
第6章 Razor の構文
第3部 横断的関心事
第7章 設計について考える
第8章 アプリケーションのセキュリティ
第9章 アプリケーションデータへのアクセス
第4部 フロントエンド
第10章 Web API の設計
第11章 クライアント側からのデータ送信
第12章 クライアント側のデータバインディング
第13章 デバイスフレンドリなビューの構築
第5部 ASP.NET Core のエコシステム
第14章 ASP.NET Core のランタイム環境
第15章 ASP.NET Core アプリケーションのデプロイメント
第16章 移行戦略と導入戦略
書籍で解説されているサンプルコードは、GitHub でも公開されています。
github.com
どんな書籍なのか
この書籍は、Web 開発の最低限の知識を持っていれば、ASP.NET の初心者にも理解できる内容ですが、やはり従来の ASP.NET 開発者に読んでほしい書籍です。
第1部では、これまでの .NET の歴史を振り返りながら、ASP.NET Core が登場した背景を明らかにし、Hello World な ASP.NET Core アプリケーションを動かすまでのイントロダクションとなっています。
第2部では、ASP.NET Core の MVC アプリケーションモデルについて、順を追ってアーキテクチャを解説しており、従来の ASP.NET との違いを押さえつつ、構造や仕組みを理解することができます。
第3部では、ASP.NET Core では欠かすことができない DI の役割を紹介し、従来の3層アーキテクチャではなく、プレゼンテーション、アプリケーション、ドメイン、インフラストラクチャの4層の Layered Architecture パターンをベースに横断的関心事を解説しています。セキュリティとして ASP.NET Identity による認証認可、データアクセスとして Entity Framework Core を解説していますが、モノリシックなアプリケーションを例に挙げたコマンドとクエリの分割にも触れ、Layered Architecture パターンと CQRS パターンの組み合わせまで解説している部分がよかったです。
第4部では、従来の ASP.NET では MVC とは別実装となっていた Web API について、ASP.NET Core での Web API をしっかりと解説しています。合わせて、クライアント側からのデータ送信やデータバインディングも解説しています。
第5部では、ASP.NET Core のランタイム環境やデプロイメント、最後に移行戦略を述べています。従来の ASP.NET アプリケーションの移行は、それなりのコストがかかるので、単純に最新版へのマイグレーションという目的だけでは不十分であり、クロスプラットフォーム、マイクロサービス、コンテナーといったクラウドネイティブなアプリケーションへの移行にビジネス上の価値があると見極めることが重要とする意見に同意です。
まとめ
先日の Microsoft Build 2019 では、.NET Core 3.0 の次バージョンが .NET 5 となるロードマップが発表されました。.NET 5 のネーミングはアレですが、ひとつの .NET として統一されることになります。
従来の ASP.NET 開発者に読んでもらい、クラウドネイティブなアプリケーションという未来に向かってチャレンジしてほしいと感じました。
devblogs.microsoft.com