Joonas JavanainenJoonas Javanainen

  • Software developer, runs Jawsy Solutions
  • 7 years programming experience
  • Career mostly involved with JVM-based languages (Java, Scala) but also experienced in dynamic (PHP, Python, Ruby) and C/C++ programming
  • Favourite programming language is Scala, also interested in functional programming languages such as Haskell, Erlang and Clojure

Q: How many years have you been using ZK? How you encountered ZK?

I started using ZK 4 years ago after finishing a project that used Spring MVC + Spring Webflow. I was annoyed by the programming model and wanted a better model on the server side, and also a more dynamic feel in the UI. Initially I considered Flex, but at that time the development tools weren’t impressive enough (development was slow, there were no Maven artifacts easily available, etc.). Besides ZK, I also evaluated Echo, JSF-based frameworks such as ICEfaces and RichFaces and found ZK to be better than the other alternatives. I was able to start using ZK with very little work and felt very productive right from the start.

Q: In what kind of projects are you using ZK? What was the greatest challenge of the project and how did ZK help?

At the moment I’m involved in one commercial project that uses ZK. The project is called Vihta, and it’s basically an online reservation system designed for wide variety of use cases. We went with ZK because we wanted a very dynamic UI with a good server side programming model. We also considered Vaadin, but I consider it to be not flexible enough for larger projects. In addition to Vihta, I also have a toy project I use to test architectural ideas that I might release as open source later on.

Q: What would you suggest to a new ZK comer who is starting to learn ZK?

For newcomers I suggest reading through the forum and docs very carefully, because there is plenty of information available. I also recommend using best practices right from the start unless you are developing only a toy application. For example, I don’t think zscript should usually be used because in a real world application there are many negative implications. Instead, it’s better to use Java code so that you won’t have to rewrite it later once your program becomes larger. Also, if you haven’t heard of JRebel, you really should consider buying it. The combination of JRebel + ZK makes application development very smooth.

Q: What do you see as the most important community value in ZK?

The forum is the best thing in the ZK community. Well defined questions will almost always be answered, and there’s plenty of information for newcomers. There are also some people like myself who
try to answer all the tough technical questions.

Q: After previewing ZK 6, and now that RC version has been released, what do you think of it/general comments?

I haven’t yet converted my projects to ZK6 for compatibility reasons, but I’ll consider doing that once the final version is out. Based on the release notes it looks like a good release. It’s good to see that Java 1.5 features are finally used and the awesome breeze theme is now the default. Also, the new data binding seem very flexible and useful for many people although I probably won’t use it myself because of the lack of type safety in Java code.

Q: If ZK Team were to develop another line of product, what sort of product would you most desire?

I’d like to see a version of ZK designed for modern mobile phones. Current ZK applications work with mobile phones, but a specific mobile design would be much better. JQuery Mobile could be a good base
platform to build on, but it would probably require a different architecture. I’m also interested in modern bleeding edge technologies such as web sockets that could be supported by ZK. OSGI support would also be interesting, but it’s probably quite hard to implement.

See Also – ZK Community Interview with Stefano Bianchi

If you enjoyed this post, please consider leaving a comment or subscribing to the RSS feed to have future articles delivered to your feed reader.

Leave a Reply