I was offered a free e-copy of "ASP.NET MVC 4 Mobile App Development" from Packt to read and write an honest review for it. Since I’m a tester of ASP.NET team and is working with ASP.NET technologies daily, I didn’t think I would learn much form the book before reading.
But I was wrong. I’m surprised that there are pieces that I found that is interesting and refreshing, especially step by step guide of applying Domain Driven Design and SOLID principles to the sample project, including using MEF as service locator. Certainly I also gained a little knowledge on how to brew beer.
In first chapter, author talks about the mobile web development history and challenges that modern developers are facing. It’s nice to get refreshed again on these topics.
In 2nd chapter, author talked about the home brewing beer project requirement and the first step to create the project using MVC4 template. It’s great to know how beer is brewed.
Chapter 3 and 4 are introduction to MVC4 and use Entity Framework 5 to model the project. It’s the basic MVC4 introduction. You can easily understand the model creation based on the project requirement.
Chapter 5 and 6 are applying design principles to the project. I found it refreshing and interesting since it shows me the design and architecture thought step by step. This knowledge will actually helpful to me in the future to apply the same design principles to my own projects. Though I’m also wondering if the author can show how to write unit tests, the benefit of using such design may be even more obvious.
Chapter 7, 8 and 9 discuss routing, input validation, authentication and authorization, which are all important aspects and fundamentals for the project.
Chapter 10 and 11 talk about how to use asynchronous programming, bundling, real time framework SignalR to enhance the performance and user experience. These are all new features for MVC4 and Microsoft Web Stack for Visual Studio 2012.
Chapter 12, 13 and 14 show how to optimize the project for mobile devices. These are all important concept for mobile design using MVC4.
Chapter 15 shows a list of challenging ideas, to encourage readers expanding the project even further.
The book walks through project requirement, design, development, optimization phases, with excellent writing and interesting ideas. I will recommend the book to any developer who is looking to learn MVC4 for mobile development.
However, lack of a chapter for testing disappointed me a bit since without proper testing, a project should never get released.
I also found the downloaded code doesn’t load and work directly, and have to look at author’s blog post to solve my problem: http://andy-meadows.com/2013/09/help-with-asp-net-mvc-4-mobile-app-development-sample-code/ .
At the time of my writing, MVC5 is about to be released officially with Visual Studio 2013. Most of the topics in this book are still valid. I wish the author will release some blog or update to discuss the project upgrade path to MVC5 project and how to utilize the new features in MVC5 in his project.