Hacker News new | past | comments | ask | show | jobs | submit login

Putting aside the fact that GWT 3.0 is about to come out... neither Gmail nor Google Calendar even use GWT. Like the overwhelming majority of Google's real-world web apps, they're primarily based on Closure Tools. GWT is only used in a handful of places these days, the most significant being Google Maps (assuming they didn't remove that during the last rewrite).

Despite being famously "backed by Google", I'm not sure about how many real-world Google properties actually use Angular yet. Most actual Google web apps still very much revolve around a technology stack from 5 years ago. Do as I say, not as I do...

Regardless, what does the JavaScript library for their web apps have to do with their native mobile apps?

Inbox is about 70% GWT code, 30% Closure.

The new Calendar uses the same architecture as Inbox, read into that what you will.

Google Sheets uses GWT in much the same way as Inbox.

Then there's AdWords, Google Shopping Expression, Flights, Hotels, Android Play Console, Google Wallet, Google Groups, and a bunch of new apps coming up.

There are 3,000 engineers internally using GWT, and we record 150,000 monthly active unique users hitting our SDK update servers. Last time I checked, about 20,000 unique domains use GWT.

Apple (iAds Workspace), Amazon (AWS Console), Nike, etc use GWT.

Google Maps has never used GWT, although there were internal prototypes.

As to what this has to do with native mobile apps, it has a lot.

We have built separate Hybrid apps. Hybrid not in the sense of PhoneGap, but in the sense that we mix native code and cross-compiled Java together.

Inbox has a core set of client side (non-UI) logic representing about 70% of the code base. This is written in Java.

GWT is used to cross-compile this code into a library for the Web, it is type-annotated with JsDoc, and then the remaining UI code is done with Closure. This gives us cross-language type-checking and optimization (Closure will flag as error if JS->Java or Java->JS calls are wrong)

j2objc is used to cross-compile the shared code into Objective-C for iOS. The remaining portion (UI critical code) is done with traditional XCode toolchain.

For GWT Users who are interested, I am giving a deeper presentation on GMail's Inbox architecture at this year's GWT.create conference (http://gwtcreate.com/).

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact