views:

113

answers:

2

Hello,

We are at a stage where we are considering different Web UI frameworks (most likely component based ones such as GWT, JSF, Wicket, Vaadin, etc).

One of the main use cases / constraints is that it must support generating dynamic pages. I.e., the page/form layout and components is stored in a database and is changeable at runtime, and from this pages are generated. We are also going to write static layouts, but that is not the main focus of this question.

I thought maybe the user community here can share experiences of different frameworks in this context. Are there differences in ease of implementation and what is suitable?

+1  A: 

Neither of the mentioned frameworks supports creating components from DB out-of-the-box. But there are frameworks which can do this. I only know client side frameworks such as swixml but there are webframeworks which can do this, I am sure.

But it is fairly easy to define some json/xml format and create components from them.

I would go with Vaadin (based on GWT) then, which is my favourite at the moment. In wicket you will need to save the html as well, but this is also ok + fast (!) and very nice if not all of your clients have javascript enabled.

JSF, hhmmh, no comments, although it should be possible ;-)

Karussell
Thanks, I don't think we expect to be able to create pages from the DB out of the box, but that we would have to build / use a custom form builder for this. So that is OK. I don't think we will aim for something that will degrade gracefully for non-JS users.
waxwing
About JSF, I have heard that there are some complications involved in building the component tree programatically, but that it is, like you say, possible.
waxwing
I have used JSF, maybe with the wrong library (myfaces, tomahawk, trinidad + jsp), and I had no(!) good experiences. myface was buggy. javascript support was a mess, although I tried a lot libs. so someone has to pay me a lot before I use this for own projects ;-). creating own components is a lot more complicated than with wicket or vaadin. besides this JSF requires you to learn yet another UI language + the "library-stack" is tooo high. The thinest lib-stack I know comes with wicket: only servlet + wicket
Karussell
ok, the playframework or rails are even more thin :-)
Karussell
+1  A: 

As GWT allows building page components programmatically, it should be good for you. About using JSF - I would not recommend.

Andriy Sholokh
We did end up using JSF at the end, but I still think the question is valid. It's true that JSF has some problems, which in retrospect might have changed our decision.
waxwing