True and well put :)
/Jeppe
On 28/03/2008, at 06.26, Will Hartung wrote:
My company is currently ready to migrate away from Struts 1.x. The
finalists are Stripes and Struts 2. I'm doing my best to push
Stripes, but others in the decision making process appear partial
to Struts 2 -- I think mostly because it has a bigger community.
If you are looking for an action framework, then there simply is no
competition to Stripes.
For the common use cases, nothing is simpler. It just works, and it
stays out of your way. You can learn pretty much everything you need
to know about using Stripes in 1 to 2 hours. You won't believe
that's true, but it is. Because it's so intuitive and consisten,
when you try something that you think should work, it does work.
It has advanced features, it's extensible, it has all of this power.
And in 80-90% of the use cases, you simply don't need it. I've been
using it for, what, at least 2 years now, and everyone will tell you
I know the least about it. Because in the 8 or so major applications
I've done, I've not needed any of that extra power. I just use
common sense, common patterns, and leverage the standards we work
with. They'll also tell you that I've made it jump through a LOT of
hoops.
We have a large library of custom tags that we've built to leverage
JSP and Stripes for our system, roughly 50 of them now I think. All
of those started as pages and idioms that we just refactored over
and over again.
We use Stripes in classic action style and we also use it with Ajax.
It's a great fit in both scenarios, and for us the code is pretty
much identical. Combined with our data tier, forms have an almost
straight path through from submit button to database, and we barely
have to write a line of code.
But in all of the code that we've done, all the tags, the core
functionality, etc. it's Stripes that does our heavy lifting for us.
Stripes makes our code just that much easier.
If you understand HTTP and the request / response cycle, and how
parameters are passed, you've conquered half the battle. Learn
Stripes SHORT and SIMPLE work flow and life cycle, and you're almost
done. Master the painless, intuitive binding, event and validation
model, and your done. DONE! That's it. Now you're an expert.
I've heard gripes about the community size before, and I have only
one thing to say to that. I don't think I've ever seen a question go
unanswered on the mailing list. I see unanswered questions on other
mailing lists all the time. The traffic is so high, and the experts
to user ratio so low, that not every question gets answered. Just
mailing list fatigue.
But, see, Stripes is so simple, lots of folks can answer questions.
Traffic is low enough that the experts aren't overwhelmed and can
answer the questions.
And that's another criticism I've heard before. Stripes "moves too
slow". We've been at 1.4.3 for some time, and 1.4.2 before that even
longer. 1.5 is just around the corner. But, again, simplicity, and
extensibility mitigate the need for lots of change. It just works,
and keeps working. That keeps it really stable, and makes it a great
foundation to build upon. I don't know if you've noticed, but HTTP
hasn't changed a lot in the past several years.
And that's Stripes lingua franca. That's what an action framework
does, is helps you the developer leverage HTTP. Nowadays, we have
web services, ajax, etc. But it's all HTTP at its core, and Stripes
has got that down pat.
Look at other projects and they're adding the ball, the chain, and
the kitchen sink. All of these long list of features that most folks
DON'T use.
The core of the platform is the focus here. As I said, we built our
own framework on top of Stripes, we pick and choose the components
that work best and suit our projects. Rather than getting some
monolithic beast, full of bugs, full of mixed design idioms, full of
promises barely kept, you get a shining diamond forged in the fires
of day to day use. When you're looking for infrastructure, which is
what Stripes is, you don't want a framework that is some mashup of
stuff off the web, or worse, reinvented stuff off the web. You want
consistency, simplicity and robustness.
It's solid, it works, it's clean. It's small and simple enough to
understand intimately, yet powerful enough to anything one would
expect from an action framework.
Look at what other folks are adding to their frameworks and look at
what we're getting in 1.5.
The Big Deal is the new Clean URL functionality, to make actions
more REST friendly. Everything else is simplifying the system to
make it more powerful. More consistent. More easier to use. We're
not getting a boat load of new revolutionary features in 1.5. No
boxed set of components with glizy, worthless demos. No full stack
from Web 2.0 screens down to the persistence level, forcing their
idioms on your projects. No, we get what we've always had, but
better. More refined. More efficient. And simpler.
Always simpler.
Stripes is an Action framework. It's proud of it, it's not drifting
away to anything else. No delusions of grandeur, no plans on shaking
the world with the next great idiom.
A diamond in the rough.
Regards,
Will Hartung
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users
-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Stripes-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/stripes-users