Today a contingent from the Mando Group programming team took an excursion to the Microsoft TechDays event in Fulham to hear about a cross section of innovations in the Microsoft Web platform. There will be further presentations over the next few days on the Windows Azure platform, Silverlight and Windows Phone 7, and some of the team will be blogging about these topics later in the week. Those of us present for today’s Web track heard talks on a broad mixture of web related subjects. The highlights for me were:
Bruce Lawson gave an outstanding overview of the development of the HTML 5 standard, covering the history, politics and relationships between the various individuals and working groups involved, then moving on to explain what HTML 5 really is. The key take home messages for me were that HTML 5 standard succeeded over XHTML 2 because
- it is backwards compatible,
- is pragmatic (vs XHTML 2’s idealistic, puritan stance),
- puts the web user ahead of the author, developer or any other party
- allows for errors in authored markup. This is an inevitable consequence of human developer error, content management system limitations and 3rd party plugins, but importantly the standard describes exactly how the browser parser should respond to these errors, removing the problem of inconsistent DOM rendering between browser implementations.
Bruce also helped to dispel the concerns about HTML5 being an ‘unfinished’ standard by pointing out that while some parts of the standard are still under development, others are completed and already being used across the web in browser implementations and sites.
Martin Beeby gave a presentation on developing the TechDays website using Umbraco, an open source .NET Content Management System which we work with at Mando Group, and hosting the solution on the Windows Azure platform. The most exciting aspect of this is that Umbraco v5, due for release in June, will make this hosting configuration considerably easier to set up and scalable support for cloud deployment will be baked into the core product. We also learned that the website for the latest “Take That” tour was powered by Umbraco, and at peak times when ticket sales were announced the Umbraco site continued to perform while the separate ticketing site (not using Umbraco) crashed!
The other session which I personally found really interesting was the MVC3 update by Steven Sanderson. In contrast to last year’s MVC2 update, the new additions in MVC3 are not so much around the core framework, but more around the tooling and development infrastructure surrounding ASP.NET, but these are major improvements in their own right. The addition of scaffolding (another tip of the hat to Rails) and Entity Framework code first development make it faster than ever to get a data-driven application up and running, and the speed with which you can architect apps by pulling in components using the Nuget extension in Visual Studio will save many hours of work for developers.
The example app developed by Steve used EF4 with the repository pattern to separate data access concerns, and NInject to resolve dependencies within the app, exactly the architecture we have already used successfully at Mando Group for our last major MVC implementation for a client. It’s lovely to see how the ASP.NET MVC approach naturally leads the developer down the route of better architected web apps. Steve also covered some of the basics of Razor syntax, SQL Server CE (Compact Edition) and IIS Express (based on IIS 7.5). Again, all great additions to the Microsoft web stack which mean the developer has to spend less time thinking about underlying setup and infrastructure, and more time writing code which solves real business need.