For the above: inspiration; Go source; flash version. Want 8 gophers? JS; flash. ...or rewritten for GopherJS? The Go gopher was designed by Renee French. The design is licensed under the Creative Commons 3.0 Attributions license. For more details: http://blog.golang.org/gopher

TARDIS Go transpiler (development paused)

The objective of the project is to save time and energy by enabling the same client-side Go code to be deployed on a very wide range of platforms.

TARDIS Go does this by transpiling Go->Haxe. The Haxe compiler then generates equivalent code for JavaScript, ActionScript/Flash, C++, C# and Java. By linking to cross-platform Haxe libraries like OpenFL, client-side Go code can run almost anywhere.

For example the Go animation running at the top of this page was transpiled into JavaScript. That same Go code also runs unaltered in ActionScript/Flash, and when transpiled into C++ also runs on: iOS, Android, Windows, OSX, Linux, and other less-used platforms.

The project works, with 90 go1.4 standard packages passing their tests, although it is not yet production-ready.

PLEASE NOTE: The advent of Go 1.5, with support for both iOS and Android, together with GopherJS, mean that Go is now well on the way to being able to create a cross-platform UI. Elliott has therefore paused development.

Micro FAQ:

The project was featured on the official Go blog - Go talks at FOSDEM 2014.

Bradfitz said kind words about the project on Reddit, mentioned it at GoCon 2014 in Tokyo and again at dotGo in Paris 2014.

Other Examples

mouse thumb Interactive mouse-tracking example: plays a sound when you put the gopher in the box (except on Safari or IE).

Nudity Detection: A Go library called from Haxe.

Gophers on iOS

iOS image TARDIS logo