[ajug-members] Event Planning: Web Framework Battle
Burr Sutter
burrsutter at gmail.com
Tue Oct 16 17:51:29 EDT 2007
Hey Rick,
Your "dirty snowball effect" might also be defined as the "Tipping Point"
http://en.wikipedia.org/wiki/Tipping_point
http://en.wikipedia.org/wiki/The_Tipping_Point_%28book%29
Right or wrong, many humans and IT shops are followers (late majority,
laggards) (http://en.wikipedia.org/wiki/Image:DiffusionOfInnovation.png),
who don't like to be on the "bleeding" or "leading" edge.
I think Matt applied about the most objective criteria (books, community
robustness, jobs) you can without actually downloading each framework and
giving each a man-week to see how far you get.
-----Original Message-----
From: Rick Reumann [mailto:rick.reumann at gmail.com]
Sent: Saturday, September 29, 2007 11:12 AM
To: AJUG
Subject: Re: [ajug-members] Event Planning: Web Framework Battle
On 9/28/07, gunnar at hillert.com <gunnar at hillert.com> wrote:
> Hi,
>
> As a starting point you may want to look at the presentation done by
> Matt Raible on comparing Java web frameworks.
>
> You can find it here:
>
>
http://static.raibledesigns.com/repository/presentations/ComparingJavaWebFra
meworks-JavaZone2007.pdf
I'm sure Matt was just using that as a guide in a live presentation
and without the live discourse presented some things might get left
out. Just looking at the pdf, the one thing that bothers me about
that presentation is that it propagates what I'd like to call a "dirty
snowball effect" For example, if you are a 'project manager' or
someone outside of daily coding/architecting, looking at the
presentation you might think:
"Hmmmm X framework has a lot more people using it. Oh and look there
are tools, oh and look more mailing list traffic. We should go with
that."
Now lets assume that somehow frameworkX came out and got all hyped up
and people started using it based on all the hype. Now, a lot of
people get into it and start using it and run into some challenges
and post a lot on mailing lists. People see that there is a big need
for training as well so they write some books etc. More people start
using it, companies need to hire more people to support the
development with the framework and so the job board activity
increases. More people see jobs opening with it - more people start to
learn it. More people have questions - they post to lists - the cycle
continues. Does this mean the framework is "good" ? Possibly you
could say it's good to learn if you need an immediate job - which is a
different question than "Is it a good framework to use for my next
project?" Also, it's possible all the hype was warranted and
frameworkX does really kick tail - but simply going by popularity is
not the proper way to diagnose a good framework. (By the way, i'm not
saying at all that Matt's presentation does this - it just might be
that those looking at it without hearing the live presentation might
come to those conclusions.)
The problem with that PDF is it convey a negative message about some
frameworks that don't have a lot of mailing list traffic or don't have
five books about it (I'm sure that wasn't Matt's intent and he was
just being honest.) The problem is managers looking at the chart
aren't going to go
"Wow there is such less mailing list traffic because the framework is
so darn simple and easy to use that there aren't that many questions."
They aren't going to go "Wow, the framework is so easy that you don't
need tools to help you."
So what happens? They think 'Oh this framework must not be good and we
aren't going to get support for problems, we better go with the one
everyone else is using." Hopefully the manager will turn to his lead
architect that has been around for a while and trust him to help make
a wise decision - but at least from my experience in certain large
companies - they don't care - they want ubiquitous stuff regardless of
what you tell them.
When choosing a framework I'd say several questions need to be answered
first:
1) Is this a framework for a large corporation? If yes, is it going to
be a large application that might need shared UI components with other
applications that will be developed? Also, are you stuck in corporate
politics where your choices are somewhat limited to the most currently
popular frameworks?
2) Are you learning a framework to help you just get a job? Do you
care if it's a job within a large corporation or are you looking
specifically for a smaller, more agile place of employment?
3) Are you wanting a framework to help you just get a job done quickly
for your own personal project? or maybe you're an independent
contractor that needs a framework to get stuff out quickly for
clients.
4) Does the framework have to integrate with existing J2EE/JEE
components that already return you back value objects or xml that you
need to use? (you loose some of the rapid development of things like
rails or grails if this is the case.)
5) Is it important that the framework be easy to use and understand -
even by new developers that might come to your team?
I'm sure there are more, but that's my initial list. What framework is
the correct to choose can vary based on the situation, so to just say
"If it works - use it" is a bit too easy to say - some times other
factors come into play.
Side note: I could also quibble that in Stripes ,Matt put hard coded
urls in the java beans as con, when I see that as a pro. This
old-skool idea that you need to have an xml file to tell you where to
go next is just way over-rated imo. I'd also argue that the initial
learning curve on JSF is not easy in relation some other frameworks
out there. Others would disagree I'm sure, but I'd really be curious
what they are comparing the ease of use to in relation to other
frameworks (struts? yea then they might be correct.)
_______________________________________________
ajug-members mailing list
ajug-members at ajug.org
http://www.ajug.org/mailman/listinfo/ajug-members
More information about the ajug-members
mailing list