Posted by groundswell on February 25, 2011 at 8:40pm
BostonPHP hosted a PHP Framework Bake-Off last night, a competition among four application frameworks: CakePHP, Symfony, Zend, and CodeIgniter. A developer coding in each framework was given 30 minutes to build a simple job-posting app (wireframes publicized the day before) in front of a live audience.
I asked the organizer if I could enter the competition representing Drupal. He replied that Drupal was a Content Management System, not a framework, so it should compete against Wordpress and Joomla, not the above four. My opinion on the matter was and remains as follows:
- The differences between frameworks and robust CMSs are not well defined, and Drupal straddles the line between them.
- The test of whether a toolkit is a framework is whether the following question yields an affirmative answer: “Can I use this toolkit to build a given application?” Here Drupal clearly does, and for apps far more advanced that this one.
- The exclusion reflects a kind of coder-purist snobbery ("it's not a framework if you build any of it in a UI") and lack of knowledge about Drupal's underlying code framework.
- In a fair fight, Drupal would either beat Wordpress hands-down building a complex app (because its APIs are far more robust) or fail to show its true colors with a simple blog-style site that better suits WP.
Needless to say, I wasn't organizing the event, so Drupal was not included.
Full article: http://bit.ly/h3sk2x

Comments
Can Drupal manage complex
Can Drupal manage complex data relations out of views and cck ?, can drupal move and transform data over a workflow for example ?
I am not so knowledgeable on drupal but I haven't seen something like that yet, will it be writing one huge module or multiple modules to implement business logic ?
Thanks
Workflows
First, thanks Nathan for posting that article, I just read the whole original post and it's very insightful (haven't watched the video yet though.)
@joseche - Drupal can indeed manage complex data relations with Views and CCK. In very many cases you can use CCK and don't need to implement custom tables and custom code & SQL to manage your data.
"move and transform data over a workflow" is a bit vaguely stated for me to give a definitive answer. However there are several available modules which let you use a UI to define business rules and workflow states, and define actions which should be triggered when content moves from one workflow state to another. See the following for more information: