> And don't forget that Vaadin is basically GWT plus some server-side stuff.


That's like saying Tapestry is basically Javassist plus some server-side
stuff. Vaadin is a very mature framework that has been in development for
many years and they built most of their client implementation and rich
client components using GWT. As a developer using Vaadin, you only have to
deal with GWT if you write your own rich client components otherwise you
don't even know it's there.

Both frameworks have their place. If you want to create rich client
applications, Vaadin is a very good choice. Vaadin creates an application
instance per user session and all components are kept on the session as
they are being used. Actions on the client invoke an AJAX request, which
can be handled by your components on the server, simply by attaching
listeners to your components. This way you only have to focus on your
server-side Java code. Client elements are updated on the client or you can
replace panels in response to user-actions instead of refetching an entire
page (hence the single-page name). This approach makes it heavy on the
server, but easy to develop for, as long as the default set of components
is enough for you. Documentation is also very good and having a central
location for plugins/components is great.

There are many projects that still require multi-page applications though,
so you have bookmarkable pages that are easily indexed by search-engines
and can work without Javascript (which is a requirement for many government
projects over here). Typically you only need to instantiate Objects to
create the response and there is no need to store much information on the
session making it easier to scale up. Tapestry is a very good choice for
these types of projects and it helps that there is now a EAP available of a
good Tapestry book :)

- Onno

Reply via email to