Should frameworks be allowed to let you down?

Ever since I came across WebDsl, almost three years ago, I’ve been wanting to use it for at least one of the web sites I maintain (four at the moment, with a fifth underway). However, since so far I’ve relied on the services provided by hosting providers, I’ve been stuck in the world of MySql and PHP, where as WebDsl targets Java and Seam platforms. A mismatch if ever there was one. During CodeGeneration 2009 I asked Eelco Visser whether there were plans for extending WebDsl into the PHP domain. He indicated that there were ideas, but no concrete plans. Up till now, that is how things stayed – the project’s focus was more on extending the language and providing proper development tool support then switching to different platforms.

So, after fiddling around with various tools, including MetaEdit+, MPS and XText, and always ending up doing things the old fashioned way, simply because I didn’t have the time (or rather take the time) to develop a proper solution I decided that maybe I should finally look into developing that PHP backend for WebDsl myself. Of course, nothing comes for free, and my time is very limited, so I will be investigating the feasibility first, before starting. Danny Groenewegen and Eelco Visser helped me on my way today, by providing some initially ideas on how to attack the implementation side, and by pointing me to an interesting short research paper they wrote: When frameworks let you down…

In this paper, they indicate that the WebDsl DSL was built as a very thin wrapper around Seam, They continue to explain how this made it difficult on one hand to keep the DSL in sync with the framework (they wanted more and different things than Seam could provide out of the box). On the other hand, because the concepts supported by Seam show through in the WebDsl DSL in certain points, it may also be not-so-trivial to replace the target platform with e.g. the PHP CodeIgniter framework which I would like to see supported. Come to think of it, things might get worse if I would add something like qooxdoo or ExtJS 4 for the user interface.

So, in the next few days, I’ll have a thread running in the back of my head, thinking through these issues and defining the steps to be taken. In fact, even if my time is limited, I might just be able to spark the development of a very useful extension to WebDsl, that would bring both this tool and the benefits of model driven software development to the far-from-small domain of PHP based web sites (I haven’t found any up to date statistics, but at least Google Insight indicates that PHP is the most searched for web programming language – for what it’s worth).

I’ll keep you posted on further developments in this area, shortly.