Discussions

News: GWT, ZK and FUD?

  1. GWT, ZK and FUD? (24 messages)

    Recently, I found an interesting discussion about GWT, and ZK. Some of them make fun of ZK for pickings GWT as their main opponent. But ZK at the same time demonstrates its simplicity over GWT by its support of markup language which is easier for GUI building. Some of them complain about drawback of server-centric architecture. But, IMO, server-centric architecture outscores client-centric framework by its programming model, no more client codes. Thus, personally, I will vote ZK for its simplicity. And here is another article, ZK vs. GWT : Server-Centric Matters! on Javalobby comparing these two frameworks.

    Threaded Messages (24)

  2. Re: GWT, ZK and FUD?[ Go to top ]

    Nah, ZK is a mess to refactor in IDE's, you need their commercial eclipse plugin to work better with ZK. ZK it is very commercial, Also why my Java code will be always naked with ZK, ZK model of mix presentation with logic is just a mess, I would prefer to use better Flex than ZK really.I started to use ZK before GWT but it put me down that it have a GPL license and their image it is very commercial and also don't belive is very easy to work with ZK, it have lots of strange ways to do things and the Docs kind of sucks. In the other hand GWT is free as in beer and have a very liberal license that I can use it if I want to do commercial development and I don't need to pay a single coin to somebody and It is baked by Google! Many bright people now works in Google. The technology behind GWT is awesome and still very easy to work with, if you are a Swing developer you will pick it up in one day plus GWT works pretty well with any Java IDE. For Ajax development GWT is the way to go and it is pretty fast. My bet is for GWT.
  3. Commercial is not a sin[ Go to top ]

    ZK it is very commercial
    That maybe true, but many companies are still reluctant to go the open-source way. They often prefer a company behind a product or framework.
  4. I have been coding with ZK on three different commerical projects since Q3 2006. You don't need any commercial tool or plugin to work efficiently with the framework. It is just xml and an API that the eclipse editor can work with out of the box. I like to work with the raw xml files in eclispe as I started out with gcc and jot on irix many years ago. Other people that started out on VB or with a Swing GUI builder or with other sophisticated tooling (perhaps even web design tooling) may well perfer and be more productive using ZK Studio. ZK gives you the choice.
  5. GWT wins[ Go to top ]

    I mean you don't have to learn new things apart from small API of GWT and some RPC interface implementation. If you are Java developer and Eclipse is your choice of IDE then first UI design takes no time. GWT is total free and many open source library to support additional functionality. Flex will be my choice if I want to learn new markup language. Adobe has history of making better products (you can make counter arguments) with Flash run time. Flex will land me better $$ job for sure and that is bottom line in this economy.
  6. give zk a try[ Go to top ]

    The thing about ZK is that you dont have to do any RPC interfacing. It is event driven programming on the server. It has an optional syntax for binding the screen controls to any of your java objects. It has optional declarative looping and over your data objects. It has optional and full support for spring. It has optional support for model view controller patterns. It has a lot of different ways of going faster but you don't need to know or use all of them. You only have to spend some time switching paradigm that everything is event driven on the server. That makes things easier and opens up a whole word of optional features that can make you implement functionality a whole lot faster than you could before. I agree that simple is beautiful and although there is a very large amount of features and techniques you can use with ZK it is actually beautifully simple.
  7. I vote ZK[ Go to top ]

    It was exciting when I can use Java and Eclipse to write GUI codes in GWT (ZK didn't have such kind of integration until recently). However, when our project was getting more attentions, we were drown by the requests. The first thing killing us is the lack of components and they are too primitive for our management team's taste. We then used GWT-Ext. It solves the component issue (Ext turned to be GPL later, but it is OK for us as long as they answer our questions in time). However, we stepped into another issue: performance tuning. It ran fast at the beginning but, after adding a lot of client codes and introducing more and more network traffics to load data from server, it became slow. We learned two lessons in a hard way: JavaScript is much slower than we expected, data communication (particularly, granularity issue) must be well planned. On the other hand, our another project using ZK are running well. It is not only to jump start, but also scale well. I agree with Carole that server-centric architecture is the right direction to go. We lose some controllability without client codes but gain the productivity in return. It reminded me the debate of auto-focus and manual-focus in the camera histroy (I know I am old).
  8. In my (biased) opinion, doing all the UI programming in Java-language has a huge benefit over markups: it promotes OO design and makes refactoring and code maintenance much easier. This out-weights the benefit of faster prototyping of declarative UI building with markup-language. Also additional plus is that programmers doesn't have to learn yet another XML-dialect and are forced to use IDE that happens to have editor (with syntax-helpers) for that particular markup-language. On the other hand: doing everything on server-side makes life easier: no more cross-browser worries, direct calls to any server-side API:s, no explicit communication layer design, no double-validations and in many cases - more secure application. Currently the only framework that builds on this server-side RIA in Java ideology and also leverages GWT to allow widgetset extensions in Java is IT Mill Toolkit. (Apache-license)
  9. Our design team won't agree this:) They are really good at markup languages, CSS and even JavaScript. However, they don't know much about Java. BTW, one thing bothers me: is there any way to make GWT-based page crawl-able by search engine? The project I mentioned in the early post needs it but I don't find the solution yet.
  10. Markup vs API[ Go to top ]

    Our design team won't agree this:) They are really good at markup languages, CSS and even JavaScript. However, they don't know much about Java.
    Markup has it's place for layouting and CSS for themeing. In IT Mill Toolkit, one can create layouts in plain HTML when it is considered better option than programmatic layouts. Themes are of course done in standard CSS. This is really helpful for non-programmer and ones who want to use WYSIWYG web-page editors for editing layouts. On the other hand - adding "Ajax-sugar" on top of existing web-pages is in many cases the best option when you are creating a "web-site" not an "application".
  11. Re: Markup vs API[ Go to top ]

    With ZK, as others have said here, the markup is very much an optional feature. You can infact write entire project without any markup with ZK if you want (richlet and composer etc). However, you can do things with GWT that is not possible with server-side frameworks like ZK. I use GWT heavily for pages that need precise control over the DOM to do things like animation, DOM manipulation etc which can only be replaced by Javascript. And as others pointed out, GWT is a lot more work compared to ZK, but for the time saved, you agree to loose a degree of control over the UI.
  12. Re: Markup vs API[ Go to top ]

    However, you can do things with GWT that is not possible with server-side frameworks like ZK. I use GWT heavily for pages that need precise control over the DOM to do things like animation, DOM manipulation etc which can only be replaced by Javascript.

    And as others pointed out, GWT is a lot more work compared to ZK, but for the time saved, you agree to loose a degree of control over the UI.
    As far as I known, the major benefit of GWT is that it keeps developers away from JavaScript. Why do you have to do animation in JavaScript by yourself? This should be the job of framework instead of developers. If you have to do animation by yourself, and the framework is simply inadequate. For example, load-on-demand requires lots of works to do, including determining the edge of client, and asking for required from server, and then update the client content. However, with ZK, all the job is done by ZK automatically. Explore this example of live data in listbox. Moreover, ZK enabled Client Side Action, which allows developers to write client codes if necessary. Personally, I prefer framework handles the tedious job for me.
  13. Re: Markup vs API[ Go to top ]

    However, you can do things with GWT that is not possible with server-side frameworks like ZK. I use GWT heavily for pages that need precise control over the DOM to do things like animation, DOM manipulation etc which can only be replaced by Javascript.

    And as others pointed out, GWT is a lot more work compared to ZK, but for the time saved, you agree to loose a degree of control over the UI.


    As far as I known, the major benefit of GWT is that it keeps developers away from JavaScript. Why do you have to do animation in JavaScript by yourself? This should be the job of framework instead of developers. If you have to do animation by yourself, and the framework is simply inadequate. For example, load-on-demand requires lots of works to do, including determining the edge of client, and asking for required from server, and then update the client content. However, with ZK, all the job is done by ZK automatically. Explore this example of live data in listbox.

    Moreover, ZK enabled Client Side Action, which allows developers to write client codes if necessary.

    Personally, I prefer framework handles the tedious job for me.
    Letting the framework handle is all fine for some situations. In this regard, GWT is a lower level API which only deals with client-side aspects while ZK abstracts it away and offers a higher-level API. So in a sense, you can in-fact create GWT based components for ZK, as they sit in different levels of abstractions.
  14. Another alternative[ Go to top ]

    I use GWT heavily for pages that need precise control over the DOM to do things like animation, DOM manipulation etc which can only be replaced by Javascript.
    There's another sever centric alternative, ItsNat, DOM manipulation is done in server with pure Java W3C APIs.
  15. In my (biased) opinion, doing all the UI programming in Java-language has a huge benefit over markups: it promotes OO design and makes refactoring and code maintenance much easier. This out-weights the benefit of faster prototyping of declarative UI building with markup-language.
    Actually with ZK you can go both ways depending on your project and development team. You can write the whole UI entirely in Java using the 'richlet' interface. A richlet is a small Java program that creates all necessary components in response to user's request. With ZK it is you who decides for your best choice.
  16. GWT is the safer and better bet[ Go to top ]

    Markup based languages have some advantages for building content oriented sites, however for complex applications GWT is the way to go. More open, backed by Google, program in Java, CSS fully supported, and great development tools (emulations of browser/java/javascript) for fast round trip compile and test. If you are interested in GWT with SOA check out this cool framework (cheap plug). Eliminates the need to write GWT RPC plumbing code. http://code.google.com/p/soafaces/ Rauf
  17. Please inspire me. I am not familar with this. I used ZK and RichFaces in some projects. In my opinion (I am not an expert), ZK is much simple. Not sure about GWT -- hope I have a chance to try it.
  18. Server centric as ZK is more secure and you don't need to maintain a RCP connection but sometimes it can be slow, Although I'm not sure about the Comet functionality how performer it is. Client centric as GWT it runs on the client and is less secure but very fast, If you are lazy to build the RCP functionality so build a RCP helper and reuse it. The problem for me I see in ZK is the proprietary language it use and the scripting embedded in the view mixed with the xml and my Java code always is naked in a script file or maybe I don't get yet ZK how it works. GWT is just Java and you can get advantage of CSS for style your components, It is pretty easy for a Java developer, For a designer maybe is another story. If you are going to develop a Web site( check the difference) better use an action framework and using the MVC pattern you can separate the designer with the coder and apply Ajax into the template. If you are going to develop a Web Application so GWT or ZK is the way to go but me I like GWT.
  19. is plain Java[ Go to top ]


    The problem for me I see in ZK is the proprietary language it use and the scripting embedded in the view mixed with the xml and my Java code always is naked in a script file or maybe I don't get yet ZK how it works.
    The tag you probably refer to is not a proprietary language; It is plain Java code by default. I confess I have been deceived by this tag before. As for MVC pattern, ZK does offer excellent support for it. Please, check ZK MVC Made Easy and Simplified ZK Event Processing With Java Reflection API.
  20. Re: is plain Java[ Go to top ]

    @QamarAlZaman Habeek, The link you gave me "ZK MVC Made Easy" I think this change the perspective, thanks for the tip. I will check it more deep and work an example with it to see how it works. This approach looks great and more clean and it separates the script and I can compile my Java code.For a Java developer this option looks better, ZK team should cover more on the tutorials this approach and If I'm them I will suggest to Java folks as the best practice for ZK development. This is just my opinion but the problem I see with ZK is that the license is GPL, If it was LGPL little more liberal could be better and maybe I could buy the ZK plugin for eclipse and it is not so expensive, As Flex the SDK is free as in beer but the best is Flexbuilder and everybody got the plugin so ZK team could make money with the designer tools and support/maintenance fees and the framework little bit more liberal. Always I put the MyEclipse example they have a very affordable solution. Anyway ZK commercial license for a small business is getting little bit expensive. Regards.
  21. Thanks. I know, with ZK, Java codes run in the server, but I don't realize GWT codes run in the client. So, GWT translates Java to JavaScript, right? Then, how to access the database and mail server? thru RCP? What is RCP? A kind of RPC? Is it integrated with Spring/Hibernate? Sorry for stupid questions -- I'm new to GWT.
  22. GWT compiles Java code(a subset really, String,List, that sort of thing) into Javascipt. That code runs only on the client. To access the back-end, you use an RPC created by Google that is, in essence, and asynchronous call to a servlet. That RPC service you implement *is* the servlet. In that servlet, you have access to the all Java libraries. For example, I had things set up so Spring injected a variety of services into the GWT Service. A particular object was injected into that service and that object was where the real work was done. In the service I basically either passed some object up to the client code or converted the object into something that was passed to the client(GWT) code. The GWT is view only.
  23. Re: GWT, ZK and FUD?[ Go to top ]

    I believe that the markup is its weakness. No other markup is as simple as HTML which, IMO, eliminates the "let the web gui person do the layout" argument. When coupled with a layout tool such as GWT Designer, GWT allows the Java developer to visually construct a front-end while actually allowing the GUI person to spruce the page up via CSS. This is while give you the full power of Java debugging, syntax, and refactoring. I believe that this solution is superior to pretty much any mark-up solution because it fully leverages Java.
  24. Re: GWT, ZK and FUD?[ Go to top ]

    +1 ZK No additional comments
  25. ZK & Flex[ Go to top ]

    I'm fairly new to both ZK and Flex. That said, I'm writing most of my logic in Java, and only a minimal amount in the XML markup. Regarding some of the comments about GWT (of which I know almost nothing), I'm also using ZK with Flex, thereby getting the best (or worst) of both worlds. ZK for a lightweight,easy to use, UI framework. And Flex for UI components that need more capability (like animation or Ajax-style interactivity).