As always, there was quite a few exciting announcement at Google IO, but IO is all encompassing of the Google ecosystem so I just want to focus in particular on what IO17 means for Android developers.
Android O has been available as an alpha preview for a few months, but as of IO 17 it is now available as a developer preview. This means its APIs are stabilising and updates generally will be bug fixes rather than breaking changes. Android O has many new features for developers, but the key highlights that most developers will be excited about are:
- Improved notifications. Notifications can now be more distinct and give users better experience, including custom backgrounds, snoozing and notification badges on application icons.
- Autofill. Apps can now use information stored in Chrome on the device to fill in forms within apps.
- Picture in Picture. Carry on watching videos while performing other tasks.
- Lifecycle Management API. Simplify managing configuration changes (e.g. rotation, language change, etc) with a new API.
- Fonts. Applying fonts to text in apps has been painful until now. Now fonts can be added as resources in a similar way to images and other resources.
- TensorFlowLite. This will be part of the TensorFlow open source project and will be part of Android O later in the year. Developers will be able to use Google’s machine learning techniques directly on the device in order to make their apps smarter.
To address the next billion devices coming online Google announced Android Go. Android Go can be thought of as “Android Lite”. It is specifically designed to run on low end devices with less than 1GB of memory. In emerging economies software running on cheap hardware is likely to be the first interaction people have with technology and the internet. Android developers need to design their apps in a very specific way in order to keep their maximum file size as small as possible (under 10mb) as well as providing better offline support for usage in low connectivity areas. Android Go will launch in 2018, so if you plan to target those markets, start thinking about making small and lite versions of your apps now.
However, with all that said, probably the most exciting announcement was official support of Kotlin as a development language for the Android platform. Unless you’re doing something very specific with the NDK then your native Android app would be built using Java.
When Apple released Swift in 2014 for iOS it was unexpected, but very well received. Swift reduces a lot of the boilerplate of Objective C and has language features which reduce errors in code, while adding support for higher order functions.
Kotlin is Android’s Swift. It is a modern, expressive programming language some Android developers have already been using for a while. Like Swift it is not specific to a mobile platform and can be used for a variety of programming activities but Android is arguably where it has made the most ground. Some developers have resisted learning Kotlin as it has not been clear how interested Google actually were in it, but now that it is officially supported there is really no excuse not to use it. Once developers are up to speed with Kotlin, we should see a reduction in the development times of applications, with an increase in quality, while making long term maintenance easier and cheaper.
Google IO and Waracle
All technology introductions and advancements trigger exciting changes in the mobile marketplace. It’s fair to say that here at Waracle, we’re obsessed with all things mobile. We know how important it is to stay engaged with the ecosystem so our teams are as up to date as possible and so our customers are receiving the best implementations for their projects. If you’d like to find out more or discuss a project you have we’d love to hear from you, contact Waracle today.