I am really glad you started this thread. I had similar questions a few
months ago in this group and I guess I didn't expose my idea clearly
enough: I got only two answers telling something like "framework sucks"
with no real explanation.
I am currently working on a new web application, which today is basic
ASP, i.e. presentation, business logic and UI control are all mixed in a
indigestable (does that word exist ? :) ) messy soup of M$ code.
We are moving to J2EE, and we are exploring the differenct frameworks.
We came to similar conclusions: frameworks are great stuff to help you
do basic or "not-too" advanced web-app. But as soon as you have specific
need, or you want something the meets only your needs (i.e. not a
generic reusable multipurpose code) to optimize the application, then
the only way we found is to design our own framework.
The task is not too complex, as we got our inspiration from those
existing framework, but we take only the things that are usefull to us
and rebuild it the way we need it.
It has however a drawback: if you have an important turn-over in your
staff (here in Thailand this is crazily important), then the new staff
has to learn your framework. The learning curve is a little bit slower.
If you use struts for ex., then in your job description you can filter
Also, the framework you design might need some time to be "bullet-proof"
One good point is that it is interesting to design and create.
But we really think it is better this way and we are actually quite
confident in what we have done so far. We are not done yet, but I would
say we are about 40% from a nice (small) framework.