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

Reply via email to