Important Notice - Forums is archived
To simplify things and help our users to be more productive, we have archived the current forum and focus our efforts on helping developers on Stack Overflow. You can post new questions on Stack Overflow or join our Discord channel.

Vaadin lets you build secure, UX-first PWAs entirely in Java.
Free ebook & tutorial.
JSF vs. Vaadin?
I am looking for people with both JSF and Vaadin experience, for an upcoming white paper comparing the technologies.
Do you have experience with both JSF and Vaadin, and would you like to discuss these experiences with me? If so, please post your comments in this thread or send me an email at <my first name><at>vaadin.com.
Furthermore, which topics do you think should be compared in such an article? What are the pros and cons of JSF and how do they compare to those of Vaadin? I'd be very happy to hear your thoughts on the matter.
I'm looking forward to your input! :)
Hi Marlon,
the last years I do a lot of JSF development (at least three different web projects for my customers - all still in development, live, success full :grin: ), based on JSF 1.2 most the time I used Richfaces for nice looking Ajax webapps.
Until I learn Vaadin this was the best technology for doing this kind of fancy ajax web development ... in my opinion!
But know ... since I spend some time with Vaadin ... I would use always Vaadin for any new project and never again JSF.
Some quick points:
JSF
+ xhtml Facelets Templates for declarative ui's + some "coding" in the ui via c:if, c:foreach and stuff like this
+ standard request life cycle: ... conversation, validation, apply action etc ... so you have some defined "hooks" where you can place your logic
- ui component binding to create components in java code works not so good like the Vaadin way
-
Richfaces
+ "transparent" Ajax Support for JSF (I never tried JSF 2.0 - which comes with build in support for ajax)
+ nice ui components
- "reRender" to define the part which should update after a action must defined in the ui template, to do this via java is difficult
- no layout manager
Vaadin
+ layouts
+ gwt technology for ui
+ I can do anything in java, no html, "no css" (for simple apps)
+ theme support
+ addons
- missing widgets like filtered table
Currently I'm using Spring Tools Suite + Maven + JRebel ... and it's so easy to develop a Vaadin app ... I love it :lol:
cya
Andreas
mymita.com
www.ahoehma.de
I would like to read about performance comparison, resource consumption, ability to extend (e.g. widgets).
I remember at least three interesting reads concerning JSF vs. Vaadin:
Performance
Scalability
Development Expertise
Have fun :)
Thanks all three of you for your responses! -_-
Andreas Höhmann: JSF
+ xhtml Facelets Templates for declarative ui's + some "coding" in the ui via c:if, c:foreach and stuff like this
You list that as a pro, but do you think there are also cons to it? Or, more specifically:
-
[*]What do you think are the pros and cons of declarative UIs in JSF?
- What do you think are the pros and cons of coding with the JSF Expression Language (EL) inside the facelets (.xhtml files)?
Andreas Höhmann: - ui component binding to create components in java code works not so good like the Vaadin way
Do you think you could explain that to me in more detail? What do you think are the particularly hard or awkward parts there?
Andreas Höhmann: Currently I'm using Spring Tools Suite + Maven + JRebel ... and it's so easy to develop a Vaadin app ... I love it :lol:
Would you have any examples you could share that highlight why it's so easy? :)
Thanks again for your reply and I look forward to your follow-up! -_-
JSF
+ xhtml Facelets Templates for declarative ui's + some "coding" in the ui via c:if, c:foreach and stuff like thisYou list that as a pro, but do you think there are also cons to it? Or, more specifically:
[*]What do you think are the pros and cons of declarative UIs in JSF?
- What do you think are the pros and cons of coding with the JSF Expression Language (EL) inside the Faclets (.xhtml files)?
At the beginning of an project declarative UI's are cool ... so you can create prototypes quick+fast. You have access to beans (data) via EL. You can write our own Faclets functions, mapped to static Java methods, using Spring DI ... the sky is the limit *g*). But then when thinks become more "complex" (advanced use cases *g*) then pure java code will be better then do things in UI templates (c:if, rendered attribute, reRender stuff and so on). But in JSF you can always create a new component by yourself to avoid complex UI's.
- ui component binding to create components in java code works not so good like the Vaadin way
Do you think you could explain that to me in more detail? What do you think are the particularly hard or awkward parts there?
In JSF you have compent bindings like this:
<h:inputText id="foobar" binding="#{serverBean.foobar}"/>
With serverBean.getFoobar() you can create UIComponent's like a InputText, add attributes etc. ... like any other UI programming api.
With serverBean.setFoobar(UIComponent c) you have access to the JSF Component.
Currently I'm using Spring Tools Suite + Maven + JRebel ... and it's so easy to develop a Vaadin app ... I love it :lol:
Would you have any examples you could share that highlight why it's so easy? :)
Sorry ... no ... I'm doing customer software projects as a freelancer ... so the created software is "closed source".
I will create a free blueprint example on github with the main components that's make vaadin so easy for me :D
Hope this helps a little bit
Kind regards
Andreas
The worst thing on Vaadin is there is no ehcache integration.
Always making processing for each user is not good solution.
Vaadin team must implement caching mechanism for vaadin.
Everytime i refresh webpage , doing same operations again and again....
If online user increases much on server , server cpu consumption increase without any reason.
If they implement ehcache integration , it can compete with JSF.
But currently JSF is industrial standard and JSF is best for non AJAX pages.
If you are planing ajax based pages , vaadin is best.
Another problem is vaadin team can make client side caching something like @Cachable annotation.
Everytime someone clicking a simple button , sending server request.
Why always like that ? why no cache integration ???
on html5 , there is local storage , vaadin can use local storage for user's requests.
This makes vaadin much much better...
Some people abandon from vaadin because of that reasons.
I like vaadin but vaadin requires some more vaadin team's work....
Andreas Höhmann:
....
Vaadin
+ layouts
+ gwt technology for ui
+ I can do anything in java, no html, "no css" (for simple apps)
+ theme support
+ addons
- missing widgets like filtered table
For filtered table, I have used FilteringTable addon (https://vaadin.com/directory#addon/filteringtable), it worked well for me.
Well I am new to Vaadin and still testing out its functionalities.
Thanks