By Xinye Ji
Google I/O was a rather anti-climactic one in some ways. People were expecting a whole new refresh like Lollipop was last year. A lot of people were expecting a new Nexus 5. (Which may or may not have been previewed when introducing the new USB Type C connector…) Instead, Google focused on support, stability and efficiency.
So, in the eyes of many, maybe Google I/O wasn’t so exciting as it was more of a ‘tock’ instead of a ‘tick’ kind of update. However, for both Google and Android developers, this update lets us breathe a sigh of relief. New letter (like L or, in this case, M) versions typically introduces more fragmentation issues that Android has been so infamously known for. This time around, while we see some features that are not supported in older versions of Android (such as the revamp of app permissions), the support and backwards compatibility of said features won’t completely break the app one hundred percent.
The Android M preview also released with its developer counterpart Android Studio 1.3 along with the 1.3 gradle plugin.
For those of you unaware, the Android NDK allows developers to work natively in C or C++. I’m personally quite excited about this, as this allows a much wider spectrum of developers to pick up Android development. I’m sure we’ll see some amazing libraries come out in the ensuing months, perhaps more hardware and low level control.
Additionally, during the “What’s new in Android Testing?” presentation. Many, many features were slated for “in the next few weeks.” It’s unfortunate, but it seems some things in the product were not ready in time for Google I/O.
This build is… buggy to say the least. The initial release of the 1.3 Canary build had some expected errors; like having trouble switching to the M preview build, and certain gradle issues that came with that. But it also had other issues, such as telling you that your overridden classes never implemented the super class, when it clearly did.
The issue has since been patched, and I understand this is a canary (very early beta) build, but come on guys…!!
One thing is very clear for this year’s Google I/O, however.
A Focus on Just Making Better Apps.
One big thing is the Captures feature on Android Studio. This allows you to get the CPU metrics for your connected device. I recall this use to be a giant cluster of irrelevant data. Now they have more intuitive UI and a very well detailed metrics that will help you search CPU hangups and memory leaks.
If any of you have done Android Development, one huge pain was setting up themes. This time around, there is a new theme and layout editor. The theme editor has some amazing items. It helps you integrate material design to your app, and it removes a lot of the boilerplate you need to generate.
Additionally, we have a revamped layout editor. This editor definitely seems new and improved. The demo at Google I/O didn’t generate a bunch of gibberish code, and the visual UI designer has piqued my interest. In fact, I suspect many developers may start using that rather than blindly typing into the XML file and hoping the UI looked as intended.
Sadly at the time of posting, this tool is not yet available on the preview.
Android Design Library:
Since I learned about material design, I’ve always wanted proper support for material design. At Google I/O this year, the Android Design Library was released, which has been basically everything I wanted from Google as far as implementing Material Design, as well as supporting Material all the way back to Froyo (Android 2.1).
There was a large chunk of support for testing during Google I/O. Including testing UI, proper unit testing, and automation of said tests. A lot of the testing process is now more tightly integrated with Android Studio. And I, for one, am very excited to check these out in my own geeky way.
The one major thing that all these things have in common is that they are incredibly mundane to the end user, but incredibly exciting to most developers. The updates to these tools will help us improve our development process to make better, more consistent, more reliable, and more powerful apps.