Last year there was some fervent discussion on the GWT contributor mailing list on supporting Scala as a language alternative for writing GWT applications. The discussion was interesting, but I hadn't heard anything since and had assumed nothing happened. Turns out, I was wrong. While I can't claim to know much about Scala, the idea of writing GWT based applications in another language sounded really interesting. Reading on, I found an even more exciting idea, in Jribble. As put on the GWT Scala site.

Java source code does not want to be a target language.  It has restrictions against logically sound constructs that would be bad Java practice to write by hand.  Lex Spoon proposed a plan for an intermediate step, "Loose Java," which we have christened Jribble (pronounced "Dribble").

Jribble is essentially Java with the interfering restrictions removed.  Lex: "It's like a puddle of Java. It's also like drivel, which is appropriate enough for a language no one writes and no one reads. Computers can entertain themselves with it well enough."

And what it could eventually lead to.

The Jribble concept is interesting as a target language, because it's likely to be an effective target for other JVM languages, not only Scala.  Any language that easily produces valid JVM bytecodes, but struggles to produce valid Java, might take advantage of Jribble as a bridge to GWT Javascript compilation.

Other JVM languages? Groovy, JRuby, Clojure anyone?

GWT is becoming the platform of choice for Java developers*. More so with the Instantiation purchase and collaboration with VMware/SpringSource. But the future could be even brighter. GWT could be the default compiler for writing rich web applications in any language of your choice. I'll be very excited to see how this evolves.

* I'm just guessing here based on the 23000+ mailing list subscriptions and 2000+ tags on Stackoverflow (when compared with other frameworks).
Blog Logo

Arthur Maltson



Technical Dev Blog

Technical development blog of Arthur Maltson. Covers many topics from Java to Ruby to DevOps.

Back to Overview