Facebook is becoming a mobile company — or rather a “mobile best” one if you believe founder and CEO Mark Zuckerberg. It’s no secret that the company has had its hiccups when it comes to mobile applications, but in a new post on its engineering blog, Facebook reveals a build system that it uses to produce Android apps it calls Buck. Today, that system has gone open source and is available on Github.
Written by Michael Bolin, a software engineer at the social networking company, the post reveals that one of the plights Facebook faced was the inability of the standard set of Android tools to keep up with the company’s growth. It wasn’t until July 2012 that Bolin came up with a working prototype of Buck, what would soon be its newest Android build system.
The idea came up during Bolin’s first hackathon at the company. His objective: Create a build tool that favored the creation of many small modules rather than a handful of large modules. Earlier that year, Facebook had switched from building Webview apps to more native ones on Android. Previously, the company’s engineers had written a plethora of Java code, which just wasn’t able to keep up.
Buck went live a month after the hackathon and based on Bolin’s post, seems to achieve its purpose. A couple of weeks later, all build.xml files were removed from Facebook’s Android repository. In his own words:
It took less time to download Buck’s source code, build it from scratch, and then build the Android app with Buck than it took to build the Android app with Ant. From Day 1, Buck was twice as fast as Ant, cutting Facebook for Android app build times down from 3:40 to 1:30.
The rest of his post is rather technical in nature, but feel free to take a look through if you’re so inclined. Suffice it to say, Buck appears to have helped Facebook streamline all of its Android code and provides a useful design that helps aid in the development of smaller apps.
Here’s a video of Bolin talking about Buck at the Mobile DevCon conference in New York and how it’s now available as open source:
Photo credit: Justin Sullivan/Getty Images