Struts + WebWork == Struts Ti
by Robert Cooper
TSS is noting that WebWork and Struts are merging.
Ted goes on to lay out a longer term ideal of coalescence:
PROPOSAL: Bring WebWork into Struts through Struts Ti
We would to amend the Struts Ti sandbox proposal to provide for
merging WebWork 2.2 into our codebase. The WebWork merger would be Ti
phase 1. Much of the work now proposed for Ti would become phase 2.
* Ti phase 1 = WebWork 2.2 + Struts 1.x compatibility library and
* Ti phase 2 = phase 1 + Commons Chain integration + Beehive's Page
Flow + simplified annotations + quick development mode
When the Ti phase 1 has coalesced and is providing a high degree of
Struts 1.x compatibility, our intention would be to propose Ti as a
Struts Action Framework 2.x candidate. Until that time, we would
continue to consider Ti a "next generation" proposal and, pending a
decison by the PMC, avoid attaching the 2.x label to Ti.
When BeeHive Page Flow matures, it may be proposed to be merged with
Struts Ti as phase 2. That work could also be positioned as a new
subproject depending on where the PMC feels it would be better suited.
As we work on Struts Ti, we would also expect that work would continue
on Struts Action 1.x, perhaps including feature changes that would
bring the codebases even closer together.
TSS goes on, in their ever so cheezy "Conversation Starter" to ask:
Is there a push for a "single web framework" in Java? The JCP has produced a specification, JavaServer Faces, for web frameworks, which clearly doesn't address all use cases (i.e., WebWork is an extension of XWork, an action framework, with web functionality, and JSF doesn't address the AJAX pattern of having all user flow downloaded as required.) Some have said that it would be an advantage for Java to have a single framework, as Microsoft does, to reduce conflict and code invested merely to fulfill feature comparisons. Is that what you think? Is the merger of frameworks a good thing for web developers?
Now in this space, I have made no secret of my disdain for 'framework' and 'tool' proliferation in the Java space. So in response to TSS' first question HELL YES. Frankly, we have WAY WAY too many projects that are, to use Ted's language, "Conceptually... very similar," out there. I will also make no secret about the fact that I think JSF is a bit silly over all, I am curious what the overarching plan is between "Struts Ti" and "Struts Shale". In truth, Shale seems like more what JSF should have been from the get-go.
Either way, it really seems like we are starting to get somewhere in terms of unification. Now the question for the Java community seems to be, will Java keep pace. Shale and Ti are big steps. the W3C's Web API and Web Application Formats look to be promising. My question is, (a) will we get to a point where Shale remoting supports the Web API and (b) the JRE/Plug in supports the Web App Formats in a reasonable time-frame.
I smell a revolution out there. The question is, will Java be storming the barricades or first against the wall.
One ring to rule them all? Suffice 2 or 3
I use struts since version 0.9.
Struts is weak in the view layer, HTML TAGS are too limited, but brought order to webapp development (definition of terms, action flows).
Now I need a complete solution for building (complex) webapps, and think Facelets + JSF suits best.
It is well engineered, has documentation, supports components, templates, composition and doesn't need JSP to work (one point of failure less).
We need to consolidate frameworks, not to stop develop them. Facelets gets "inspiration" from Tapestry and Shale, so it's similar to them and bring these "research" projects to "standard" (JSF).
The true standard, the "winner" framework is to the developer community to choose.
We need 2 or 3 reference frameworks, for simple content webapps , one for RAD development (java on rails?) another for complex web applications. Those you would suggest a new developer of your team to learn.
My humble opinion.Bye.
One ring to rule them all? Suffice 2 or 3
I couldn't agree more. I kind of feel like a broken record lately, but as I have said in a couple of venues recently: too many frameworks that do almost the same thing is becoming a real problem. Facelets are not too far off from Tapestry, I know -- I admit I haven't played extensively with Shale, however. While it is good for frameworks to have differentiation, much like J2EE itself, we really need to get to a common set of functionality and workings then let the framework people riff from there. The J2EE (JEE? I don't know what Sun calls anything anymore) was that for the early days, but it is time to move forward.
Struts Ti time-line and involvement
If they are just starting the Struts Ti design, what is the best guess on a) when development might begin; and b) when release candidates might arrive?