Searching for a web framework practicable for my few critical requirements in a new Java EE 6 project, I read here the now many threads on this topic, and I finally could reduce the number of envisioned frameworks to JSF 2.0, Wicket 1.4 (among the component-based) and SpringMVC 3 (among the actions-based).
Concerning these frameworks, I'll need some advice if and maybe how the following requirements are realizable:
Preferably separated designer/coder workflow, so that designers -- optimally -- can independly elaborate their HTML, CSS, JS/jQuery files with their favored tools like Dreamweaver.
Easy integration of the many existing (fancy and animated) jQuery components, such as this Sliding Login Panel (a demo can be seen here). Thus, the requirement actually is easy integration of exiting HTML+CSS+jQuery code AND ALSO:
For an ui component tree, a sync mechanism to synchronize the view state dynamically changed on the client side (via JS/jQuery) with the corresponding view state on the server.
I guess I'll need that. E.g., think of the above "Sliding Login Panel" having an 'open' or 'closed' changeable on the client side via JS. Its initial state is programmed to be 'closed', and the user decides client-side to always maintain it open. Now, when the user navigates somewhere and comes back to this view again, the login panel state is unintented 'closed' instead of 'opened' (as this is its initial state and no dynamic state updates occurred server side).
Thus, a sync mechanism will be needed, right???
Optimally externalized (somewhere centralized) navigation rules for
(a) arbitrary inter-page navigation (static nav rules), and
(b) "wizard-like" navigation (dynamic nav rules dynamically determined from current state/outcome).A good performance (load time, server memory comsumption, experienced responsiveness, etc.).
The obvious questions are:
Which of these reqs are (well) supported by JSF2, Wicket and Spring MVC3 and which not?
Generally, with this reqs -- and as I'm still unsure with the technical aspects/consequences: Which framework type (component- vs. action-based) should be chosen in that case (i.e., which critical decision aspects or "rules of thumb" should be kept in mind)?
Thank you very much for your advice and help.
Martin