Paul Krill
Editor at Large

Google Go ventures into Android app development

news analysis
Dec 12, 20143 mins

Google Go 1.4 adds official support for Android, as well as improved syntax and garbage collection

Google’s Go language, which is centered on developer productivity and concurrent programming, can now be officially used for Android application development.

The capability is new in version 1.4, released this week. “The most notable new feature in this release is official support for Android. Using the support in the core and the libraries in the golang.org/x/mobile repository, it is now possible to write simple Android apps using only Go code,” said Andrew Gerrand, lead on the Google Cloud Platform developer relations team, in a blog post. “At this stage, the support libraries are still nascent and under heavy development. Early adopters should expect a bumpy ride, but we welcome the community to get involved.”

Android commonly has leveraged Java programming on the Dalvik VM, with Dalvik replaced by ART (Android Run Time) in the recently released Android 5.0. OS. Open source Go, which features quick compilation to machine code, garbage collection, and concurrency mechanisms, expands options for Android developers. The upgrade can build binaries on ARM processors running Android, release notes state, and build a .so library to be loaded by an Android application using supporting packages in the mobile subrepository.

“Go is about making software simpler,” said Gerrand in an email, “so naturally, application development should be simpler in Go. The Go Android APIs are designed for things like drawing on the screen, producing sounds, and handling touch events, which makes it a great solution for developing simple applications, like games.”

Android could help Go grow, said analyst Stephen O’Grady, of RedMonk: “The Android support is very interesting, as it could eventually benefit the language much the same way Java has from the growth of the mobile platform.”

Beyond the Android capabilities, version 1.4 improves garbage collection and features support for ARM processors on Native Client cross-platform technology, as well as for AMD64 on Plan 9. A fully concurrent collector will come in the next few releases.

Introduced in 2009, the language has been gaining adherents lately. Go 1.3, the predecessor to 1.4, arrived six months ago. Go, O’Grady said, “is growing at a healthy pace. It was just outside our top 20 the last time we ran our rankings [in June], and I would not be surprised to see it in the Top 20 when we run them in January.”

Version 1.4 contains “a small language change, support for more operating systems and processor architectures and improvements to the tool chain and libraries,” Gerrand said. It maintains backward compatibility with previous releases. “Most programs will run about the same speed or slightly faster in 1.4 than in 1.3; some will be slightly slower. There are many changes, making it hard to be precise about what to expect.”

The change to the language is a tweak to the syntax of for-range loops, said Gerrand. “You may now write for range s { to loop over each item from s, without having to assign the value, loop index, or map key.” The go command, meanwhile, has a new subcommand, called go generate, to automate the running of tools generating source code before compilation. The Go project with version 1.4 has been moved from Mercurial to Git for source code control.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author