Monday, May 23, 2011

ZK vs Vaadin

I have developed a webmail system ZkMail and VaadinMail by using ZK and Vaadin frameworks. I have found some points while development regarding ZK and Vaadin that I want to share.

  • ZK supports XML (zul, zhtml) to create user interface, while Vaadin is based on pure java. JAVA code must be written in Vaadin to create UI.
    So development in ZK is faster than Vaadin as developer can use xml tag, attributes to create user interface.
  • ZK users its own proprietary engine to render user interface. Vaadin uses GWT. So in Vaadin, there are lots of GWT widgets available that can be reused.
  • Vaadin is released under Apache 2.0 license. ZK comes under community edition (limited edition) under LGPL and commercial license for full version. Although, ZK limited edition provides so many features/functionalities that is enough to develop any application.
  • I found Vaadin more reliable than ZK. In ZK some components like FCK editor behavior is random and creates problems which is not possible to debug.
  • Both ZK and Vaadin support custom components. ZK support macro components for that and Vaadin provides com.vaadin.ui.CustomComponent.
  • Both Vaadin and ZK support Drag & Drop support.
  • ZK supports integration with other technologies like spring and others which Vaadin does not provide.
  • Vaadin is integrated into Liferay portal. So Vaadin applications can be easily used in liferay. Whereas there is no official integration of ZK provided with such kind of portal. Although ZK can be integrated with Liferay to be use as portlet with some effort as i have already done.
  • ZK can be integrated in legacy applications (html/jsp based) easily. Whereas Vaadin can not be used with such kind of legacy applications. Such applications should be rewritten entirely in Vaadin. In ZK, html files can be renamed to zhtml to leverage the power of zk in html. We can also include html code into ZK (zul) page easily by using html tag of zul.
  • ZK CE provides robust server push facility based on client polling and commercial edition provides comet based server push. Whereas in Vaadin there is an experimental plugin ICEPush that provides server push. Also ICEPush add-on requires that vaadin application’s url-pattern must be ‘/*’ in web.xml. In other cases it is not working. So we can not use other resources like jsp, html when using the ICEPush add-on.
  • ZK and Vaadin both provide rich theme support. ZK provides ZKThemer by which we can generate different theme. ZKThemer automatically creates/updates CSS and images to generate new theme. In Vaadin no such tool is available. Although there are different themes jar files available in vaadin directory, but those themes are not consistent with the vaadin default theme as applying them modifies layouts/components and do not render the same output as default theme.

So from a user interface perspective, ZK has a rich set of user interface components than Vaadin and it is easy for developers to use. And also from a productivity point of view ZK is best.
Everything in Vaadin is also provided by ZK. But reverse is not true.
The only thing in using Vaadin is that it is based on GWT. There are lots of live applications that are using GWT. So it is proven.
Whereas ZK uses it own proprietary client side for rendering.

For comparison between these frameworks mobile technologies, ZK Mobile and Vaadin Touchkit visit: http://jtechnoprojects.blogspot.in/2012/12/vaadin-touchkit-vs-zk-mobile-vs.html

Reference:
http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_I_-_Servlets_and_Forms
http://books.zkoss.org/wiki/Small_Talks/2006/July/Work_with_Legacy_Web_Applications,_Part_II_-_JSP
http://vaadin.com/directory#addon/icepush
http://www.zkoss.org/product/edition.dsp
http://jtechnoprojects.blogspot.com/p/webmail-system-with-chating-ajax-based.html
http://jtechnoprojects.blogspot.com/p/vaadinmail-webmail-system.html

Monday, May 2, 2011

VaadinMail Webmail System with chat module

A new webmail system VaadinMail in JAVA has been developed like ZKMail webmail system. It includes all the features of a complete webmail system including multi-tabbed chat module like in yahoo. It has been developed using Vaadin 6.5.7 RIA framework. For complete details about VaadinMail click here.
ZKMail has been upgraded to ZK 5.0.6. It includes new breeze theme. For complete details about ZkMail webmail system click here.