On Apr 6, 2009, at 4:08 PM, Dan Allen wrote:
The problem I have with this viewpoint is that if you take
standalone JSF and compare it to the myriad of alternatives the
developer has to choose from, many of the alternatives are much more
attractive. Basically, if it were that simple of an application, I
might not even use JSF (Grials perhaps). I might not even use Java EE.
That's true, but at the time, our choices were JSF, Struts, Stripes,
Wicket, etc. We liked JSF and it worked well. What strikes me with
that stance in general though, is "JSF is too heavy for small apps.
Use something else instead." While that may be true to a certain
extent with 1.2, these annotations, in concert with other JSF 2
enhancements, destroys that argument, I think. I'd really hate to see
us back away from that, as the current state gives us web apps that
have Java classes and xhtml markup. Easy, simple, and, I think, very
light. If you need libraries that do a lot more, then you're in luck,
as JSF is very extensible. Best of both worlds, IMO.
I just don't understand why we are trying to keep an arms length
distance from Java EE (whether it be 5 or 6). JSF *is* a part of
Java EE. It's value is not in a standalone framework. We can let it
be used standalone, just like JPA, but that should be secondary to
the tight integrations it offers with Java EE. We have to be
realistic about what else is available to developers.
Let me ask this. Let's say that JSF 2 depends on JavaEE 6. You wan't
to deploy a JSF 2 application right now. What container do you use?
If you want a production-ready EE6 server, you're going to have to
wait several months to years. GlassFish, the reference implementation
won't ship until September, with other vendors likely to lag by months
in the double digits.
I don't think we're trying to avoid a EE *5* dependency, necessarily.
That ship has sailed, for the most part, but if you're not using JSP
(and you shouldn't be), J2EE (under Java 5) might just work (luckily,
I have no environment set up to test my guess :). What we're trying
to avoid is depending on technology that likely won't see a
significant number of stable, production-quality implementations until
late this year at best, or well into next or later at worst. The only
reason I can see for making such a market-limiting decision like that
is political. Leave the annotations in for the simple cases, and
leverage the EE6 stuff for the more complex. There's no good
technical reason to throw away the "low end" applications.
Jason Lee, SCJP
Senior Java Developer, Sun Microsystems
Mojarra and Mojarra Scales Dev Team
https://mojarra.dev.java.net
https://scales.dev.java.net
http://blogs.steeplesoft.com