Google releases source code for I/O 2018 app w/ Kotlin rewrite, Material Theming, more

Home / Developer Tools / Google releases source code for I/O 2018 app w/ Kotlin rewrite, Material Theming, more
Google releases source code for I/O 2018 app w/ Kotlin rewrite, Material Theming, more

Every year, Google releases the source code for the I/O Android companion app several weeks after the developer conference. The 2018 version is notable for a “comprehensive rewrite” featuring Architecture Components, Kotlin, Material Theming, and other modern elements.

The annual release is designed to demonstrate best practices for creating an app used by thousands of attendees to get important updates, book sessions, and navigate the I/O conference. This 2018 rewrite follows the Android team’s “current recommendations for building modern apps.”

In using Architecture Components introduced at I/O 2017 and finalized later that year, the app is more modular, testable, and maintainable. Google details the app’s architecture in its blog post, and provides the following diagram of the overall structure for developers.

Meanwhile, several Firebase services are implemented, including Cloud Firestore, Firebase Cloud Functions, Firebase Cloud Messaging, and Remote Config. Kotlin is also used, with Google calling it an “easy choice” to use Android’s newest supported programing language:

We loved Kotlin’s expressive, concise, and powerful syntax; we found that Kotlin’s support for safety features including nullability and immutability made our code more resilient; and we leveraged the enhanced functionality provided by Android Ktx extensions.

On the design front, the team notes that while the app launched before Material Theming, they “managed to sneak a couple in like the new Bottom App Bar with inset Floating Action Button. Its use allowed Google “to incorporate a lot of the conference’s branding elements,” speaking to how the latest iteration of Material Design allows developers to better customize and differentiate an app.

The app is available for developers on Github.

Source: 9to5google