CodeZineの執筆陣の一人、WINGSプロジェクト代表 山田祥寛さんの新刊『ASP.NET MVC 5実践プログラミング』が本日9月20日に刊行されます。
本書ではASP.NET MVC初学者のために、基本的なModel-View-Controllerモデルの構造から単体テスト、クラウド(Microsoft Azure)との連携まで、包括的に扱っています。Ruby on Rails、CakePHP、Spring、Djangoなどなど、他の言語でフレームワークを学んだ人にも馴染みやすく、かつ、本書で学んだ概念は他のフレームワーク学習にも汎用的に役立つはずです。
担当編集者からのコメント
多くのASP.NET開発者が待ちに待った、ASP.NET MVCの最新版に対応した書籍ができあがりました。Active Server Pages時代から“ASP”に取り組んでこられた山田祥寛氏の、こだわりの集大成とも言える仕上がりとなっています。山田氏の著作は過去に何冊も仕上げさせていただきましたが、今回の書籍は特にその「こだわり」を強く感じます。今回、せっかくの機会をいただきましたので、出版サイドから見ました山田氏の「こだわり」を紹介することで、本書の良さを少しでもお伝えできればと思っています。
最新かつ長く使える知識を提供したい――。実は、本書には前身があります。ASP.NET MVCの最初のバージョン(1.0)に対応した前書以降、本書は3つのバージョンを飛ばしての刊行となりました。仕様的に不安定で、どんどん変わることの見込まれるASP.NET MVCで、いつ最新版を刊行するのがベストなのか……?山田氏は、このバージョン5を選択するにあたり、この先のバージョンがリリースされても本の内容が無駄にならないバージョンにこだわりました。おかげで、この先6がリリースされようが、本書でその基本をじっくり押さえられる、絶妙なタイミングでの刊行になったと思います。
基本をしっかり押さえてワンステップ先も目指して欲しい――。本書の構成は極めてオーソドックスです。目次だけ見れば、基本的な項目しか網羅されていないように見えますが、目に見える部分ということで最後の章だけではなく、見渡せば随所にワンステップ先を考えた解説がなされていることに気付きます。山田氏の解説は文章量が多いなぁ……というのは、解説が丁寧というだけではなく、「ほかにも」いろいろ書いてあるから。単に手順を追ったり、技術的な仕様を理解するだけではなく、先の展開も読んで欲しい、そんなこだわりが垣間見えます。
じっくり腰を据えて取り組んだ作り込みを見て欲しい――。サンプルリストひとつとっても、コメントがしっかり入り、注目箇所は太字にして、しかも範囲指定の参照までついた、プログラムソースを単に掲示するということを超えたこだわりが見えます。随所に置かれたNoteは、こんなことを知っておくとよいよというサービス精神の表れ。極めつけは傍注。なぜにここまで……?とも思えるようなネタが盛り込まれています。傍注を追っていくだけで、先回りしてほほえむ山田氏の笑顔が浮かびます。
山田氏のこだわりは、やもすれば出版社泣かせとも言えるのは確固たる事実(ゴメンナサイ)。しかし我々が泣いた分、読者の皆様には極めて濃い、細部まで配慮の行き届いた、良書をお届けできるというわけです。あ、いえ、もちろん、もっとも苦労しているのは、山田さんご夫妻なのですが(笑)。
はじめてのWeb開発がASP.NET MVCという方、Webフォームは経験されてきた方、そしてJavaやPHP、Rubyなど他言語ののMVCフレームワークを経験されてきた方、いずれにもお勧めできる内容です。本書を読み進め、手を動かしていただければ、単なるWeb開発プラットフォームの解説書の域を超えた何かを、読者の皆様も感じていただけるものと確信しています。
仕様
- 書名: 『ASP.NET MVC 5実践プログラミング』
 - 著者: 山田祥寛著
 - 出版社: 秀和システム
 - 頁数: 568ページ
 - 定価: 3,500円(+消費税)
 - 判型: B5変版
 - 色数: 1色
 - 刊行日: 2014年9月20日
 - ISBN: 978-4-7980-4179-7
 
目次
Chapter1 イントロダクション
- 1-1 ASP.NETの全体像
 - 1-2 ASP.NET MVCとは?
 - 1-3 ASP.NET MVC利用のための環境設定
 
Chapter2 ASP.NET MVCの基本
- 2-1 プロジェクトの作成
 - 2-2 コントローラーの基本
 - 2-3 ビューの基本
 - 2-4 モデルの基本
 
Chapter3 Scaffolding機能による開発
- 3-1 Scaffolding機能によるアプリケーション開発
 - 3-2 一覧画面の作成(Indexアクション)
 - 3-3 詳細画面の作成(Detailsアクション)
 - 3-4 新規登録画面の作成(Createアクション)
 - 3-5 編集画面の作成(Editアクション)
 - 3-6 削除画面の作成(Deleteアクション)
 
Chapter4 ビュー開発
- 4-1 Razor構文
 - 4-2 フォーム関連のビューヘルパー
 - 4-3 リンク/エンコード関連のビューヘルパー
 - 4-4 テンプレート関連のビューヘルパー
 - 4-5 ビューヘルパーの自作
 - 4-6 アプリケーション共通のデザインを定義する - レイアウト
 - 4-7 ビューの一部を再利用可能にする - 部分ビュー
 - 4-8 ビューエンジン
 - 4-9 モバイル対応 - DisplayModes
 
Chapter5 モデル開発
- 5-1 データモデルの作成
 - 5-2 マイグレーション
 - 5-3 LINQ to Entities
 - 5-4 データ取得/変更のためのその他の機能
 - 5-5 入力値の検証
 
Chapter6 コントローラー開発
- 6-1 モデルバインド
 - 6-2 ActionResult
 - 6-3 状態管理
 - 6-4 フィルター属性
 - 6-5 フィルター属性の自作
 - 6-6 セレクター属性
 
Chapter7 ルーティング
- 7-1 MapRouteメソッド
 - 7-2 属性ルーティング
 - 7-3 エリア(区分)
 
Chapter8 クライアントサイド開発
- 8-1 バンドル&ミニフィケーション
 - 8-2 JavaScriptライブラリ/フレームワーク
 - 8-3 Ajax開発
 
Chapter9 単体テスト
- 9-1 単体テストの基本
 - 9-2 モックライブラリMoq
 - 9-3 さまざまなテスト
 - 9-4 データベースを伴うテスト
 
Chapter10 高度な話題(認証/国際化/クラウド対応)
- 10-1 ASP.NET Identity
 - 10-2 国際化対応
 - 10-3 Microsoft Azureへの配置
 
この記事は参考になりましたか?
- この記事の著者
 - 
                  
                    CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
 

              
              
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                          
                              
                              
                              
                              
                              
                              
                              
                              
                              
                              
                      
                    
                      
                    
                      
                    
                      
                    
                      
                    
                      
                    
                      
                    
															
														
															
														
															
														
    
    
    
    
    
													
													
													
													
													
										
									