Google I/O 2017 — Day 2
Day two was much longer and less dramatic than day one. The first session of the day was a deep dive into the new Architecture Components for lifecycle management, which rely on a view model to maintain state. From the docs:
The purpose of the ViewModel is to acquire and keep the information that is necessary for an Activity or a Fragment. The Activity or the Fragment should be able to observe changes in the ViewModel. ViewModels usually expose this information via
LiveDataor Android Data Binding. You can also use any observability construct from you favorite framework.
Noticeable was the emphasis on Observables, a staple of Reactive programming techniques that replace traditional callbacks with event subscriptions. The speakers were quick to point out that they were not mandating RxJava but instead promoting an easier way of achieving lifecycle-awareness using the reactive programming model.
The AndroidWear session did its best to hype the wearables platform, with new APIs to make complications (watch face data) easier to build and the ability to separately install watch apps for devices running 1.x (as is done with 2.x devices). While AndroidWear 2.o has potential, it’s hard to get past the fact that these devices are simply not readily available in Australia. The Google engineer I spoke with conceded that the 2.0 rollout was delayed but couldn’t give any details on hardware availability — especially those with NFC for use with payments.
The biggest new for the day was the announcement that the next version of Android Studio would be a major increment to 3.0. There’s a ton of new features but the main ones are:
— Tools to refactor apps into modules for instant apps
— Ability to inject real JSON into layout preview (via tools:)
— Addition of the Play Store (Finally!) and proxy support for the Android emulator
— Emulator bug reporting
— Build performance
Note that there’s a breaking change in Android Studio 3.0: If you use build flavors you may need to include a flavorDimensions parameter in your build.gradle.
Today we also received a lot of information around instant apps, which allow users to have a native experience without downloading the entire app. It’s clear that we need to re-structure our apps in a more modular fashion and re-think the way users authenticate and progress through the application. I think there’s huge potential for innovation here as we remove the friction involved in app downloads.
The day finished off with an amazing concert from LCD Soundsystem, but my highlight of the evening was meeting a group of YouTubers from around the world with a combined subscriber base of about 6 million that had been flown out by Google for the conference. Nothing makes you feel old like a bunch of new media entrepreneurs. The next post will cover the final day, including talks on Android’s new programming language: Kotlin. More photos from day two below.