I came to TechEd 2009 with the intention of identifying what happened with Dynamic Data since last year. For those of you who don’t know; Dynamic Data is Microsoft’s answer to Ruby on Rails. It’s a means of quickly scaffolding your application with validated text boxes, date pickers and images based on the metadata included within your data source. So a database data type of VARCHAR(50) would automatically transform into a textbox with a size limitation of fifty characters say.
The implications are obvious. Just as with the advent of Ruby on Rails people see the ability to generate CRUD screens in super quick time. But Microsoft have gone one step further, allowing complete customization of what each data column resolves to on screen. Individual columns can be forced to use uniquely developed templates using a simple convention-over-configuration approach (I wonder where they got that approach from). So, Microsoft appear to have side-stepped the immediate issues encountered with Rails. We’ve all seen the spoof SQL on Rails screencast right?
Dynamic Data is not new. It’s been released since .NET 3.5 sp1. I haven’t seen large uptake though as you need to be using one of the two Microsoft ORM offerings; Entity Framework or Linq-To-SQL. Both of which have had difficult issues to resolve. However with the advent of Entity Framework 4 as part of the next .NET release many, many of these outstanding issues have been resolved. More on that in another blog maybe. I think Microsoft would like to see, and indeed may see, this result in a surge in Dynamic Data use.
It’s always interested me, as it has the rapid development ability, but still provides a clean clear pathway to complete customisation. Forgive the excessive alliteration 😉 it’s a genuine coincidence. The name Dynamic Data seems to have lost some vogue now, most of the presenters were referring to it as “templating” by the way.
Last year I saw a cool demo of how to integrate the MVC Framework with Dynamic Data. This has been taken further by integrating those template related tasks directly into the new version of MVC. A subject I’ll be talking to in another blog. At tech Ed I saw no less than three examples of people demonstrating how their framework could easily utilise this template functionality. Again the implications are obvious. The ground troops like this product and feel it has a future.
The really interesting thing is that because the Microsoft Ajax team have pursued a purpose of creating an almost completely client-side solution, they’ve extended this template concept further and created equivalent client-side templates. Thus using a client-side data access library (over something line ADO.NET Data Services), metadata can be used by the client-side library to construct how each field is displayed, all on the client-side. I’ve already spoken about how Microsoft has invested heavily in minimising any script-related downloading associated with such an approach.
It remains to be seen how this will work practise of course. It may be too complex, inflexible or insecure time will tell.