A fellow developer and I are putting together a proposal for a new application, and we've presented both ZK and GWT to be possible choices. After messing around with both, I'd prefer to move ahead with a ZK proof-of-concept, but one of the "senior architects" of the company (who isn't even on our team) seems to be trying to take over the project and tell us what technologies to employ. He's finding any excuse he can to push GWT onto us and call foul on ZK.
Now I'm not saying that GWT is inherently bad, nor that ZK is the be-all-and-end-all of web application development, but I don't like being told how to develop a application by someone who hasn't really done enough research to push a particular technology. Although this guy is not on our team, management tend to listen to him, and will probably "tell" us what to use.
This guy's arguments against ZK seem to be "browser incompatibility", "too much business logic in the browser", and "project immaturity". I disagree with all three of these. He also provides no arguments for GWT, which seems like he actually doesn't know much about either technology. He also claims that it's better to use a technology that someone within the company knows. There is only one team here that has actually used GWT, and that project has had... issues.
Could someone with some real-world experience with ZK and/or GWT suggest some arguments I can provide that would at least put both the technologies back on the table, rather than attempting to push a single technology with no real research?
GWT and ZK both provides a framework to enable Ajax in Java. Both are mature, and no browser incompatibility issue (ZK is based on jQuery).
However, they are very different architecturally. GWT is client-side approach -- all the code running at the client, while ZK server-side approach -- all the code running at the server (but they have an option to write some of application code at client). So, your colleague was wrong that you already know -- GWT exposed the business logic at client, not ZK.
The advantage of GWT (as a client-side approach) is faster responsiveness (less client-server requests if designed well). The disadvantage is that you have to do all the data marshaling between client and server (GWT RPC/JSON supports only very simple objects). In contrast, ZK's advantage is you can access all back-end resources straightforward, no RPC, no proxy... In addition, ZK allows you to write some code at the client-side to enhance the responsiveness of the critical parts (unfortunately, the client code has to be JavaScript). To me, it is the best balance.
The real advantage of GWT is Google. I kept hearing some boss pushed engineers to GWT because of this. I also heard some GWT projects failed (mostly caused by productivity issue -- too painful if the project is complicated), and then switched to ZK.
I've never used ZK but from the looks of it, ZK is much more 'enterprise-ready' in the sense that it comes with a lot of ready-to-use widgets. GWT only just recently got a DataGrid-like control. Recreating ZK's Calendar or Spreadsheet in GWT would take a serious amount of effort.
You're boss's "too much business logic in the browser" statement really shows that he doesn't really know what he's talking about. GWT is a client-side only technology while ZK looks like it's almost completely server-side.
If you haven't already check out ZK's GWT vs. ZK page. They seem to have most of the bases covered.
Finally, remember that YOU are the one writing the program not him, if a boss forces something on you that will take more time to implement, then inflate your estimates accordingly. It's much easier to appeal to management with something they care about: "This technology will inflate the budget by X and schedule by Y" then with technical details.
Please do note that the page ZK's GWT vs. ZK page is written by Jeff Liu, who is an engineer at Potix Corporation. Which is the company that made ZK.
I'm also struggling with making a choice between ZK and GWT. I'm looking for a recent unbiased article that discusses both but haven't been able to find anything good.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With