Don't be too harsh on Grok/Dexterity. Dexterity has worked out how not to repeat the definitions in interfaces, forms and content objects. It also produces an application with suprisingly little redundant code. I urge you to try it out. The benefits are of course quick turn around, version control, testability and the debugger.
Also note that (the Plone integration for) Dexterity allows you to create
types entirely through-the-web. This can then be meaningfully transitioned to filesystem development without forcing you to start from scratch.
Is there a tool to do the "meaningful transition". I like the ability to design the content type schema TTW, but I haven't got a button to export it (b2 + plone 3.3.5). I found this... """The type definition can just be exported via portal_setup by exporting the types tool. We want some new UI for this. The schema will be in there, in escaped xml. You can also put this in a separate xml file, or define a zope 3 schema--use plone.directives.form for this.""" Also, is there a roadmap / vision. I used Dexterity earlier this year and loved it. But that was a standalone way to get grok to build a form with complex functionality. The TTW tool potentially gives the ability to customise classes built using dexterity. It is really cool.
The big, big problem with any kind of TTW development is that it usually breaks down badly when you move your code to a production server and then need to continue development in a separate environment. Code and configuration stored in a database is difficult to deploy and merge when the same database holds live data and content. The same problem exists where more than one developer needs to collaborate. Without source files and source control, it's impossible to give each developer their own sandbox.
These are all valid problems. I don't want to discuss them, because I am not advocating TTW. But I will point out that I worked around them all when doing TTW, e.g. APE allowed me to keep Code in SVN, multiple Zope instances allowed me to develop different branches, my data was in Postgres anyway etc.
Martin