By Sibers CTO Andrey Gavrilov
Last week, Google Web Toolkit got into my hands so I’ve played around with it, read some info about it, checked out the other web frameworks and eventually decided to write a review on them all. Here it goes.
Google Web Toolkit
URL
The Google’s name in the title already guarantees some quality for the product. So I put it first in my review list. But truthfully, GWT functions in a horrible, horrible way: developer writes code in Java, which is then converted into JavaScript by a special compiler application, using a set of widgets. The compiler is closed code, and only its additional components are created in Open Source.
Advantages:
– Made by Google.
– A lot of PR around it.
– The result is executed completely on client and can function with different servers.
Disadvantages:
– Language conversion always means problems with the resulting code.
– Result is always executed on client and all RPC should be realized manually.
Echo2
URL
Echo2 is often compared to GWT. I bet that Google guys are simply paying other analysts to compare GWT with its weakest opponent. It works like this: developer writes Java code executed on server and creates RIA interface in Swing style. Open Source. Chargeable IDE.
Advantages:
– No language conversion.
Disadvantages:
– Large size of resulting files.
– Low quality of control over results.
– Functionality poor tools for client-server communication.
OpenLaszlo
URL
Initially it was used for creating Flash, but at present it is also able to create DHTML. Code executed completely on client, but special server can also be used for this as well as servlet for dynamic compilation and RPC simplification. OpenSource.
Advantages:
– Same code for DHTML and Flash.
– XML description of interface.
– It does not have to use server side.
Disadvantages:
– Language conversion. Although LaszloScript, JavaScript and ActionScript all belong to ECMA subset, so output losses are not so serious.
– Due to its compatibility with Flash, RPC is problematic.
ZK
URL
It works similar to Echo2, only instead of Java you can use XUL based XML interface.
Advantages:
– Speed of XUL development.
– Rich set of components.
– Ability to execute custom JavaScript.
Disadvantages:
– By default processing of all events is done on server.
– Loss in output during XUL execution due to script language is resolved by using richlets or by extracting performance critical functionality to Java.
Conclusion.
In my opinion, the leaders among reviewed frameworks are ZK and Open Laszlo. But I prefer ZK since it is more logic, so to speak. I approve the approach when you can quickly create whatever you need and then freely optimize its performance.