
Vaadin - GWT with a skinnable UI. - huyng
http://vaadin.com/home
======
huyng
I'm looking deeply into solid frameworks for developing rich cross platform
apps. So far this looks promising as well as Capuccino. The killer feature for
me is this table widget implementation
[http://demo.vaadin.com/sampler/#Components/Table%20%28Grid%2...](http://demo.vaadin.com/sampler/#Components/Table%20%28Grid%29/TableColumnReordering)

Here is the HelloWorld tutorial: <http://vaadin.com/tutorial>

------
goodkarma
Between this and GWT (and the Google Wave app they are going to open source),
I'm getting pretty interested in Java and using tools like GWT to just
generate all of the javascript etc. It almost sounds like it will be /easier/
than Ruby on Rails.

Is that crazy?

~~~
huyng
No I don't think so ... I actually found this library as I was watching the
GoogleIO Wave Keynote. When I saw what the wave team did with GWT, compiling
Java => Javascript became a viable option in my mind. Before the demo, it had
always been a mystery to me as to why anyone would want to use such an absurd
amount of abstraction.

~~~
jojule
In Vaadin you do not have to compile Java to JavaScript. Instead you are using
native Java on server-side. GWT is used only for compiling "client-side
thinclient". This is only needed when you want to add more widets to Vaadin -
if you are happy with the default widgets you do not have to worry about
GWT/browsers/compilation.

------
ianbishop
It seems like the 'Cappuccino' of the GWT.

Edit: It even has a multi-platform 'nib2cib': "WYSIWYG user interface editor
under Eclipse"

------
huherto
This looks great. So far I have used ext-gwt, but I stopped because they
changed a year ago their license. Felt like a bait and switch. This sort of
product is badly needed on GWT to completely kick ass. Also take a look at
SmartGwt.

~~~
hello_moto
Ext-GWT is a hell when it comes to widget customization. Also the API prevents
it to be extensible.

From my personal experience (very very tiny data point), most of these
"beautiful" GWT frameworks are good only if you want to wipe out something
fast and don't mind with the default look.

~~~
jojule
(DOM structures in) Vaadin has been designed to be easily themeable. Just look
at the iTunes Mockup example:

<http://demo.vaadin.com/VaadinTunesLayout/>

------
janilaakso
Guys, please check out the server-side features too, Vaadin is not just
client-side GWT on stereoids. Having server-side framework too means that
building applications is easier than with plain GWT.

------
huherto
One thing that I like about the company. It is very clear that the framework
is free. (Apache License). But they offer some interesting services (Theme
Design, Usability Design, Solution Sprint, Proof of Concept, Project
KickStart, Quality Assurance) <http://vaadin.com/services>

I think it make a lot of sense for a company to hire these services because
some of these areas require a level of specialization that is very difficult
to find. For example a traditional web designer needs to understand the tool
paradigm to use it effectively.

On the other hand if you are small company you still can use the framework.
(The only thing I am not convinced is about the server-side idea)

------
hello_moto
Be aware that the paradigm of Vaadin (known as IT Mill Toolkit) is leaning
toward server-side. GWT is 100% client-side (plus RPC).

My guess is that Vaadin did a bit of UI rendering (prep-ing the HTML) on
server-side then send it to client.

~~~
DenisM
That was my impressin too. Are they trying to erase the boundary between the
server and the client? If that's the case it's a terribly misguided thing to
do...

~~~
michaelneale
Yeah I am trying to find out. They are here at javaone - doing too much UI on
the server side does seem like a real mistake for a tool like this. One of the
nice things of things like this (and cappaccino) is that the server side
becomes freed from worrying about what the client is doing/has open etc...

~~~
jojule
This is a matter of taste - benefits of the server-driven architecture are: no
limits from the server, no GWT recompilation, direct access to server-side API
and resources, better security, full Java virtual machine, full tooling and
debugging support. Downsides are: more client-server traffic, more data to
store in HttpSession.

~~~
DenisM
I think the most impmortnat problem is trying to hide the netowrk under an
inhenrelty leaky abstraction: [http://www.erlang.org/pipermail/erlang-
questions/2008-May/03...](http://www.erlang.org/pipermail/erlang-
questions/2008-May/035207.html)

~~~
michaelneale
yes that is what worries me - I like network stuff to be explicit.

~~~
jojule
There are multiple levels of control: 1) for each UI component you can select
to send events immediately to server or alongside the next "packet" sent to
server. 2) as we are building on top of GWT - you have the full GWT-based RPC
also if you want to do the communication manually.

------
bravura
It looks good, but I don't see any demos that involve graphics. How usable is
Vaadin for graphics?

~~~
huyng
According to this example: <http://demo.vaadin.com/Coverflow/> It seems like
you can add custom widgets easily. In this app they started using a Flash
Widget for custom graphics.

I'm not a GWT developer, does anyone have any experience adding custom
GWT/Vaadin widgets to your applications?

~~~
jojule
Book of Vaadin <http://vaadin.com/book> has a whole chapter on this. Also the
Vaadin Eclipse Plugin makes getting started with adding new widgets trivial
(just "Add New Widget" and it creates a widget stub for you)

