I have found the ZK Java Web framework very easy because of its built in support for Ajax, so why should I use JSF? I have found JSF's Ajax i.e. A4J not as good as ZK's Ajax.
zul extension is a web file created with the User Interface Markup Language (ZUML) and contains definitions for user interface elements. Ajax and Java classes support using the XML-based ZUML for developing server side files.
ZK uses a server-centric approach in which the content synchronization of components and the event pipe-lining between clients and servers are automatically done by the engine, and Ajax plumbing codes are completely transparent to web application developers.
The answer to this is actually: It depends. There is no silver bullet for this issue.
JSF 2 comes with built-in AJAX support. Alternatively, if you want rich GUI with AJAX support, PrimeFaces, ICEFaces and others have rich capabilities built-in.
In essence, your view layer will mostly depend on the GUI, but in the Service Layer, one don't need to reference to PrimeFaces code, only Faces API.
It's all in a matter of taste: If you find ZK Framework easier to use than JSF, by all means, use it. At the end of the day, the client never cares about what Framework or architecture you've used to make your system, as long as the system does what it's supposed to do.
I hope this helps.
You decide
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With