
Foreword
Since I wrote the foreword to the first edition of this book, a lot has happened with ASP.NET MVC. In 2011, Microsoft released ASP.NET MVC...twice. The first time included lots of great improvements to the framework, but one of the most noticeable improvements was the new Razor view engine. Razor removes all the syntactic cruft involved in writing views via a streamlined clean syntax. More importantly, it’s very flexible and can be used outside of ASP.NET.
The second time they shipped ASP.NET MVC, the release was ASP.NET MVC Tools Update. The ASP.NET MVC runtime did not change at all. In fact, it was the same exact runtime installer. But wow did the tooling change! ASP.NET MVC included scaffolding based on the Entity Framework Code First model. This provided all the code needed for a simple CRUD interface over a set of entities. Also included in that release was NuGet 1.0 RTM. NuGet is a package manager that makes it easy to discover and install libraries (in the form of NuGet packages) into a Visual Studio project. In fact, many of the third-party libraries included in ASP.NET MVC were shipped this way. The benefit of this approach is that even after a project is created, it’s very easy to discover and install updates to these third-party dependencies as new versions ship.