On 06/21/2011 03:54 PM, Miroslav Suchý wrote:
Can you share with us the pro and cons? It all sounds interesting to me.

Miroslav,
this is a lengthy research with lots of manhours and money invested,
evolved across many stages, experiences, projects and so on. Hence
I can not just summarize it all in one single e-mail. Come to Nurnberg
one day to our Workshop conference and let us have a talk. :)

We believe that current way in a Spacewalk is not so efficient to
maintain, build and develop. The whole Java part is mainly just a GUI.
And it is already bigger than entire backend. Is this is what we want?

We also strongly believe that we can do much better and inspire
community to make the difference. We respect the old code and it was
done in its time, but we find that it is a time to move better.

So to make it happen, instead of blowing everything and rewriting from
scratch in the next 10 years, we doing step-by-step replacements of
small pieces, keeping them separated and reusable later.

Now, technically GWT/Vaadin brings you a full-blown Java, where you
focus on your UI and on your back-end so the whole coding paradigm is
identical like one would code a plain Swing GUI. We find it
dramatically improves development, if you are on Java.

GWT also allows to use static HTML to design some web-style page,
getting away from desktop-style app and bind the widgets to the
HTML elements, allowing a typical web-designer play with skins,
custom CSS and so on. So the framework is actually very flexible.

We don't go with a plain GWT, because of the following reasons:
- it requires explicit Google RPC implementation and limited
Java object serialization. Things, like SmartGWT or ExtGWT are only set
of widgets, so they still requires Google RPC around.

- it supports only a subset of Java. Even String.format is not
allowed...

- it sucks to wait 3-6 minutes each time GWT compiles. :) Vaadin brings
you already precompiled widgets[1], so to rebuild, deploy, run and see
the changes right in the Spacewalk with Vaadin app, in a NetBeans IDE
would take just literally one mouseclick and just in a few seconds.

- Vaadin supports "Back" button, remembers the form values and settings
transparently, has very sophisticated validation, lazy loading and other
sweet features that others does not have.

Don't get us wrong, we also aware of tradeoffs of the Vaadin: it is a
server-side framework, hence slower than a plain GWT, which is mainly
client-side. Vaadin keeps MVC on a server side and also sometimes gives
you a relative pain to workaround its automatic nature, when you need
some JavaScript short-cut, e.g. webcam image slideshow or MJPEG
streaming from your surveillance cameras etc, hence you need properly
develop your new widget, package and then use (this is a painful part,
if you compare with like a "throw-a-simple-script-and-use").

Yet Vaadin scales very well and it is possible to handle a very big
amount of concurrent connections pretty easily. And we believe that
this toolkit perfectly fits to administration types of applications and
it is a part of a Liferay, if you know what I mean.


We also don't want to look like promoters of only one framework, so the
whole message is that we just share with you, guys, what did we
researched, concluded and where we decided to go and how it will be in
a future at least for SUSE. Of course, we are open to collaborate, help
and join efforts to make it happen faster and even more efficient!


Hope it helps.


______________________
1. In case you use Add-ons, you still need to recompile the add-on once.
But only once and never more.

--
Bo Maryniuk
SUSE LINUX Products GmbH

_______________________________________________
Spacewalk-devel mailing list
Spacewalk-devel@redhat.com
https://www.redhat.com/mailman/listinfo/spacewalk-devel

Reply via email to