関連サイト
本書の関連ページが用意されています。
内容紹介
●日本マイクロソフト.NETメンバー直伝! 企業向けWebアプリ開発の極意
エンタープライズ(企業向け)Webアプリ開発の常識をアップデートする一冊です。日本マイクロソフトの経験豊富な.NETメンバーによって執筆された本書は、JavaScriptに代わる革新的なC#フレームワーク「ASP.NET Core Blazor」を駆使した開発の世界へとあなたを導きます。
ASP.NET Core Blazorの使命は、Webアプリの開発をよりシンプルに、かつ強力にすること。本書では、データバインディング、UIの構築、入力検証、ランタイム構成といった基本的な内容から、Entity Framework Coreを利用した効率的なデータアクセスや、データ参照アプリ、データ更新アプリ、そしてBlazor WASMを使用したアプリの開発まで、実践的なエンタープライズWebアプリ開発の最前線の技術・手法を体験できます。また、.NET 8でリリースされたBlazor United型開発にも対応。あなたの.NET Web開発スキルを次のレベルへと引き上げるための必携書として、本書をぜひご活用ください。
書誌情報
- 著者: 伊藤 稔, ⼤⽥ ⼀希, ⼩⼭ 崇, 辻本 海成, 久野 太三(著), ⾚間 信幸, 井上 章(著・監修)
- 発行日: 2024-05-20 (紙書籍版発行日: 2024-05-20)
- 最終更新日: 2024-05-20
- バージョン: 1.0.0
- ページ数: 424ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
エンタープライズWebアプリ/システムを開発するC#エンジニア・ASP.NET Web FormsをはじめとするレガシーなWeb開発技術からなかなか乗り換えられずにいる企業システムの開発者・.NET 3.5世代から技術的に停滞しているエンジニア
著者について
伊藤 稔
第5章の執筆を担当。1995年生まれ。2020年に新卒採用でマイクロソフトに入社。マイクロソフトのブラウザ/IIS/Azure Bot Serviceのサポート業務に従事。
⼤⽥ ⼀希
技術リードとして本書全体の技術監修を担当。1981年生まれ。SIerで10年以上システム開発・社内技術標準化に携わり、その後マイクロソフトにて有償サポート契約企業に対するAzureのPaaSやアプリケーション開発に関するサポートに従事。.NETに関する開発情報の発信や書籍を数冊執筆、社内外の講演多数。
⼩⼭ 崇
第7章、第8章の執筆を担当。1969年生まれ。マイクロソフトにて大企業向けに、アプリケーションアーキテクチャを中心としたコンサルティングに20年以上従事。また、実際の企業システム開発プロジェクトにマイクロソフトメンバーとして参画し、設計から実開発まで手掛けた経験も多数。現在はクラウドソリューションアーキテクトとして、Azureの技術支援を担当。
辻本 海成
第2章、第3章の執筆を担当。1995年生まれ。2020年に日本マイクロソフトへ新卒入社。Azure App Service等アプリケーション開発関連の技術営業を担当。
久野 太三
第6章の執筆を担当。1993年生まれ。マイクロソフトのブラウザサポート業務に従事。製造業にてデータ分析用Webアプリケーションの開発をしていた経験を活かし、ブラウザやWebアプリケーション、通信に関する問題解決やより良い手法の提案を行なうべく活動中。
⾚間 信幸
第1章、第4章、第9章、第10章、第11章と付録の執筆、および本書出版に関わる全体監修を担当。1973年生まれ。マイクロソフトにて大企業向けのシステム開発・アーキテクチャコンサルティングに20年以上関わり、現在はカスタマーサクセス事業本部にてプリンシパルクラウドソリューションアーキテクトとして業界横断的な立ち位置で活動中。.NETやAzureの開発関連書籍を10冊執筆、社外向け講演多数。
井上 章
本書出版に関わる全体監修のほか、「はじめに」「おわりに」執筆を担当。2008年、日本マイクロソフト株式会社入社。.NETやMicrosoft Azureなどの開発技術を専門とするエバンジェリストとして技術書籍やオンライン記事などの執筆、技術イベントでの講演などを行なう。2022年からは、Senior Cloud Solution ArchitectとしてCloud Native技術や開発ツールとプロセスなどを中心とした技術訴求活動に従事。2023年よりApp Innovationアーキテクト第一本部本部長を務める。
目次
はじめに
本書の読み方
第1章 ASP.NET Core Blazorの概要
- 1.1 ASP.NET Core Blazorとは何か
- 1.2 WebAssembly(WASM)
- 1.3 Blazorで特に重要な2つの開発モデル
- 1.4 Blazor WASMによるWebアプリ開発とその挙動
- 1.5 Blazor ServerによるWebアプリ開発とその挙動
- 1.6 Blazorの2つの開発モデルの使い分け
- 1.7 Blazor United——.NET 8で導入された統合開発モデル
- 1.8 本書での解説手順
- 1.9 まとめ
第2章 データバインドの基礎
- 2.1 BlazorにおけるUI実装モデル
- 2.2 データバインドの基本
- 2.3 片方向データバインドによるUIへのデータの表示方法
- 2.4 双方向データバインドによるUIからのデータ取り込み方法
- 2.5 イベントハンドラの記述
- 2.6 データバインド用データ変数のデータ型の選択とnull値の取り扱いの考え方
- 2.7 まとめ
第3章 BlazorにおけるUIの組み立て方
- 3.1 UIコンポーネント
- 3.2 ページとルーティング
- 3.3 レイアウト制御
- 3.4 まとめ
第4章 データ入力検証(データバリデーション)
- 4.1 データ入力検証の必要性
- 4.2 データ入力検証の開発におけるMVVMモデルの必要性
- 4.3 DataAnnotationsを使ったモデル検証機能によるViewModelクラスの実装
- 4.4 データバインドを用いたデータ入力ページの実装
- 4.5 データ入力ページを作成するためのUIコンポーネント
- 4.6 DataAnnotationsを使ったモデル検証機能の利用に関するTips&Tricks
- 4.7 まとめ
第5章 Blazor Serverランタイムの構成方法
- 5.1 スタートアップ処理
- 5.2 DIコンテナへのサービスの登録
- 5.3 ASP.NET Coreミドルウェアの登録
- 5.4 構成設定
- 5.5 ロギング
- 5.6 集約例外ハンドラ
- 5.7 まとめ
第6章 Entity Framework Coreによるデータアクセスの基礎
- 6.1 Entity Frameworkの概要
- 6.2 サンプルデータベースの準備
- 6.3 データモデルの作成方法
- 6.4 基本的なデータ参照の書き方
- 6.5 基本的なデータ更新の書き方
- 6.6 Tips&Tricks
- 6.7 まとめ
第7章 Blazor Serverによるデータ参照アプリ
- 7.1 サンプルアプリ
- 7.2 事前準備
- 7.3 ① データの一覧表示
- 7.4 ② 描画のカスタマイズ(列連結、テンプレート描画)
- 7.5 ③ ソート
- 7.6 ④ ページング
- 7.7 ⑤ フィルタリング
- 7.8 ⑥ スタイリング
- 7.9 ⑦ 行選択+関連情報の表示
- 7.10 ⑧ ページ遷移
- 7.11 ⑨ コンポーネント化
- 7.12 まとめ
第8章 Blazor Serverによるデータ更新アプリ
- 8.1 サンプルアプリ
- 8.2 入力データの検証
- 8.3 楽観同時実行制御付きデータ更新
- 8.4 まとめ
第9章 Blazor WASMの概要
- 9.1 Blazor WASMプロジェクトの作成方法
- 9.2 Blazor WASMアプリの基本的な作成方法と動作概要
- 9.3 Blazor WASMを利用した3階層型Webアプリの作成方法
- 9.4 Blazor WASMを利用する必然性のあるアプリ
- 9.5 Blazor WASMによるPWA(プログレッシブWebアプリ)開発
- 9.6 まとめ
第10章 Blazor WASMランタイムの構成方法
- 10.1 スタートアップ処理
- 10.2 DIコンテナサービスの登録
- 10.3 構成設定
- 10.4 ロギング
- 10.5 集約例外ハンドラ
- 10.6 まとめ
第11章 Blazor Unitedの開発スタイル
- 11.1 Blazor Unitedとは何か
- 11.2 「Blazor Web App」プロジェクトテンプレートの作成オプション
- 11.3 Blazor Unitedのためのプロジェクト作成オプション
- 11.4 Interactivity Locationに関する注意点
- 11.5 Interactive render modeによる動作の違いとレンダリングオプション
- 11.6 レンダリングモード ① 静的サーバーレンダリング(Static SSR)
- 11.7 レンダリングモード ② 対話型サーバー(Interactive Server)
- 11.8 レンダリングモード ③ 対話型WASM(Interactive WebAssembly)
- 11.9 レンダリングモード ④ 対話型オート(Interactive Auto)
- 11.10 サーバーとWASMの両方に対応するRazorページの開発方法
- 11.11 コンポーネントレベルでのレンダリングモードの切り替え
- 11.12 Blazor Unitedにおけるレンダリングモード選択の考え方
- 11.13 ソリューションファイルの構成
- 11.14 .NET 8におけるBlazorアプリ開発手法の使い分け
- 11.15 まとめ
付録01 サンプルデータベースの準備方法
- A1.1 本書で利用するサンプルデータベース
- A1.2 データベース管理ツール
- A1.3 テスト用のデータベースサーバー作成の選択肢
- A1.4 ローカルマシンにSQL Serverを立てる方法
- A1.5 pubsデータベースの中身
付録02 本番環境を意識したアプリ配置
- A2.1 Blazorアプリの本番環境への配置
- A2.2 Blazorプロジェクトのコンパイルの仕組み
- A2.3 Blazor Serverアプリのコンテナビルド
- A2.4 本番環境を構成する場合の注意点
- A2.5 本番環境に合わせた構成設定値のオーバーライド
- A2.6 様々な本番環境への配置方法
- A2.7 まとめ
付録03 ASP.NET Core Blazorにおける認証・認可制御
- A3.1 業務アプリにおける認証・認可制御の基礎
- A3.2 アーキテクチャスタイルによる認証・認可方式の違い
- A3.3 具体的な認証・認可の実装例
- A3.4 その他の注意事項
- A3.5 まとめ
付録04 C#でのコーディング時に知っておきたい言語機能
- A4.1 C#の言語仕様の強化
- A4.2 NullReferenceExceptionの発生を抑え込むための機能
- A4.3 コードを短く書くための機能
- A4.4 まとめ