I’m evaluating Drupal for web application development. The tool I currently use is CodeCharge Studio, so I’m actually comparing the two.
For example, with CodeCharge I can write a page that creates, edits, lists and deletes items. All this without writing a single line of code, with every possible validation, without writing single SQL query, by using WYSIWYG editor and all that within 5 minutes. And I would get a fully skinable output, because everything is rendered through one template file. And all the HTML code is in this template file.
On the other hand, today I tried to do that with Drupal. I had to write $form array by hand, write 3 functions that handle form processing (theme_*, *_validate, *_submit), write several SQL statements, and write my logic of processing the functionality of page. I ended up with 2 template files: for form and for page. And at the end I came to the conclusion that I cant make a HTML template just for my table that list the items, cause it’s rendered by using theme(‘table’), which is used for every table on the site, and contains heavy logic. Which is also problem for form elements like buttons etc. Even if I write it again it will take me at least 20 minutes of heavy coding, I will end up with 150 lines of code and I will not be able to skin everything the way I want.
I think that it is crucial that CRUD operations are trivial in order to be productive web app developer.
So, am I missing something? Or Drupal is just a great tool for web sites, opposed to web apps.