This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes GWT and the fly likes How about comparison with GWT and jQuery? Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Frameworks » GWT
Bookmark "How about comparison with GWT and jQuery?" Watch "How about comparison with GWT and jQuery?" New topic
Author

How about comparison with GWT and jQuery?

Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60783
    
  65

Originally posted by Ken Boyd:
how about comparison with GWT and jQuery..

I am not interested in learning new syntax where GWT works great but you can point out in detail..

Thanks


[Asking smart questions] [Bear's FrontMan] [About Bear] [Books by Bear]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60783
    
  65

There really isn't much of a basis for comparison. GWT is an application generator in which a Java application is "compiled" into a web application with all of the HTML, CSS and JavaScript auto-generated by the "compiler", while jQuery is a JavaScript library.

Any debate really happens at the "to use GWT or not" level rather than a comparison against any specific JavaScript library.

Was there something specific you were wondering about?

P.S. If you go back in this forum's history there was some lively debate about GWT when the GWT in Action book promo was underway.
George Stoianov
Ranch Hand

Joined: Jan 15, 2006
Posts: 94
To add to this I think one of the advantages being mentioned for GWT as opposed a JavaScript library is the fact that GWT is java so you can apply unit testing etc. and treat it as regular java, whereas JavaScript is difficult to test and troubleshoot, because of its underlying design features.

On the other hand I think something like jQuery would come in very handy if you had to add some things to an already existing application where you can pick and choose what you want and where. It is more light weight to implement and less binding. Think about Java and C++ , I sure do not want to keep track of garbage collection having used Java for so long .

Actually my statement above maybe incorrect, watching one of the presentations on youtube I remember the google engs saying you can edit your JavaScript as well so it really is being placed as the JavaScript choice for Java developers.

Plus the other thing with pure JavaScript is that you still see the nuts and bolts and can, if you so desire (being a Linux fan I hold that dear), make modifications and implement things differently.

It all comes down to what do you consider to be your core area and how much control you need over what is being put in a page you produce. With one or the other you get a huge amount of your work done by someone else. I mean the things you can do with jQuery are great and GWT is nice too, but getting JavaScript to work with so many browsers and quirks can be difficult and that is why I value .

One thing that is kind of a concern for me is that with this web 2.0 craze applications are again moving to the client and that has its benefits and disadvantages as well. Yes, you do put all the code in on the server but what happens on the client is not under your control, so as someone supporting and writing this stuff I can see some how some problems may crop up that are hard to troubleshoot. The security aspects of this stuff are also interesting.

My 0.02 cents.
Regards,
George
Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15299
    
    6

To add to this I think one of the advantages being mentioned for GWT as opposed a JavaScript library is the fact that GWT is java so you can apply unit testing etc. and treat it as regular java, whereas JavaScript is difficult to test and troubleshoot, because of its underlying design features.

There are unit test libraries for javascript. However, my feeling is that if you need to unit test your javascript then you are probably doing something on the client that should be done on the server. And if you install Firebug you can step through and debug code just like you can with java. It's really amazing how much simpler this stuff is to do today vs 2 years ago. Heck, 1 year ago.

Plus the other thing with pure JavaScript is that you still see the nuts and bolts and can, if you so desire (being a Linux fan I hold that dear), make modifications and implement things differently.

As compared to what? You can't modify GWT, an open source project?

One thing that is kind of a concern for me is that with this web 2.0 craze applications are again moving to the client and that has its benefits and disadvantages as well. Yes, you do put all the code in on the server but what happens on the client is not under your control, so as someone supporting and writing this stuff I can see some how some problems may crop up that are hard to troubleshoot. The security aspects of this stuff are also interesting.

While this may be a greater concern today its always been a concern in web development. Its not specifically tied to "web 2.0".


GenRocket - Experts at Building Test Data
George Stoianov
Ranch Hand

Joined: Jan 15, 2006
Posts: 94
Yes, Firebug is really cool.

As compared to what? You can't modify GWT, an open source project?


What I meant is that to modify GWT you would probably have to modify the JavaScript compiler, but yes you can do that, with jQuery you can modify the JavaScript. I think that would be easier.... or do I have the wrong assumption.

While this may be a greater concern today its always been a concern in web development. Its not specifically tied to "web 2.0".


If you meant security, yes it has always been and always will be. As far as weird client problems I dare say that with complex JavaScript processing on the Client as compared to all processing done on the server you would run into more client issues that are hard to get information on and troubleshoot.
George Stoianov
Ranch Hand

Joined: Jan 15, 2006
Posts: 94
Don't get me wrong I am all for web 2.0 or yahoo mail with java script and drag-and-drop compared to regular simple HTML it is so much better.
Ken Boyd
Ranch Hand

Joined: Dec 10, 2003
Posts: 329
I will use jQuery or any javascript framework if they are better for maintaining application. You have complex or medium size of application written in jQuery or Prototype or Dojo toolkit and want to expand or look for another quality developer you are not in great position.

GWT on other hand has clear java advantage no worries at all. just learn to create module and work in limitation of JDK 1.4.2 (5 is coming) and you are safe. I feel learning curve and looking after app is not steep


SCJP, SCWCD, SCBCD, SCJD, BB Java2 and JSP1.1
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60783
    
  65

Originally posted by Ken Boyd:
You have complex or medium size of application written in jQuery or Prototype or Dojo toolkit and want to expand or look for another quality developer you are not in great position.

GWT works for you, and that's great. But don't let your enthusiasm lead you think that you can speak for all web app developers. I'm glad that you have found something that works for you, but your experiences may not align with those of other web app developers. My experiences are diametrically opposed to your own. My server-side Java skills are just as strong, if not stronger, than my client-side skills but I did not find GWT apps any easier to maintain than a hand-coded application. Quite the opposite, in fact.
Ken Boyd
Ranch Hand

Joined: Dec 10, 2003
Posts: 329
Originally posted by Bear Bibeault:

GWT works for you, and that's great. But don't let your enthusiasm lead you think that you can speak for all web app developers. I'm glad that you have found something that works for you, but your experiences may not align with those of other web app developers. My experiences are diametrically opposed to your own. My server-side Java skills are just as strong, if not stronger, than my client-side skills but I did not find GWT apps any easier to maintain than a hand-coded application. Quite the opposite, in fact.


wrote something but found it is not worth arguing with others who think they are great just by writing book..

good luck not interested in your book..

no further reply required from either author..i am out of this forum...
[ January 18, 2008: Message edited by: Ken Boyd ]
Bear Bibeault
Author and ninkuma
Marshal

Joined: Jan 10, 2002
Posts: 60783
    
  65

You seem to have taken issue because I stated an opinion that differs from yours. How is that "arguing"? I call it a discussion.

It devolves into "arguing" when one side starts making personal attacks, or tries to devalue the opinion that others have stated.

Too bad you're checking out. Other readers of such discussions can learn things from them in order to help them get a feel for what may or may not work for them.
Eduardo Cavero
Greenhorn

Joined: Jan 07, 2010
Posts: 3
I haven't used jQuery yet, but I did use other JavaScript frameworks like Prototype and ExtJS. I like GWT because I'm a Java developer and that means I could have all my application written entiery in Java. But, then again, this is not entierly true. There will still be code written using other frameworks simply because there is so much to choose from and many technologies that solve problems in a different manner.

I like the fact that the resulting JavaScript generated from a GWT app is obfuscated and posting directy to a GWT-RPC is not easy; which means that the only way to do it is from the original application and, hence, is more secure.

The disadvantages are obviously that only people who know GWT can modify the application and one cannot reuse the GWT-RPC services on other applications.

It's just a matter of flavours and choosing the tool that solves the problem best for a specific person or team.
Jeoff Wilks
Greenhorn

Joined: Jan 08, 2010
Posts: 3
Eduardo Cavero wrote:I haven't used jQuery yet, but I did use other JavaScript frameworks like Prototype and ExtJS. I like GWT because I'm a Java developer and that means I could have all my application written entiery in Java.


I'm a Java developer as well, but I found GWT a little constrained; maybe it's because I've used jquery quite a bit. Java works well enough for back-end plumbing, but I really missed javascript closures when I was using GWT. Things that I could do with jquery in just a few lines of html and javascript, blew up into pages of code with GWT. I think that's acceptable if you're building a large, complex application because then you benefit quite a bit from GWT's compiler.

Also, GWT doesn't entirely insulate you from the concerns of Javascript; there is JSNI code to write at times, and when debugging problems the extra layers can sometimes be aggravating. I would recommend jquery for 80% of projects and GWT for the other 20%. NOTE: This recommendation could change if GWT were to ever support other input languages (such as Scala or JS2) or if Java finally gains closures.

Between the two, my first exposure was to GWT. I later did a full project in jquery, then returned to GWT, then scrapped the GWT project and reimplemented it in jquery. If you're interested to know why, read my blog entries on switching from jquery to GWT and then back to jquery.
Eduardo Cavero
Greenhorn

Joined: Jan 07, 2010
Posts: 3
I believe the very next sentance after the quote was that it wasn't entirely true. I found out in the middle of the project that JavaScript still had to be written through the use of JSNI. I also had the inlineHyperlink problem you pointed out in one of your posts.

Another true fact is that its not easy to use local variables on the onSuccess methods in the Asynchonous Callbacks. These have to be final. But, what if one had to pass an integer? The first idea I came up with (and left it at that) is creating my own abstract AsyncCallback class with the integer in its constructer.

I agree: problems like these do arrise, just as in many or all frameworks and libraries.

I chose GWT because I needed to implement a web app using drag and drop. I looked at other JavaScript frameworks and felt that dnd in pure JavaScript is hard to do. I'm not saying that it's any easier in GWT, but I it was easier to understand since GWT feels almost like programing desktop Java applications in Swing. It just felt more object oriented to me.
Jeoff Wilks
Greenhorn

Joined: Jan 08, 2010
Posts: 3
Yeah sorry about that, I guess I took your words a little bit out of context.

The inline hyperlink thing was really vexing to me because it's one of those things that is SO EASY in regular html (without even javascript), so it was annoying that I couldn't figure out how to put a space on each side of the span element....
Eduardo Cavero
Greenhorn

Joined: Jan 07, 2010
Posts: 3
I know exactly what you mean.

I forgot to say that the posts you mentioned where good ones to read. Maybe I will play with jquery a bit.
Jeoff Wilks
Greenhorn

Joined: Jan 08, 2010
Posts: 3
Eduardo Cavero wrote:Maybe I will play with jquery a bit.


Since you're interested in drag-and-drop, don't forget to check out jquery-ui's dnd demos. For example:
http://jqueryui.com/demos/sortable/
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: How about comparison with GWT and jQuery?
 
Similar Threads
Winners: Google Web Toolkit Applications (updated)
JQuery and JSF
Winner of the GWT Conference Ticket
JQuery web development
what adventage have GWT compare to jQuery?