Tuesday, January 17, 2012

Should I use GWT ( Google web toolkit) or JQuery?, My answer is JQuery

Google Web toolkit is powerful tool for creating rich web application using Java as development language and eclipse as IDE. When GWT was launched, it was great idea for Java folks to qucikly write code in Java which GWT tool will translate to corresponding Javascript code. It was making sense for Java folks, and making sense for the time when browser based debuging is pain and non existing. GWT provide cross browser ability and boilerplate code, so it is easy to bring rich AJAX based widgets.

There are tradeoffs,
* you code in Java
* you code in they way GWT ask you to code
* I like to use HTML5 data-* api and Wensockets - you need to depend on GWT team to release supporting API or you need to learn Java to implement those in GWT way-- it introduces one more impediment/dependancy to code upgrate path ( or fragements the development)
* You many not use HTML or HTML5 etc, you use Java. I would have been happy in year 2000 but  not in 2012 :)
* You gradually diluted out of web :)

I am not pro to GWT, I like to code in Javascript and wanted to utilize beauty of JS programing. I wanted to control what I write, however I don't want to code for various browsers. My biggest pain is not pure JS coding but browser specific code and DOM scripting. So JQuery fits nicely here.

JQuery shines at
* You code in Javascript and not in Java so I don't depend on Java
* Simplifies DOM scripting
* Fosters plugin based reuse and mostly you find it from somebody who already written it somewhere (there is plugin repository from JQuery website)
* Micro updating through Ajax is simple and closely write code to the specific APIs and normally you write it in a line of code
* Very popular and hence you find support of any kind of issues is milliseconds (that's what google search tells you)
* Everybody supports including Microsoft, I like their contribution to JQuery template
* There are available from many CDNs -- Google, Microsoft, AOL etc
* Taking dynamic coding to the next level, Do the template in the browser -- I do lot,
* I can use HTML5, CSS3 etc in a way that's close to specs


8 comments:

  1. I don't get your post. Have you ever used GWT or JQuery?

    1) Arguably, coding in Java on GWT is more about maintainability than anything else. The type mechanism helps you to avoid bugs and Java strictness forces programmers to create more thoughtful design (this can be both good and bad, depending of your coding style, team and project requirements).

    2) ' you code in they way GWT ask you to code" isn it true for Javascript too? Every platform has its way.

    3) "* You gradually diluted out of web :)" and similar comments. In GWT you can call native JS code, even use JQuery. GWT extends JS, doesn't replace it.

    4) "* Everybody supports including Microsoft, I like their contribution to JQuery template". Everybody supports GWT too, since it's output is JS.

    5) "* Micro updating through Ajax is simple and closely write code to the specific APIs and normally you write it in a line of code". Have you tried RPC or RequestFactory with GWT, client-server synchronization is so powerful...

    An apples to apples comparison: GWT requires more work to get things done, but imposes a lot of development practices. JQuery is quick and easy to start with, but big systems are hard to mantian when using JS.

    If your idea of coding is Google for code snippets and past them until they kind of work, then, definitely you are way better of with JQuery.

    If you are a person that actually designs and understand his code, JQuery VS GWT will depend of your project goals.

    Note: If you see Java as a problem instead of an advantage, then you should keep yourself away from GWT.

    ReplyDelete
  2. I don't get your post. Have you ever used GWT or JQuery?

    1) Arguably, coding in Java on GWT is more about maintainability than anything else. The type mechanism helps you to avoid bugs and Java strictness forces programmers to create more thoughtful design (this can be both good and bad, depending of your coding style, team and project requirements).

    2) ' you code in they way GWT ask you to code" isn it true for Javascript too? Every platform has its way.

    3) "* You gradually diluted out of web :)" and similar comments. In GWT you can call native JS code, even use JQuery. GWT extends JS, doesn't replace it.

    4) "* Everybody supports including Microsoft, I like their contribution to JQuery template". Everybody supports GWT too, since it's output is JS.

    5) "* Micro updating through Ajax is simple and closely write code to the specific APIs and normally you write it in a line of code". Have you tried RPC or RequestFactory with GWT, client-server synchronization is so powerful...

    An apples to apples comparison: GWT requires more work to get things done, but imposes a lot of development practices. JQuery is quick and easy to start with, but big systems are hard to mantian when using JS.

    If your idea of coding is Google for code snippets and past them until they kind of work, then, definitely you are way better of with JQuery.

    If you are a person that actually designs and understand his code, JQuery VS GWT will depend of your project goals.

    Note: If you see Java as a problem instead of an advantage, then you should keep yourself away from GWT.

    ReplyDelete
  3. Anonymous10:38 PM

    How do you do security in your rpc calls in jquery? how do you do automated css sprites? Ohhhh.... yeah , you don't. Comparing jquery to GWT is like comparing a pencil to photoshop... while one will get your program sketch out just the way you want the other will get you the professional quality people have grown accustomed to.

    ReplyDelete
  4. Anonymous7:31 AM

    I agree with papirrin. To do a fair comparison, you have to have a decent experience for what you are comparing. GWT plays fairly well with existing JS libraries like jQuery. Its deferred binding offers a unique advantage that pure JS libraries cannot provide. In addition, since version 2.0, GWT supports declarative dependency injection through the uibinding mecahnism. Gin, an extension to the core GWT, provides programtica depenndency injection. There are so amazing features in GWT. If you actually use GWT for your day job, you will be able to trully appreciate the strengths of GWT.

    ReplyDelete
  5. Anonymous4:19 AM

    This is a good response. For what it is worth here are our experiences. We are working actively with GWT and jQuery and find that they are complementary. GWT wins hands down if you want to develop a large and or complex JS application while eliminating any server side state management or HTML page rendering. We have found that debugging and maintaining a jQuery application of more that a few pages can be problematic. However if you want to inject small units of dynamic content jQuery is very good.

    ReplyDelete
  6. Anonymous8:31 AM

    "you code in Java"
    Is this a tradeoff?

    ReplyDelete
  7. jQuery is a JavaScript library full of tools ready to be used - which means that it's prewritten JavaScript, ready for you to put to work in your own webpages. Here, you a get a guided tour of what makes jQuery so popular. jQuery specializes in letting you select elements in a page, and it does that better than any JavaScript library.

    jquery jobs

    ReplyDelete
  8. I appreciate your opinion and it enriched my arguments to decide whether use GWT

    ReplyDelete

Thanks for reading and welcome for commenting...