Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Is Anyone Using the Google Web Toolkit?

kdawson posted more than 6 years ago | from the seemed-like-a-good-idea dept.

Google 470

eldavojohn writes "After seeing some applications from Google and participating in the Google Codejam (which seems to be built using the GWT), I kind of expected to see websites spring up left and right based off the GWT. Well, it's been a year and a half since they open sourced it and I have to admit that I am more than a little disappointed by its low profile in the UI community. I've been trolling their blog and have seen a few books out on it. But the one thing I'm not seeing is its use outside of Google. I've worked through the examples and tutorials at home and though I've been impressed with the speed, I am disturbed by the actual result — a whole ton of generated Javascript. But this is the first UI technology I've found where I can write in the native language of the server (Java) to generate and unit-test the UI code. Aside from Google's use and the games of Ryan Dewsbury like KDice & GPokr, does anyone know of major sites using the GWT? If you don't and you've used it yourself, why isn't it taking off? Is it too immature? Is it a solution to a problem that already has too many solutions? Is it fundamentally lacking in some way?"

Sorry! There are no comments related to the filter you selected.

fr0sty piss (-1, Offtopic)

Anonymous Coward | more than 6 years ago | (#24299395)

firts post...yay!

Why are you expecting this? (5, Insightful)

Anonymous Coward | more than 6 years ago | (#24299401)

Because a big company open sources something we're supposed drop what we're doing and run to the next best thing?

JavaScript libraries and toolkits multiply faster than rabbits, there's a new "framework" coming out each week, and some of them had strong developer support (i.e. people willing to answer my stupid questions in forums) long before Google came out with their stuff.

Not that it's bad or anything, but in the end it's all JavaScript anyway, and learning two different ways to get to the same goal (an interactive site) is generally pretty low on everybody's priority list.

Are you using Google Sparse Hash by the way? Why not?

Re:Why are you expecting this? (4, Interesting)

Kristoph (242780) | more than 6 years ago | (#24300089)

The wacky Javascript that GWT generates is fine if your a Googler and understand and can fix issues that might occur but there many other cleaner solutions out there that mere, non kool-aid drinking, mortals can much more effectively work with.

The secret shame of Web 2.0 (5, Insightful)

QuantumG (50515) | more than 6 years ago | (#24299405)

is that everyone wants to roll their own.

Re:The secret shame of Web 2.0 (4, Insightful)

SanityInAnarchy (655584) | more than 6 years ago | (#24299567)

Mostly because no one's really gotten it right yet.

That, and we still don't have any set of frameworks which have built up enough to be difficult to replace. Nothing close to, say, GTK+, Qt, WinForms, Cocoa, etc.

Re:The secret shame of Web 2.0 (2, Insightful)

bigtangringo (800328) | more than 6 years ago | (#24299721)

The barrier to entry for web development (even web 2.0) is much lower than your standard desktop environment. You can build damn near anything out of a dozen components (tags) and a little more than two dozen properties (styles).

Re:The secret shame of Web 2.0 (1)

SanityInAnarchy (655584) | more than 6 years ago | (#24299753)

Except that similar RAD tools exist for desktop environments, too -- Visual Basic being the most famous, but there are others. The only advantage of a web app here is that it's cross-platform -- but you would also get that with, say, Shoes [whytheluckystiff.net] .

No, the cool, unique properties of a web app are pretty much entirely the user experience -- the fact that there's nothing to download, and no updates to manage.

That said, I'd develop just about anything as either a web app or a commandline tool, mostly because these are what I personally have experience with. I develop real web apps for a living, for the reasons I list above -- so when I want to develop a personal app to, say, track my weight, which am I most likely to use?

Re:The secret shame of Web 2.0 (4, Interesting)

try_anything (880404) | more than 6 years ago | (#24299975)

No, the cool, unique properties of a web app are pretty much entirely the user experience -- the fact that there's nothing to download, and no updates to manage.

I develop a rich client application for internal corporate use, and I find that casual users really miss web-style navigation. I get a lot of requests that are essentially requests to simulate a web experience by providing a bunch of screens that users can click through to find the information they want, instead of using traditional (perhaps formerly traditional?) GUI ways of exposing functionality.

Also, these days, mashups and Greasemonkey scripts really magnify the value of web applications. Deprecating a web application in a big company can be nearly impossible because you find out that there are a bunch of business processes that depend on mashups and fancy Greasemonkey scripts that have been hacked together (usually by interns, IT guys, and other random people) and that provide substantial business value.

Re:The secret shame of Web 2.0 (4, Funny)

Atario (673917) | more than 6 years ago | (#24299865)

The secret shame of Web 2.0^W^W^W^W programming in general

Fixed that for you.

Re:The secret shame of Web 2.0 (0, Insightful)

Anonymous Coward | more than 6 years ago | (#24299947)

The secret shame of Web 2.0^W^W^W^W programming in general

The secret programming in general

You're doing it wrong. ^W means delete previous word. Maybe you're looking for ^H which deletes the previous character?

Re:The secret shame of Web 2.0 (1)

brianjlowry (1015645) | more than 6 years ago | (#24299997)

I wish I had points to mod you up.

Cache the Javascript (2)

LogicallyGenius (916669) | more than 6 years ago | (#24299421)

It will be worth if we could cache the javascript unlike flash videos. Download once use many times. Save the bandwidth.

Re:Cache the Javascript (0, Offtopic)

LogicallyGenius (916669) | more than 6 years ago | (#24299583)

no comments. blind retards

Re:Cache the Javascript (0)

Anonymous Coward | more than 6 years ago | (#24299937)

With HTTP headers telling the browser to cache the JavaScript then this is already possible.

(or do you mean that GWT doesn't set the headers right?)

I suppose that HTML5 offline support allows you to cache JavaScript too, but that's kindof a weird way of doing it because you'd need HTTP cached JavaScript to request stuff from the offline key:value store anyway.

To me, (4, Interesting)

bucky0 (229117) | more than 6 years ago | (#24299433)

To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me.

Re:To me, (2, Informative)

bucky0 (229117) | more than 6 years ago | (#24299449)

let me preemptively correct that. I _do_ care about users, but most of my users are tech-savvy and have up-to-date browsers. The ones who don't are in a minority.

Re:To me, (5, Interesting)

VoyagerRadio (669156) | more than 6 years ago | (#24299525)

Exactly. Man, when I finally decided to really get down and dirty with HTML (translation: when I decide to learn all aspects of HTML and its related technologies), I got all hardcore over XHTML and CSS. I spent more time validating my site to strict XHTML than making the site prettier (not to mention producing better content). After a few years of my addiction to usability and valid forward-and-backwards-compatible code and Jeffrey Zeldman articles, I finally realized that I was wasting my time. Users don't want valid code: they just want pretty, moving pictures and sound (that they can easily turn on and off, of course).

Re:To me, (0)

v(*_*)vvvv (233078) | more than 6 years ago | (#24299677)

Users don't want valid code: they just want pretty

Not only that, once you're in deep for a while you realize that "valid code" is a self-defined term. Do you mean w3c valid or microsoft valid or acid 4 valid? Even the developers of each browser have their own view of "valid," hence all the diversity.

Re:To me, (5, Informative)

msuarezalvarez (667058) | more than 6 years ago | (#24299785)

you probably do not know what 'valid' means in this context...

Re:To me, (4, Insightful)

FinestLittleSpace (719663) | more than 6 years ago | (#24299717)

It's not about valid code, it's about accessibility.

Your attitude is the same as some dick opening a shop with spiral stairs leading up to it 'cos it's prettier, right?' Yeah, except for those wheelchair users.

There not be many disabled people compared to 'able', but if you ever become disabled one day, you'll be shouting from the roof for more accessibility just like all the rest.

Re:To me, (5, Funny)

Anonymous Coward | more than 6 years ago | (#24300175)

How do you get to the roof in a wheel chair?

HTML5 (1)

fretlessjazz (975926) | more than 6 years ago | (#24299755)

See subject.

Re:To me, (3, Interesting)

Anonymous Coward | more than 6 years ago | (#24299531)

> tech-savvy

It's likely that the MOST tech-savvy are the ones disabling javascript. The novices haven't even heard of it, leave alone be familiar with its particular annoyances, and have it enabled by default.

I block flash for 99.8% of all web sites, only enabling it on a case by case basis with the FF extension. If a site doesn't work without javascript, I usually just don't go there. This (and adblock) makes the web remarkably less annoying.

Re:To me, (1)

penix1 (722987) | more than 6 years ago | (#24299907)

The problem is massive commercialization of the internet has led to massive abuses of javascript. Everyone is scrambling for their piece of the pie. The pop-up problem is an example of this abuse. The user shouldn't have to go to such extreams just to have a decent experience let alone a safe one. I knew the internet would go to hell in a handbasket when http://www.tampax.com/ [tampax.com] went live. It's a cat and mouse game with everyone pushing for the attention of the user all the while the user's wishes are left out of the equation. The popularity of noscript and adblock should be a wakeup call for sites but I doubt they will get the point...

Re:To me, (1)

gd2shoe (747932) | more than 6 years ago | (#24299649)

You missed his point entirely.

Web browsers aren't the only things which download web pages. Web crawlers such as google, yahoo, and msn also download your pages. These crawlers wont ever render a page. They only strip out searchable content. If someone isn't careful about non-visual text (alt-texts and such) it is possible to get a very low search engine ranking for an otherwise excellent site. The same is true for javascript (read: ajax) generated content.

Personally, I think this scenario is rare. But it is a valid concern.

Re:To me, (1, Interesting)

Anonymous Coward | more than 6 years ago | (#24300053)

Web browsers aren't the only things which download web pages. Web crawlers such as google, yahoo, and msn also download your pages. These crawlers wont ever render a page. They only strip out searchable content. If someone isn't careful about non-visual text (alt-texts and such) it is possible to get a very low search engine ranking for an otherwise excellent site. The same is true for javascript (read: ajax) generated content.

Personally, I think this scenario is rare. But it is a valid concern.

No, it isn't rare. I currently work as a SEO. What does that mean? I spend 80% of my working time in fixing these things. People who have not made headings as H1, H2, etc. with proper markup and CSS but have rather went the SPAN+CSS (or even FONT) route because if they don't know about search engine algorithms, they see no advantage in marking documents with H1+CSS or SPAN+CSS - it looks the same!

(Remember, folks. Page is not valid just because it passes validator. It also should be semantically done)

Other things I constantly need to fix include:

  • Fixing Table layouts to DIVs
  • Giving images proper titles and alts
  • Fixing Javascript and similar navigations
  • Fixing Titles to be as they should
  • Fixing layout images to be backgrounds of DIVs instead of <IMG> tags
  • Fixing cryptic urls to clear language
  • Adding titles to links

Naturally there is more to SEO (Site structures, flow of link juice, controlling indexing with robots.txt and sitemaps, a few more blackhat things that aren't really used often, etc.) but most of my work is fixing things that the webmaster should have properly in the first place.

And it isn't just small companies. Large companies that have e-stores that themselves give much more profit a month than I could hope to get in a year and even large, international companies... All seem to have similar problems.

How do you get more tech-savvy (1)

Nicolas MONNET (4727) | more than 6 years ago | (#24299703)

... than browsing with elinks? ... or with noscript?

My desktop has an up to date browser. My phone? (1, Informative)

Anonymous Coward | more than 6 years ago | (#24299757)

It's not the desktops that lack of javascript leaves out, it's the non-desktop web browser. Like my phone.

So thank you for caring about no-javascript fallbacks.

Re:To me, (0)

Anonymous Coward | more than 6 years ago | (#24299493)

Are you seriously suggesting that Google invented a technology that is averse to SEARCH :)

Re:To me, (1)

SanityInAnarchy (655584) | more than 6 years ago | (#24299711)

Really? I know Gmail does -- does GWT actually not do this, or are you making an uninformed statement about AJAX in general?

Re:To me, (1)

bucky0 (229117) | more than 6 years ago | (#24299813)

It actually doesn't.

Re:To me, (2, Insightful)

GWBasic (900357) | more than 6 years ago | (#24299819)

To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me.

Your issue has nothing to do with GWT. JavaScript only has fallback for non-JavaScript browsers if you write fallback HTML; and GWT is no different.

The same applies for spiders; your content (either static or dynamic) needs to be in the HTML part in order for a spider to see it. If your content is loaded dynamically through AJAX then no spider will see it.

For fallback and spiders, JavaScript (either hand-written or compiled from GWT) can manipulate pre-rendered HTML. The pre-rendered HTML can either be static or dynamically-generated from PHP, Ruby, C#, brainf*ck, ect, ect...

irony (1)

Spy Handler (822350) | more than 6 years ago | (#24300133)

"To me, the biggest problem is abolutely no fallback to non-javascript browsers. I'm not so much worried about users, but search engine bots won't be able to spider me and drive traffic to me."

So if you use the tool Google recommends to create your website, Google won't index it properly and you will fall off Google rankings?!?

It's used... (2, Interesting)

AKAImBatman (238306) | more than 6 years ago | (#24299469)

...just not as much as you might expect. Part of the issue is that it's designed for when you develop your application from scratch. Generally with the intent of developing a desktop replacement webapp. The only problem is that not many companies are investing in such apps. They're investing in using DHTML/AJAX to make their sites more interactive rather than replacing the HTML interface outright. In that situation, GWT is not the ideal solution. (e.g. For quite a while, you couldn't even have more than one widget per page!) It works though, so you'll find it pop up here and there.

On a personal level, I'd rather see the effort spent learning GWT applied to learning Javascript and the web technologies instead. There are a lot of frameworks out there, but none of them are actually needed in 90% of the cases. What we actually need are programmers who know how to write maintainable and highly interactive Javascript components for their sites. Such knowledge allows them to get the job done faster than mucking about with Yet Another Framework(TM) designed to take a cannon to the problem of killing a fly.

Re:It's used... (5, Insightful)

John_Booty (149925) | more than 6 years ago | (#24299613)

On a personal level, I'd rather see the effort spent learning GWT applied to learning Javascript and the web technologies instead. There are a lot of frameworks out there, but none of them are actually needed in 90% of the cases. What we actually need are programmers who know how to write maintainable and highly interactive Javascript components for their sites. Such knowledge allows them to get the job done faster than mucking about with Yet Another Framework(TM) designed to take a cannon to the problem of killing a fly.

It's not learning Javascript that's the big obstacle to coding your own solutions sans framework; it's dealing with the browser compatibility issues. Frameworks largely compensate for that.

If you write your own non-trivial Javascript code, you have to test on IE 6/7/8, FF 2/3, Opera 9.whatever, Safari 2/3, etc etc etc etc.

Re:It's used... (2, Interesting)

AKAImBatman (238306) | more than 6 years ago | (#24299681)

It's not learning Javascript that's the big obstacle to coding your own solutions sans framework; it's dealing with the browser compatibility issues. Frameworks largely compensate for that.

The ideal solution in that case is NOT frameworks. It's to have runtime patches available that make your code run predictably on all browsers. That way if you need to support a new browser, you just add a new patch so that it functions predictably. (If necessary.) Since such patches tend to function based on whether or not a particular feature exists rather than the browser itself, they automatically deactivate when the browser maker finally gets it right.

In practice, of course, things are not nearly as bad as they're made out to be. IE needs the most patching for issues like DOM2 Events (or lack thereof), but otherwise coding to the base standards means portable code across browsers. No significant part of the industry is really doing anything fancy like SVG, Canvas, or Local Storage. (Yet, anyway.) The simple loop of "event fired, contact server, get response, update DOM" is actually pretty straightforward. Especially in the circumstances where GWT fails.

Meanwhile, I've seen all manner of screwy problems caused by folks who try to plugin a framework. One of my favorites was an issue with the prototype library where it was incorrectly deleting the "display" value to make an element visible. Obviously the hope was that it would display as a block element by default. Let's just say that it didn't always work right.

The reason why that example is my favorite is that it's such a stupid little thing. All that was needed was a simple "document.getElementById("myelement").style.display = 'block';" and you're done. There was no reason to abstract that. The abstraction actually CAUSED cross-browser issues rather than solving them. Not a good design.

Re:It's used... (0)

Anonymous Coward | more than 6 years ago | (#24299759)

You know, I'll take the frameworks any day. I am so tired of fighting browser compatibility, I'll let someone else do it. I'd also rather write much less code. prototype scriptaculous have greatly shortened my development time, because instead of spending 8hrs fighting browser incompatibilities, I write 10 lines of code and it just works... While the frameworks aren't perfect neither was my code, (or is your code) and if I need to fix something so be it, but to have 90% of what I need instantly is far better than writing it all from scratch

As to the GWT discussion. Not everyone writes in Java that is a huge part of in IMO. I like php, didn't jump on the Ruby bandwagon, instead i picked up Symfony which has also increased the time in which I am able to develop.

Re:It's used... (2, Interesting)

AKAImBatman (238306) | more than 6 years ago | (#24299887)

I'd also rather write much less code. prototype scriptaculous have greatly shortened my development time, because instead of spending 8hrs fighting browser incompatibilities, I write 10 lines of code and it just works...

You write a runtime patch once and you're done. Meanwhile, you upgrade your Prototype and Scriptalicious libs and then spend an ungodly amount of time troubleshooting incompatibilities between versions.

Sounds like a winning proposition to me. ;-)

Frameworks are almost most often more trouble than they are worth. Once you understand Javascript, you realize how stupidly simple most of the tasks are, and how much time you've been wasting on the framework. If you don't understand Javascript, you probably have wasted dozens (if not hundred!) of hours fighting with issues that are actually very avoidable to begin with.

e.g. Most folks don't understand Javascript scoping. So they'll be surprised when they accidently change a variable that they're using elsewhere in the code. A very simple mistake to avoid if you've read the documentation [mozilla.org] . But as Douglas Crockford of JSON fame has pointed out, most programmers start trying to hack the language without first understanding it. Which is a huge mistake considering that Javascript is only superficially similar to C/C++/Java-type languages.

We had a POC Report Designer (4, Insightful)

j_kenpo (571930) | more than 6 years ago | (#24299479)

We built a Proof of Concept Report Designer and Report Viewer on top of BIRT using GWT for the interface. It had some cool features, like multi-user real-time report development, versioning, and tie ins to the commercial report repository that the company that built BIRT sells. It had a real nice WOW factor to it, but in the end, it was just a pretty POC that we could show at conferences, it would never replace the desktop version due to responsiveness (imagine, an Eclipse app that is more responsive than something else...) IMHO, web technology is just catching up in the UI space to where desktop apps were like 15 years ago, and Web 2.0 is still a tacky buzzword. To do some things that are trivial in a desktop app requires a lot of convoluted steps (callbacks, etc). And even things that would be done the same way still requires a network round trip to get information that desktop apps don't suffer (simple tasks like dynamic drop-down or list population). GWT is a step in the right direction, and the ability to debug in an IDE both client and server side components is very nice.

Re:We had a POC Report Designer (1)

SanityInAnarchy (655584) | more than 6 years ago | (#24299729)

To do some things that are trivial in a desktop app requires a lot of convoluted steps (callbacks, etc).

Don't tell me you've never used callbacks in a desktop app?

And even things that would be done the same way still requires a network round trip to get information that desktop apps don't suffer (simple tasks like dynamic drop-down or list population).

Except usually the point of doing this in a web app, as opposed to a desktop app, is that the data is stored somewhere else. If a desktop app would be doing the same thing -- making a SQL call to a database, or accessing a shared file on a network store -- then you lose nothing by doing this with the web app.

Unless you aren't smart enough to cache the results in the web app, the way you would for a desktop app... And even then, I suspect that the browser should be able to cache many XHR calls, if they're designed to be cacheable.

Re:We had a POC Report Designer (1)

j_kenpo (571930) | more than 6 years ago | (#24300019)

The point was not "OMG big scary Callbacks", it was that the inherent nature of the platform requires steps that wouldn't be necessary in a desktop app. Callbacks were just an example. Data can still be stored "someplace" else in a desktop app and still have shorter number of hops. Using the DB example, a desktop app, you would have communication from App -> DB that could be handled in a single method. In a GWT app, you have Web Client -> Web Server -> DB, handled with at the minimum a method on the client to invoke the call, a method on the server to handle the call, a message class, and a callback class to handle the results are the minimums in a GWT app for the same task. Thats not even taking into account caching since a simplified example can illustrate this just as well.

Not degrading GWT since I am a big supporter of it, just pointing out that there is a lot more planning involved and leg work involved.

Seems Too Heavy (4, Interesting)

telbij (465356) | more than 6 years ago | (#24299483)

I'm a long time web developer but I've never even cracked open the box on GWT, so take this with a grain of salt.

The idea of depending on generated javascript scares me. I'm against writing Javascript in Java, Ruby, Python or anything else. Javascript is just too much of a beast to debug to leave everything up to an opaque framework, and I want to be able to get my hands dirty. I like the smaller and more traditional open-source style frameworks. Prototype, jQuery, MooTools, even Dojo just scare me a lot less.

It could be totally irrational, and it also could be the fact that I tend to build web applications that need minimal state and pretty basic AJAX interactions. Nothing anywhere near as dense as, say, Gmail. If the right project came along I'd definitely give it a more serious look.

There are GWT apps, but not in the public web (3, Interesting)

Cyberax (705495) | more than 6 years ago | (#24299501)

There's a lot of corporative GWT-apps because it's, probably, the best toolkit for rich-client web applications.

However, it's not used much in the public web because most sites just don't need that kind of user interfaces.

Also, GWT is incompatible with web spiders.

Re:There are GWT apps, but not in the public web (0)

Anonymous Coward | more than 6 years ago | (#24299549)

Can you cite your claims? or are you just guessing...

Re:There are GWT apps, but not in the public web (1)

Cyberax (705495) | more than 6 years ago | (#24299837)

There's no public stats, but I have personally worked on GWT projects for some big companies.

You can indirectly measure the level of activity by checking mailing lists of GWT and GWT-related projects. There's a fair lot of traffic.

Re:There are GWT apps, but not in the public web (0)

Anonymous Coward | more than 6 years ago | (#24299615)

I can confirm several large corporate sites (having worked on them) but am not at liberty to give more details. It's a pain to get started with, but for large projects it ends up being a big win compared to a 100 KLoc of javascript. Used correctly, it can be much faster too. My gut feeling on lack of adoption is that many people have added javascript to the sites piecemeal, instead of redesigning from scratch. GWT is much better suited for full rich-client sites.

Best for standalone apps (1)

Slackrat (128095) | more than 6 years ago | (#24299523)

I have used it for a transit/maps mashup application and it worked like a charm. I would agree with those who argue that it's great for writing new web-based apps from scratch and less for adding incremental dynamic features to largely static content sites.

My (possibly stale) impression (2, Interesting)

dubl-u (51156) | more than 6 years ago | (#24299527)

I spent a month using it to build something in April 2007, and it was a big ol' pain. Getting something that roughly worked wasn't too bad, but there were a number of bugs and quirks that cost me time and headache.

Also, their rendering components generated an awful lot of hard to manage HTML and CSS. There were several display issues I never got quite right, and when I asked a front-end whiz to help me out, he had some very unkind things to say about the generated code.

My end impression was that it was about 0.7 in quality, needed a lot of polishing, and was really only useful for Java people who didn't want to understand what was actually going on in the browser. Were I to do that project over again, I'd instead just use something like JQuery [jquery.com] , and learn how to do JavaScript properly, rather than hoping a framework would save me from my ignorance.

Java.. ew. (0)

Anonymous Coward | more than 6 years ago | (#24299533)

Personally, I was impressed with the toolkit and completely turned off by the use of Java. I'd much rather be programming in python, although admittedly it would make the most sense to use PHP.

Re:Java.. ew. (-1, Flamebait)

Anonymous Coward | more than 6 years ago | (#24299629)

With those tastes I'm sure you are an excellent programmer!

Re:Java.. ew. (1)

narthollis (1022679) | more than 6 years ago | (#24299847)

Personally i entirely agree... although my reasoning is not so much 'Ewww' its java as 'I don't want to have to install yet another server module'.

After screwing around with a lot of the well known JavaScript libraries (notably: Prototype+script.aculo.us, jQuery, Dojo and YUI) as well as a GWT, i settled for Prototype+script.aculo.us - simple, and easy were the main reasons behind this. In the end GWT didn't even come into the decision due to the restriction on server side language.

For me, using something like Prototype makes the entire concept of graceful degradation easy.
Also, Prototype isn't something i mind loading for that small quick page that needs an updating panel - where as most of the others seamed like excessive bloat in this case.
(and if you suggest that pain JS would be better than loading prototype, it wouldn't relay, blasted browser/ajax compatibility)

Pain in the ass! (0)

Anonymous Coward | more than 6 years ago | (#24299537)

Single page Ajax website = pain in the ass.

The premise of writing DHTML/Javascript and backend in one language (Java) and stuffing everything into one page sounds great, but creates complexity and headaches as the size of your project grows.

As a web programmer, you HAVE to learn HTML, proper layout, Javascript, server/client data format and some serverside language with data abstraction. My tools of choice is Blueprint, JQuery, JSON, and Perl/PHP/Ruby/Python.

If you really must have a rich client, I would suggest Flex over GWT.

Sounds kind of like ASP.NET development, minus IDE (0)

Anonymous Coward | more than 6 years ago | (#24299543)

This sounds kind of like ASP.NET development, minus the integrated IDE. Also, it's not particularly clear how to roll this out to my favorite hosted environment.

You should try Apache Wicket (1, Informative)

Anonymous Coward | more than 6 years ago | (#24299547)

> But this is the first UI technology I've found where I can write in the native language of the server (Java) to generate and unit-test the UI code

Wicket is all java, does Ajax very nicely and support unit test. It's component base with tons of contributed ones. Has a very active community and a very helpful mailing list.

Re:You should try Apache Wicket (1)

Chrisq (894406) | more than 6 years ago | (#24300147)

Wicket looks good but it is component based. It has a lot of components, but that isn't the same as being able to do anything that javacript can. What would be really cool is a combination of the two, so that custom components can be written in Java, debugged as Java, and compiled to Javascript.

Wicket and rsf [cam.ac.uk] are HTML-centric systems, you design your pages in HTML and the framework adds the components. This is good, you can use dreamweaver or any XHTML-compliant editor to get a nice look and feel, but it is only one way of doing it. The alternative is the GUI designer type interface, like the GWT eclipse plugin or JSF. Here you design your page like a GUI application. This is good where you want "web applications" rather than smart web pages.

It will be interesting to see which way tools go, I think there will be a divergence into the two ways of designing.

Why the conclusions? (1, Insightful)

bogaboga (793279) | more than 6 years ago | (#24299575)

...it's been a year and a half since they open sourced it and I have to admit that I am more than a little disappointed by its low profile in the UI community...

There are more than 67 million businesses in the world and I wonder how many of those you have polled. Can you tell us how many of those businesses you have surveyed?

If you don't and you've used it yourself, why isn't it taking off? Is it too immature?

If you are asking a question and providing the answer, I wonder why you even ask.

In your submission, you should at least have informed us about Google's view on this issue is, if you wanted us to take you serious. Be serious please.

Re:Why the conclusions? (1, Funny)

Anonymous Coward | more than 6 years ago | (#24299827)

I asked a few guys in a neighborhood bar last night, and no one knew about GWT, so extrapolating my sample means that they have 0% coverage.

one fairly large website that uses GWT (5, Informative)

Pinchiukas (828697) | more than 6 years ago | (#24299581)

Probably the most popular social website in Lithuania uses GWT - www.one.lt [www.one.lt] .

FapFapFapFap (0)

Anonymous Coward | more than 6 years ago | (#24299741)

Theres some happy fapping to be had there, thx mate!

Re:one fairly large website that uses GWT (1)

fretlessjazz (975926) | more than 6 years ago | (#24299769)

Or, imagine, being able to be magically whisked away to... Lithuania!


...I can make this joke because I'm from Iowa.

Re:one fairly large website that uses GWT (0)

Anonymous Coward | more than 6 years ago | (#24299859)

Hey... I'm in... Lithuania /Garth

As a Software Development student (3, Insightful)

Gazzonyx (982402) | more than 6 years ago | (#24299599)

My biggest problem is that I'm studying frameworks, JITs, libraries, languages and spinoff languages nearly constantly, and they're multiplying faster than I can even say I've given a look at them.

Just a few weeks ago, I had an itch to scratch, so I figured I'd bang out a quick fix in my most well known language, Java (I started Java around early 1.4 days back in high school, as they were fading out C++, although I passed the AP test in C++ the last year it was given in that language). I figured I'd expand my horizons a bit and learn Java Enterprise, as I already have a really solid background in Standard Edition. After compiling a JBoss server, Ant, and getting JBoss studio (read: a day later), I decided to jump right in. Several hours later and a trip to the book store later, I realized that I needed more background info and got the hardcopy version of the Java EE Tutorial. It assumes that you know, XML, RPC, SQL, Hibernate, ODBC, etc. I've got experience with a good deal of it, and it's still a daunting task to learn just the architecture of the Java EE suite. This is before even thinking about writing a bit of code. The amount of time that you have to invest and the steepness of the learning curve is, frankly, intimidating!

My Eclipse install is a gigabyte, ATM, I've got about 10 IDEs, 3 SQL servers, and a directory called 'programming' with a range of tools and a sub directory called 'libraries' which has SDKs that I've downloaded and intend to getting around to trying. I bought Flex2 and Expression Studio last summer and have barely had time to play with them, and both have new versions out already. Then I've the SDK for Android, Flex (looks like another month of studying the architecture just to hit the ground running), and AIR, all sitting around for me to have time to play with them, before they're obsolete. Not to mention another Java release in the wings.

There are simply too many frameworks, languages, and methods for anyone to be well versed in more than a small number of them. And they come and go so quickly, I don't know if I should invest time in what might become the next Laszlo (looked really, really, cool - never got any traction). Google offers APIs and SDKs in what, half a dozen languages, and half of them are just interfaces to XML? What's wrong with libcurl?

I've only got so much time, and lately everything falls in to one of three categories, "cool, and worth the time investment", "cool, but probably only for my own hacking around", and "...what the crap does it do?".

Am I the only one with this issue? I admit, I spend a lot of time playing with Linux distros, too, so I have less time than others. Oh, yeah, and the four or five languages I'm expected to use every semester, and the three or four that I use at work on a monthly basis.

Re:As a Software Development student (4, Informative)

AKAImBatman (238306) | more than 6 years ago | (#24299715)

After compiling a JBoss server, Ant, and getting JBoss studio (read: a day later), I decided to jump right in.

Here's a hint for you: Use Glassfish [java.net] . Your life will be about 1000x easier.

Here's another hint: No matter what anyone tells you, AVOID JAVA SERVER FACES LIKE THE PLAGUE. The API will not help you.

Hope that helps. :-)

Re:As a Software Development student (2, Interesting)

Fuzuli (135489) | more than 6 years ago | (#24300075)

Sorry, just have to ask: What do you recommend instead of jsf? This comes from a guy who has to choose a java web stack for an upcoming project, that'll have to scale. No need for a flame war, just asking for a short answer here :)

Re:As a Software Development student (0)

Anonymous Coward | more than 6 years ago | (#24299871)

Do you a favor, drop Java stuff and go Ruby on Rails (or whatever DOES NOT run in Eclipse) !

Troll apart, this might just be some fresh air in syntax weight, tool freedom, empowering you to do what you want and whatever...

Re:As a Software Development student (4, Insightful)

try_anything (880404) | more than 6 years ago | (#24299881)

As a student, don't bother learning frameworks with the idea that you will use them later. There are only two good reasons to learn a framework. The first is to use it right away on a project you want to get done. The second is to get experience with frameworks in general and particular types of frameworks. It is valuable to be able to:

  • Learn a framework quickly.
  • Understand the advantages and disadvantages of frameworks, as opposed to lightweight approaches.
  • Evaluate and compare frameworks for a given task.

Knowing a framework is, in itself, pretty useless unless you are going to use it right away or apply for one of those mythical Monster.com jobs where companies hire people to work with version 2.37a of Ridiculously Specific Technology Z. I don't know of any companies that actually hire that way unless they need a consultant to work with a legacy system whose developers have long since disappeared. In other words, you won't be hired for your experience with a specific framework until that framework is obsolete.

Now, setting aside the proper way to study frameworks, why are you even thinking about frameworks as an "investment" at your age? You sound like you're in way too much of a hurry. If you learn one distributed N-tier application framework, one web application framework, and one rich client application framework, then you will have much more industrial-type experience than most developers ten years older than you. The downside is that industrial-type experience, while it helps you make better decisions about large-scale software development, also tends to dull your brain. If you're already focusing on frameworks in college, you're going to be burned out and useless by the time you're thirty. You'll end up quitting and starting over from scratch in a new career, just to get away from software. Unless you're just one of those precociously responsible (*cough* boring *cough* *cough*) kids who tracked his gas mileage in high school and thought the coolest thing about the Science Fair was having an excuse to wear a suit and gesture at graphs.

In college, you should be implementing your own language, becoming a whiz at Emacs Lisp, mucking with kernel modules, starting your own web business, building natural language parsers, and doing all the other silly, vain, perfectly useless (Emacs Lisp excluded) things that end up making you into a smart, versatile programmer.

Re:As a Software Development student (4, Insightful)

Llywelyn (531070) | more than 6 years ago | (#24299903)

As a software development *student*, you should be focusing more on the concepts, on engineering problem solving, and on reasoning skills than on the specific technologies.

As a software engineering professional, I learn the tools that I need to effectively do my job. I learn things that look interesting and applicable to whatever it is I am doing. Thus, I work with the GWT and with AJAX because I decided that's what I needed in order to tackle a problem we were having. As a senior engineer who is engaged in the hiring process, I care more about that you can think than that you happen to have seen and worked with twelve dozen technologies by the time you graduated. As a job posting I saw recently says [fogcreek.com] :

We do not hire based on a specific list of buzzwords, technologies, or popular acronyms on your resume. Today we happen to use Wasabi, JavaScript, xhtml and CSS, and C++ to build FogBugz, but Python and .NET are likely to be important in the future. We use C++ and Objective C for Copilot. We have server systems in C# and legacy code in VBScript. Tomorrow we may be using something different. Whatever technologies, languages, or development environments you've been using, we expect you have mastered them in depth, and we expect that you will be able to master any technology, language, or development environment that we need in the future.

You can't predict it and the specific tools will change tomorrow, so as a student I would generally say that learning it--unless it is for a specific project or class of projects, or because it contains a concept or problem solving idea that you want to learn--is a waste of time. I learned R back in school because it was more efficient than using Minitab for multivariate statistics and for statistical modeling, not because it was out there and I needed to put it on my resume. On the latter point, I still think learning Prolog and LISP were extremely valuable despite that I never use them professionally and will probably never use them professionally.

Incidentally, if you are a good engineer, the language doesn't matter. If you are a bad engineer, the language still doesn't matter. *Problem solving* counts for more in the long run than bullet points.

Re:As a Software Development student (1)

Fuzuli (135489) | more than 6 years ago | (#24300061)

No, you are not alone. This is a problem that almost everyone who develops software faces somehow. It all depends on your line of work actually. If you are working on building business oriented information systems which seem to cover everything from online gambling to financial decision support, you are in trouble, for there is simply too much technology that is competing in the field. In general, you have to have a decent level of knowledge and experience about major technologies, you can not avoid java or c#. I admit that becoming an expert on any of these technologies takes quite some time, but the market usually does not let you do so. The only people who are immune to this problem are usually working in a product based company, rather than a project based one. My personal experience has shown me that a successful product is much less likely to switch technologies, and if it happens, it is usually a switch to next generation in the same technology, so it is not that hard to adopt.
Also, guys in image processing, or embedded development on hardware is quite stable.
When you are in a field with buzzwords being pushed to market everyday, you find yourself in a position where you have to adopt to bullshit to survive. Managers, bosses and most important of all, customers are willing to buy new stuff all the time, which means there is no excuse in their book for "this is useless technology".
So to get rid of what you're complaining about, switch to a well defined and stable solution space. (Military sector for example)
On the other hand, it is possible to take advantage of this, in case you are a fast learner who can learn and recognize patterns in these technologies. There is the usual pain of getting deeper in one technology occasionally, when something that pays good comes up, but till then, you keep working on all of these. This is pretty much what everyone has to do in a particular segment of the software market these days. Sometimes learning fast becomes more important than knowing something in depth, and it is a shame. My advice, to avoid drowning, pick a few major technologies, and map new ones to concepts in them when you have to. Java, C#, Python, MySql etc..

I wrote this in GWT... (4, Informative)

GWBasic (900357) | more than 6 years ago | (#24299601)

My experience with GWT is rapid prototyping. Overall, I like playing around with GWT. It's a great way to quickly dynamic web sites without wading through the mess that JavaScript is. Considering that I do other kinds of software on a day-to-day basis; GWT has a learning curve that's gentle enough to allow me to write powerful UIs as a weekend project.

GWT's integration with Eclipse; especially its debugger, is a significant advantage. Its compiler is also another advantage. I tend to shy away from JavaScript because I prefer compiled environments with rich debuggers.

I think GWT's long-term strengths could be its maintainability, although someone who is experienced with both JavaScript and GWT will be better off making such a judgment. I have not written a large, multi-developer GWT application; thus I do not know what kind of complexities arise in such an environment.

GWT has an odd deployment system that's designed to take advantage of HTTP caching. Compiled javascript files are named based on a hashing algorithm, thus a web server can be optimized to instruct the browser to only download code when a new version is compiled. This makes storage of compiled JavaScript difficult for some deployment scenarios, because the files always change.

I've been reading the mailing list for about a year, and in general, it tends to have a lot of novices and hard-core Java developers. There's a lot of talk about using various Java frameworks within GWT. I get the impression that, even though GWT is Java-based, using frameworks like Spring or Hibernate is like ramming a square peg down a round hole.

Some novices don't understand that GWT doesn't run under the JRE, or assume that GWT can somehow magically make their favorite library run in the browser. GWT compiles Java into JavaScript; it does not deal with Java bytecode (except in its debugger.)

There's also a lot of talk about using various RPC / Remoting protocols when served from a Java web server. It seems that some Java programmers like that they can keep a simple layer between code running in the browser and code on the server. I personally avoid these layers and stick with simple AJAX calls into PHP or my custom-written C# server.

I wrote this in GWT as a learning exercise: http://andrewrondeau.com/com.Memmexx.GearPod/GearPod.html [andrewrondeau.com]

Now, you might think "wouldn't it be a cool idea to integrate an MP3 search engine into your demo?" I did, but it's locked behind closed doors because I don't want to get sued! (It turns out that the folks at Seeqpod got sued after I completed the version with the search engine.

Yes, it IS fundamentally flawed... (0, Troll)

JeremyALogan (622913) | more than 6 years ago | (#24299603)

"Is it fundamentally lacking in some way?"

Of course it is... IT'S JAVA!

Framework Purgatory (1)

rossdakin (1331067) | more than 6 years ago | (#24299605)

GWT is too complex for the quick-and-dirty PHP weenies and too simple for everyone else (restricted libraries, no control over cron jobs, email config, etc.). It's like a VPS, but without all the hand-holding. (Disclaimer - this is my blunt gut feeling. Facts may be off)

Re:Framework Purgatory (0, Flamebait)

chill (34294) | more than 6 years ago | (#24299723)

(Disclaimer - this is my blunt gut feeling. Facts may be off)

Hmmm...have you considered running for President of the United States? You seem well qualified. Tell me, how do you pronounce "nuclear"?

Re:Framework Purgatory (1)

rossdakin (1331067) | more than 6 years ago | (#24300121)

I know, I know... should have put more thought into that. But hey, "GWT" looks kinda like "WMD" right?

Re:Framework Purgatory (1)

dubl-u (51156) | more than 6 years ago | (#24300027)

I think you're thinking of Google App Engine [google.com] rather than Google Web Toolkit [google.com] .

IT Mill Toolkit uses it (1)

wolfie123 (1331071) | more than 6 years ago | (#24299621)

To take the "anyone" in its strictest definition, yes, someone is using it. I'm working for a company [itmill.com] that develops an opensource UI toolkit for Java, that takes heavy use of GWT.

OTOH, this is probably the only application outside of Google I, too, have seen using GWT.

General rule of thumb (0)

SuperKendall (25149) | more than 6 years ago | (#24299639)

It fails my own general rule of thumb, which is simply that dynamic code generation is evil.

When you fully embrace this concept, it will take you far and avoid much pain.

There are no exceptions to this rule, other than things that give you simple templates that you then modify - but that's not really code generation so much as code thawing.

Re:General rule of thumb (0)

Anonymous Coward | more than 6 years ago | (#24299831)

That's an incredibly stupid rule.

Re:General rule of thumb (3, Funny)

msuarezalvarez (667058) | more than 6 years ago | (#24299905)

You must beone of the REAL PROGRAMMERS one keeps hearing about who do not use compilers...

Because web developers don't know Java (2, Interesting)

globexdesigns (880822) | more than 6 years ago | (#24299655)

Because most web developers don't know Java. They know XHTML, CSS and Javascript. Some know PHP. Most sure as hell don't understand how Java can be used to make a site and don't want to bother learning a whole new "language" (as it seems) to build one. So they dely on jQuery and Dojo which is pure Javascript that they understand.

because the idea makes us kinda wince? (1)

Punto (100573) | more than 6 years ago | (#24299673)

If I remember correctly, this is the one where you write java and then it gets compiled into the javascript that runs in the browser, right? I'll admit that I'm biased against java, but still, even is this was my favourite language, the idea of generating javascript offline and then running it on the browser just sounds too complicated. I'd never feel like I could trust the generator.

I'm not saying it'll never work, just that I think this is why nobody is rushing to adopt it (I do think it's completely unnecesary, and it'd be kinda sad if this was what needed to be done to have a usable ajax framework; but that's just my uninformed opinion)

If this was a runtime thing, where you're running a virtual machine for some other language on top of javascript, I'd try it just because it sounds cool tho.

Not being used?? (4, Interesting)

iwein (561027) | more than 6 years ago | (#24299675)

I've been on a project using GWT in 2007, been quite successful. If you want to see an example that is public run over to Parlays.com, they have a Flex and a GWT version.

If you want to write clean code check out my blog on TDD with GWT: http://is.gd/1156 [is.gd] .

With the 1.5 release they did some very promising improvements.

So you're right if you say it is not mainstream, but to say nobody is using it is exaggerating. Just be patient, GWT will continue to grow.

Poor knowledge base and tool support (1)

subnomine (849148) | more than 6 years ago | (#24299695)

Becoming frustrated with basic and lacking on-line information, I had to peruse books to find better examples and explanations. I found only one GWT book at a Barnes & Noble. But Borders had several.
Also, I've heard that Eclipse isn't up to snuff with the GWT stuff. But as a `vi` guy, I'll keep my rat's ass and not give it.

Re:Poor knowledge base and tool support (1)

CrystalX (1299317) | more than 6 years ago | (#24299883)

GWT and Eclipse actually work very well together.

I agree that the online documentation and examples for GWT are rather lacking, but there are some good books on GWT. My favorite is "Google Web Toolkit Applications" by Ryan Dewsbury. (Ryan is the same person who made the games mentioned in the original posting.)

http://www.amazon.com/Google-Toolkit-Applications-Ryan-Dewsbury/dp/0321501969/ref=wl_it_dp?ie=UTF8&coliid=IBGT0TU3E4AB2&colid=1C5O2JP17MKXW [amazon.com]

HectaresBC (0)

Anonymous Coward | more than 6 years ago | (#24299701)

The best i've seen is HectaresBC (http://www.hectaresbc.org/app/habc/HaBC.html).

It's an awesome way to query spatial data in a canadian state.

Re:HectaresBC (0)

Anonymous Coward | more than 6 years ago | (#24299973)

When I read...

It's an awesome way to query spatial data in a canadian state.

it comes out as

It's an awesome way to get AIDs and die in a gutter.

Some things you just don't want to do, ah?

GWT has been given a Whirl (1)

Kvack (462290) | more than 6 years ago | (#24299713)

http://www.whirled.com/ [whirled.com] The non-flash components of Three Rings Design's new social networking/game portal site Whirled have been built using GWT.

Looking at it soon (1)

bigtangringo (800328) | more than 6 years ago | (#24299725)

We're going to be looking at it soon for an Intranet project, specifically ExtJS GWT. We'll see how it goes.

Mosso (1)

WildsideTX (60902) | more than 6 years ago | (#24299733)

Mosso (http://www.mosso.com/) wrote the control panel for their cloud computing system using GWT and ExtJS.

We are (5, Interesting)

Arnold_DeVos (1331059) | more than 6 years ago | (#24299739)

We have used it for a fairly big internal application for one of our clients. Given we wanted ajax rather than a typical rich client, the main advantage of GWT was that we could program in the same language end-to-end.

We managed to avoid a lot of boilerplate code by using the same data class definitions (POJO's) in the server and client. So an object might be created by hibernate from a database record, copied to the client, displayed and edited, copied back to the server, manipulated there and finally updated in the database via hibernate.

The main omission in GWT is a good framework for binding data to UI elements. Because there is no introspection available in the GWT client environment, it is hard to do this in a generic way. We solved the basic problem by generating class and property descriptors during the usual hibernate code generation step. We then created a UI-POJO binding framework that picks up and uses these descriptors. Again avoiding a lot of boilerplate.

Our code for all this is here: http://code.google.com/p/gwt-hibernate/ [google.com]

I'd say GWT worked out pretty well.

Re:We are (1)

kdart (574) | more than 6 years ago | (#24300091)

Can you contribute those framework extensions back to the GWT project?

redhat.com (0)

Anonymous Coward | more than 6 years ago | (#24299751)

Redhat.com uses it for the store part of the site. Many other "of the shelf" type apps use it, probably not so much web 2.0 apps.

Slashdot

Performance vs. Productivity (1)

CrystalX (1299317) | more than 6 years ago | (#24299765)

GWT was originally marketed to web developers as a way to make developing web applications easier, since the underlying language is Java, which has better tool support (especially for debugging) when compared to plain old JavaScript.

A number of web developers interpreted this marketing spin to mean "convenient to program in but slow". This is not, however, the case. The GWT team has consistently favored the user experience (which includes performance as a large component) over developer convenience when the two goals were at odds. In general, the JavaScript generated by the GWT compiler is as efficient (and sometimes faster) than the code I write by hand.

So, in summary, I suspect GWT hasn't seen wider adoption by web developers because they think that it does not generate performant code.

So, where's the question? (4, Insightful)

DerekLyons (302214) | more than 6 years ago | (#24299777)

You start with the assumption it should be widespread, and are disappointed because it is not. Which leads to the question, what leads you to that assumption?

We used it (1)

Get_Plover (78671) | more than 6 years ago | (#24299803)

to develop this site ( and others ):
http://www.gochongo.com/ [gochongo.com]

One big problem with using the GWT ( at this point in time ) to develop something like a media site is the failure to index.
One can be blacklisted in the search indices for presenting a site to a robot which fails to render properly. As 100% javacript sites always do.

At this point in time the GWT seems well suited for display of data and rapid prototyping and uses that have people coming to your site through means other than search engines. Or use it sparingly to augment your normal, indexable site.

I would be a complete fan if robots could deal with it, I really enjoy using it and can quickly make it do whatever I want and expect the output to render pretty much identically on all major browsers and be quite compact.

gwt? (0)

Anonymous Coward | more than 6 years ago | (#24299821)

I forgot about it till just now. i know some girls who feel pretty used in the same circumstance...

XWiki's WYSIWYG Editor (0)

Anonymous Coward | more than 6 years ago | (#24299855)

I believe XWiki's [xwiki.org] WYSIWYG page editor is being rewritten using GWT.

ChainBuilder (1)

c-reus (852386) | more than 6 years ago | (#24299909)

Bostech Corp's ChainBuilder [chainforge.net] uses GWT in it's administrative console

Obligatory plugs of my own apps (3, Interesting)

SashaM (520334) | more than 6 years ago | (#24299961)

I've written quite a few GWT apps in the last year and a half. Here are two that I can show:

search for it? (1)

speedtux (1307149) | more than 6 years ago | (#24299965)

Here's my suggestion: look for a simple string that occurs in GWT pages but in few other places, then Google for it. That should answer your question.

Intranet GWT WebApp, for System on Chip Dev (1)

larry_larry (669612) | more than 6 years ago | (#24300119)

Just because there's not many GWT WebApps on the public Internet doesn't mean companies aren't using GWT behind corporate firewalls. The GWT forum [google.com] is very active and there are postings from various big name companies there.

SpectaReg.com [spectareg.com] appears to use the GWT and was born from an intranet WebApp (i.e. runs on corporate networks). This enables System on Chip developers (like digital logic designers and embedded software engineers) to reduce costs and improve quality by automating addressable register interfaces. It's a pretty slick WebApp for generating code and documentation from single-source design specifications.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?