by Andy Butland - Zone
Given my background in the development of both Umbraco CMS and custom web applications using ASP.Net MVC, when MVC rendering support was featured in V4.10, it was the obvious way to go for future projects.
Working at gold partner Zone in London, we've built a number of sites using Umbraco and MVC. We've found that there's actually a number of different ways to do "MVC with Umbraco": the perhaps traditional Umbraco way with a fair bit of logic and data access in the templates or views, using surface controllers and child actions and/or using route hijacking. We've used a number of these approaches and found costs and benefits of each - which I think would make an interesting session.
Currently the model I use - and would focus on in the talk - is to go a more purist MVC approach, using dependency injection, thin controllers with route hijacking, mapping of Umbraco content to custom view models and use of strongly typed views. Tieing all this together is a mapping package (http://our.umbraco.org/projects/developer-tools/umbraco-mapper) that we've recently built, released and discussed on auHangout. We also look to use unit testing where possible.
In summary, the proposed discussion would be on ways to use MVC in Umbraco, and would cover:
Andy has been building websites and applications, primarily on the Microsoft stack, since the days of classic ASP. His tools of choice these days are ASP.Net MVC, SQL Server, Entity Framework, JavaScript and – of course – Umbraco. He works at Zone, a digital agency and Umbraco gold partner, where he heads up the .Net development team in London, working on projects for Coca-Cola, Tesco, Nike Foundation and other clients.
Although earning the Ryanair frequent flyer points by working from the office every couple of weeks or so, Andy lives in Bassano del Grappa, Italy, with a very short commute upstairs to his home office. Yet to discover an Italian based Umbraco developer, if anyone is in his area and wants to start up the Veneto region Umbraco meet-up, do come find him at Codegarden!