Wednesday, August 23rd, 2006
Zero Kode, Visual Designer for ZK
The Tibco folks like to point out that their IDE is written in their own framework. I’m not really all that enamored of the self-compiling, eat your own dogfood approach to IDE’s when your end product is a webapp. Call me old fashioned, but I like to write my code in a desktop IDE. Maybe that’s just a sign that my arteries are hardening and I’ll soon be standing on the lawn in my slippers and bathrobe cursing at those webapp IDE using whippersnappers.
Well, for good or ill, Tibco GI is no longer the only IDE that eats its own dogfood. ZK has a visual designer called Zero Kode, an IDE written in ZK that allows you to visually design a ZK application. From part I of the tutorial that accompanies the IDE:
The visual editor is just a web application – packed in a ‘*.war’ file’ – that can be launched on an application server. It provides a visual interface with a toolkit that holds all the visual components that the ZK framework has implemented so far and is designed to use all kinds of custom components as well. This means that a developer can add to the toolkit components that he/she has designed, as far as they are compliant with the framework’s protocol.
The developer drags-and-drops visual components on the active model, sets their properties (which are reflections of the corresponding Java class) and sets their events as well. Definitions of all the visual components found in the toolkit, are kept in an XML configuration file that can be edited by the developer in order to add, remove or re-order components. The developer can also load an existing ‘*.zul’ file and modify it.
When run locally in an instance of Tomcat it’s actually quite zippy. Still, you have to know your way around the ZK component heirarchy. Constructing tabbed panes and trees, for example, can be a bit of a pain. Some wizard functionality would be useful here. Also the property editor should probably be a part of a tabbed pane — instead of a popup — as you’ll find in Eclipse or Visual Studio. (To be really useful, make sure to set the session timeout to a large value. There’s nothing worse than having a design go puff because of a timeout.)
So, is it a toy or something useful? ZK zul files are pretty easy to write, which would argue for a verdict of toy, but I find the convenience of property and event handler editors quite useful. Altogether a promising start.













Tibco GI hasn’t been the only IDE that eats its own dogfood anyway. Software AG’s crossvision Application Designer (formerly known as Composite Application Integrator from Casabac) has been doing this since 2002 in addition to the classic Eclipse plug-in.
I have to agree with Stephen though, for comfortable design and development that is free of browser limitations many people prefer a desktop IDE.
I too realy do not see the advantage in creating your own IDE you are loosing a great deal of power when doing so. I am the architect of an enviroment called Visual WebGui that lets you develop web applications using WinForms like API and design time capabilities. Although we implemented 95% of WinForms and it was relitivly easy to create a web designer we did not do it as our primary working mode. You are missing on the whole echo system that is provide by the IDE as source control and much more.
We have here some videos showing how we integrated our web development into Visual Studio here
There is a live sample here showing what can be done with Visual WebGui (FireFox support will be published in the next few days).
and we also plan on doing it to eclipce.