By Adam Shrum, IT Manager and analyst at Dynamic CAFM, a Texas based facilities management software provider.

When tackling a new
software development project there are many things to consider. First, what is the scope of the project? Second, what language should be used to develop the project. And Finally, what tools will be needed to complete the project efficiently. I manage a team of developers in Pearland, TX and we have had to answer all three of these questions at one time or another. Before we use any tool we always come up with a pros vs. cons analysis to evaluate the tool beforehand. One of the Java tools we use quite frequently is ZK or ZKoss, an Ajax + Mobile enterprise framework that incorporates Spring, JPA, Hibernate, JavaEE, Grails, and Scala. I like to think of ZK as a front end tool that keeps you from having to create a UI from scratch. Like any other front end tool there are pros and cons of using a framework like ZK.
The number one pro of ZK is that it’s Open Source. Because it’s an open source product there is a community of developers that support it via the ZK Forums. It’s important to also note that the documentation for ZK is very good, and there have been few times when we have even needed to go to the forums for help. Another pro is that Big Name Companies use ZK which is always a positive. Companies such as Sony, Deutsche Bank, Sun Microsystems, IBM, Toyota, and Adobe are ZK users and to me one of the biggest red flags of a software tool is that nobody is using it. With ZK you know you’re dealing with a proven product that actually works. ZK has a Rich Modular UI which is made up of many different components you can call out without having to code from scratch. They have thought of almost everything out of the box, but additional components are included with the PE and EE paid versions of the product.
Oh yeah, I forgot to mention that ZK is a Free Product when you use the community edition. Because it’s free there is no upfront cost which is another positive, and there is no cost for a user license as well. If you are working with a legacy system and have decided to utilize ZK in an update to that legacy system you will experience much more control over the system than you had before.