Hi,

Here is a list of bullet points I compiled on "JSF when compared with
Wicket":

– Not really OO components, more of XML tags than Java
– Added complexity of JSF-EL and mixing JSP-EL if applicable
– faces-config.xml : synchronize multiple files for navigation,
page-centric, string expressions not type-safe
– Poor separation of concerns / "preview-ability" (in core JSF spec)
– General consensus that for practical use you have to supplement with
non-standard extensions -e.g. Facelets, Spring WebFlow etc.
– Hard to unit test
– Hard to debug / step-through
– More dependence on tooling / IDE support
– Mixing components from multiple vendors problematic especially with AJAX
– Generated HTML is typically verbose
– Creating custom components is much harder
– Slow evolution as it is a specification, now JSF 2.0 is being discussed…

I had this as a back-up slide in a presentation recently (which I ended up
having to use because of all the questions :)  You can find the presentation
here if you are interested, it is more to do with comparing Wicket with
action / JSP based frameworks, but may help:

http://ptrthomas.wordpress.com/2008/05/26/migrating-to-apache-wicket-presentation-slides/

Thanks,

Peter.

On Wed, Aug 6, 2008 at 11:44 PM, Igor Vaynberg <[EMAIL PROTECTED]>wrote:

> On Wed, Aug 6, 2008 at 2:13 AM, nlif <[EMAIL PROTECTED]> wrote:
> > Prior to posting here, I googled a bit, and found a
> > few forum-threads and blog posts on this topic, but most are from 1-2
> years
> > ago and in framework years, this may be considered obsolete.
>
> actually, imho, this is one of wicket's biggest advantages over jsf.
> jsf is a standard so it moves very slowly. wicket is a much more agile
> project and moves much faster.
>
> > Also, supposedly JSF has a larger selection of 3rd party components
> compared
> > to Wicket. Is this true? how often do you find yourself rolling your own
> > components and how hard is it to do so in Wicket (and I mean
> > non-trivial-good-looking-Ajax-enabled stuff).
>
> actually i find myself creating components all the time, because it is
> so damn easy. trivial and non trivial, because wicket uses composition
> it is not that much harder to create components with complex
> interactions.
>
> sure, jsf has plenty of components out there that offer high level
> things like data grids, etc, but so does wicket. the difference with
> wicket is this:
>
> the other day i created a productlink component for our application.
> it is a simple component that builds an anchor that takes the user to
> the product page. it also adds proper css class based on whether the
> product is for sale or not and whether it is in or out of stock.
>
> so now anytime someone needs to link to a product they simply do
>
> add(new ProductLink("link", product)); and attach it to <a
> wicket:id="link">whatever</a>. the productlink can be embedded inside
> any other component just as easily and have any other component
> embedded in it as well.
>
> i dont think jsf folks would bother creating anything so fine-grained,
> because although it is very useful there would be too much overhead
> and pain involved.
>
> the problem is that jsf approaches web application development with a
> few roles in mind: the application developer and the component
> developer. the component developer is a smarter person that
> understands the intricacies of jsf. in wicket we do not assume the
> separation of roles, so our programming model is consistent and is
> optimized towards component creation.
>
> my two cents
>
> -igor
>
>
> >
> > Many thanks in advance.
> >
> >
> >
> >
> > --
> > View this message in context:
> http://www.nabble.com/Comparing-JSF-and-Wicket-tp18847208p18847208.html
> > Sent from the Wicket - User mailing list archive at Nabble.com.
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to