Google+ Technological Details(infoq.com)
infoq.com
Google+ Technological Details
http://www.infoq.com/news/2011/07/Google-Plus
11 comments
I would love to hear why GWT wasn't used more. It seems to me that GWT is not widely used even at Google.
I use GWT (and SmartGWT which is based on GWT) a fair amount, and this is just my opinion:
GWT is targeted at Java developers who want to create rich client applications. The development environment (I use IntelliJ) is reasonably agile and there is a rich set of components to use. So, a nice developer experience for Java developers who don't want to use other languages (like Javascript).
That said, GWT seems a little heavy weight and for large and well funded projects it makes sense to hire Javascript experts and then frameworks like JQuery or Clojure probably make much more sense.
GWT is targeted at Java developers who want to create rich client applications. The development environment (I use IntelliJ) is reasonably agile and there is a rich set of components to use. So, a nice developer experience for Java developers who don't want to use other languages (like Javascript).
That said, GWT seems a little heavy weight and for large and well funded projects it makes sense to hire Javascript experts and then frameworks like JQuery or Clojure probably make much more sense.
frameworks like JQuery or Clojure probably make much more sense
I think you meant Closure[1] (not Clojure)?
[1] http://code.google.com/closure/
I think you meant Closure[1] (not Clojure)?
[1] http://code.google.com/closure/
GWT is awesome if you have a team of Java developers who aren't really web developers. You can be productive without having all the HTTP/css/javascript/html skills you would need otherwise (though you still want someone on your team who can look at the details underneath the abstraction).
But if you want something as fast and as scalable as possible, of course you can do better by working at a lower level.
But if you want something as fast and as scalable as possible, of course you can do better by working at a lower level.
The other side of that is that in the hands of someone with good knowledge of HTML and CSS, you can accomplish quite a bit with GWT.
Prior to starting a project with GWT, I had only done client-side development in vanilla Javascript, HTML, and CSS. I was pretty skeptical about the prospect of writing in Java and having it compiled to Javascript being a viable way to create a web app.
Fast forward almost a year, and I've built a complex user-facing app for my company using custom CSS styled components and HTML5. I was worried about GWT being a leaky abstraction, but thus far it has, for the most part, just worked.
The biggest win for me isn't even the Java to JavaScript compiled. UiBinder has ended up being a great way to design custom widgets using html and css, and having them be easily reusable throughout the app.
So, while GWT can be used by Java devs to avoid having to learn much about HTML and CSS, using it this way results in missing out on a ton of its potential. In the hands of the right developers, it can be quite a good tool for creating great looking, complex client-side apps.
I realize some people hate Java with a passion, but I've found that the non-enterprisy style of Java I use when writing GWT apps isn't painful at all.
Prior to starting a project with GWT, I had only done client-side development in vanilla Javascript, HTML, and CSS. I was pretty skeptical about the prospect of writing in Java and having it compiled to Javascript being a viable way to create a web app.
Fast forward almost a year, and I've built a complex user-facing app for my company using custom CSS styled components and HTML5. I was worried about GWT being a leaky abstraction, but thus far it has, for the most part, just worked.
The biggest win for me isn't even the Java to JavaScript compiled. UiBinder has ended up being a great way to design custom widgets using html and css, and having them be easily reusable throughout the app.
So, while GWT can be used by Java devs to avoid having to learn much about HTML and CSS, using it this way results in missing out on a ton of its potential. In the hands of the right developers, it can be quite a good tool for creating great looking, complex client-side apps.
I realize some people hate Java with a passion, but I've found that the non-enterprisy style of Java I use when writing GWT apps isn't painful at all.
From a Googler:
There are several hundred projects within Google using GWT and more are being written or rewritten all the time. Some of the major ones:
AdWords UI
AdSense UI
Blogger (http://techcrunch.com/2011/03/14/half-a-billion-blog-posts-l...)
Groups (new UI)
Doclist (the folders in docs, both desktop and mobile versions)
Parts of Maps / Geo
https://groups.google.com/forum/#!topic/google-web-toolkit/M...
There are several hundred projects within Google using GWT and more are being written or rewritten all the time. Some of the major ones:
AdWords UI
AdSense UI
Blogger (http://techcrunch.com/2011/03/14/half-a-billion-blog-posts-l...)
Groups (new UI)
Doclist (the folders in docs, both desktop and mobile versions)
Parts of Maps / Geo
https://groups.google.com/forum/#!topic/google-web-toolkit/M...
Is google killing GWT?
I doubt it. Based on the number of sessions at Google IO this year for GWT (many) and the number of sessions for Closure (one?), I would say they were outwardly pushing GWT much more than Closure.
I wish they would come out with more JavaScript tools. I have used GWT for a couple side projects, and while the tools and library are amazing, writing an app the "GWT Way" (using all the design patterns) is cumbersome and difficult, especially for a one-man-show.
Closure is better in this regard (mostly by virtue of being a JavaScript library instead of a Java library, IMO), but it's still overkill for quick side projects where something like underscore.js would suffice.
Why would they use Closure instead of GWT? Closure is just JavaScript. No waiting for the GWT team to build the features you need, no having to build those features yourself. And in my experience, when I need cutting edge with GWT, I end up writing a bunch of wrappers for JavaScript functions, which makes me wonder why I'm not writing everything in JavaScript. (Like I said, the GWT library is very compelling and when planning a large project, Java often feels more comfortable for some.)
So no, I doubt they are killing GWT, but it would sure be nice to see them develop some comparable JavaScript tooling (as one of their main points for choosing Java as the language of GWT is because of the quality of the existing Java tools).
I wish they would come out with more JavaScript tools. I have used GWT for a couple side projects, and while the tools and library are amazing, writing an app the "GWT Way" (using all the design patterns) is cumbersome and difficult, especially for a one-man-show.
Closure is better in this regard (mostly by virtue of being a JavaScript library instead of a Java library, IMO), but it's still overkill for quick side projects where something like underscore.js would suffice.
Why would they use Closure instead of GWT? Closure is just JavaScript. No waiting for the GWT team to build the features you need, no having to build those features yourself. And in my experience, when I need cutting edge with GWT, I end up writing a bunch of wrappers for JavaScript functions, which makes me wonder why I'm not writing everything in JavaScript. (Like I said, the GWT library is very compelling and when planning a large project, Java often feels more comfortable for some.)
So no, I doubt they are killing GWT, but it would sure be nice to see them develop some comparable JavaScript tooling (as one of their main points for choosing Java as the language of GWT is because of the quality of the existing Java tools).
Java? so uncool! I wonder why Google doesn't use one of those sexy functional languages. They could at least use Scala.
I know this is some heavy-handed sarcasm but even still, "sexy" is not a word I think many people would use to describe functional languages.
[deleted]