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