Google I/O logo

Google I/O 2017: 8 key takeaways for Android developers

The annual Google developer conference, Google I/O 2017, has just ended, and I'm  excited by the vast array of announcements.

For Android developers, this year’s Google I/O was nothing less than a party. There were several amazing releases for developers to play with and eventually use to make better and more profitable apps down the road.

So, without wasting any time, here are the major takeaways from this year’s Google develeoper conference that no Android developer can afford to miss.

Mobile testing: Get up to speed quickly

Kotlin is now an official language for Android

There can’t be bigger or better news than this for developers who have enjoyed tinkering with Kotlin on Android. All our wishes have finally been fulfilled now that Google has declared Kotlin to be an officially supported programming language for Android, making it the third language, after Java and C/C++.

This brilliantly designed, statically typed language gives you a chance to use modern and powerful language features that make your development life fun, productive, and interesting once again. 

Kotlin code is much more concise and understandable than Java, without sacrificing quality and performance in any way. Kotlin has null-safety built into its type system, so that you can forget about those dreaded NullPointerExceptions crashing your app all the time. 

It is 100% interoperable with Java, letting you gradually introduce it into your existing projects without making any compromises. So what are you waiting for? It’s high time to get started with Kotlin.

Bonus: Google has started releasing its samples in Kotlin as well; check some out here.

Android O makes its way to beta

I had a chance to look at the first developer preview of Android O back in March, and I was extremely excited to see all the goodness it brought to the world of Android.

Now Google has released the beta (Developer Preview 2). It brings all the amazing things that I had talked about in an earlier post, such as Picture-in-Picture Mode, Notification Channels, AutoFill Framework, Adaptive Icons, and battery life improvements with restricted background processing capabilities.

Now developers get a chance to look at some more new features such as Notification Dots over app icons, smart AI-powered text-selection capabilities, an optimized garbage collector for faster runtime, up to 2X quicker boot times, improved security with Android Vitals, and much more.

The APIs are not yet final, however, so you'll need to wait until the release of Developer Preview 3 for those, but you can obviously start developing and testing the new features for your app right away. The earlier you start, the faster you can get your app ready for Android O.

Meet Android Go, a lightweight OS for budget devices

Android now has over 2 billion monthly active devices, but to reach the next billion users, Google needs to make the OS more resource-efficient. Android Go is its answer.

Android Go will basically be a lightweight version of Android O, which will automatically kick in for any device with no more than 1GB of RAM. The OS is significantly optimized to run smoothly on such low-end devices. 

Many developers are long overdue in their efforts to start making apps that can work perfectly on less memory, use less storage space, and conserve mobile data usage. Moreover, Google Play will automatically start promoting apps that meet these criteria and can run flawlessly on any entry-level device.

Android Studio gets a major update

The release of Android Studio 3 brings a lot of new and amazing features to the table, including outstanding Kotlin support baked directly into the IDE (no more fussing around with external plugins). The built-in conversion tool does a great job in converting your existing Java code into Kotlin code. 

You can also paste any Java code into a Kotlin file, and it will magically get converted into its Kotlin equivalent. But “equivalent” code doesn’t always mean “optimal” code, so try to write the Kotlin classes yourself whenever you can.

The Layout Editor also gets an update, with enhancements such as better drag-and-drop support and a new error panel. There is also an easy-to-use tool to implement Adaptive Icons in your app. Adding custom fonts in your app (targeting Android O) is now easier than ever with built-in support from the IDE.

This new IDE also includes a brand-new Android Profiler to get real-time data about your CPU, memory, and network activity. It is very simple to use and is packed with lots of features to help you build high-performance apps easily.

Improving the build speeds has always been a major concern for Android, and this new update brings considerable speedups to build times, especially for multi-module projects.

Tip: Download and install the latest Android Studio 3 Canary 1 and keep it alongside your stable Android Studio version to enjoy the best of both worlds.

Google Play Console is smarter than ever

Android Vitals is a great initiative to help developers understand their apps' performance and make them better. It can give you really useful insights to improve your app’s stability (crashes and ANRs), battery consumption (excessive device wakeups), and UI rendering time (frame rate).

Google has also added a new Device Catalog in Play Console showing rich data for thousands of Google-certified devices running Android, all in one place. The catalog shows you the installs, cumulative rating, and revenue for a particular device where your app is installed so that you can make the right business decisions based on that.

There are several other minor updates to various sections of the Play Console such as the Statistics page, Financial Reports page, Release Dashboard, Pre-Launch Report page, and more.

Android Architecture Components make development easier

Architecting Android apps properly with the aim of making them robust and easily testable has never been an easy task. Android developers encounter some common problems almost every day, so Google announced a set of awesome libraries to address these problems. 

Developers have always been up front regarding their complaints about how complex and tedious Android lifecycle management can be at times. But with the help of the new lifecycle aware components, you can manage your Activity and Fragment lifecycles, survive configuration changes, and avoid memory leaks easily.

Google has also released a SQLite object mapping library, Room, to make database management easy and hassle-free. With easy database migration, relationships, and RxJava 2 support, this new persistence library seems to be the right step forward.

Tip: Here is a complete guide telling you how Google wants you to architect your Android app.

Now everyone can build Android Instant apps

Google announced Instant Apps around this time last year but allowed only a select set of partners to built those amazing, bite-sized apps that can run instantly without downloading anything from Play Store.

But now, with the launch of the public SDK at this year’s Google I/O, Instant Apps are available to everyone. It's exciting news for all developers out there who can’t wait to get their hands on the SDK and start building Instant Apps. 

Google has also built support for this feature into the new Android Studio. The IDE now allows you to modularize your app and make it an Instant App with ease. You don’t need to create a new app or maintain a separate codebase for Instant Apps; all you need to do is modularize your app properly on the basis of separate, isolated features. 

An official in-depth guide with code samples is available from Google to help you create Instant Apps right now.

Firebase is getting better and is now open source

Google announced its plans for Firebase and its impressive suite of products at last year’s Google I/O, and in the span of just one year it has managed to gain massive popularity among developers, mainly because of its amazing simplicity, scalability, and ease of use.

And now, to take a step forward and improve transparency, it is open-sourcing some of its client SDKs on GitHub so that developers can have a look at how Firebase actually works under the hood and contribute to it as well. You should definitely check out the Firebase iOS SDK, JavaScript SDK, and Admin SDKs, which are currently available on GitHub, with more to come soon.

Since Fabric joined hands with Firebase, things have been evolving at a much faster pace. At Google I/O, the partners released the Firebase Phone Authentication, which lets you sign in users with their phone numbers seamlessly. Moreover, it's free for up to 10,000 verifications per month.

With a huge focus on app performance and quality, Google also announced the Firebase Performance Monitoring tool, which gives you deep insight on various performance metrics (such as app startup time, network performance, etc.). Previously, Firebase users had no visibility into these metrics. Now they can help you understand the exact experience your users are having and how you can optimize it to increase engagement, retention, and revenue.

Time to dig in

This year’s Google I/O delivered a lot of great things for the world of Android. There are some solid development tools and services that will undoubtedly make developers' lives easier.

The focus is now shifting more toward making high-quality apps that can perform well on even the most low-end devices available on the market. Google is trying hard to help us build better apps than ever before and reach the next billion users. 

Take a look at some of these new tool releases and let us know in the comments what interesting things they can help you with.

Mobile testing: Get up to speed quickly

Image credit: Google

Topics: Mobile