Having hung out in various Android communities, Kotlin has been something I’ve seen come up more and more frequently lately. I’ve been mostly avoiding it, because it seemed like a fad. Now that I know it’s not going anywhere, and is supported by Google, I feel like I need to give it a shot. Google promised that support for Java is still going strong, but I wouldn’t be surprised if they started to focus more on Kotlin going forward.
At this point, Kotlin is something you can’t afford to ignore as an Android developer. Not only that, but from what I’ve seen and read, Kotlin will make your life easier. I tried out a new library this year called Retrolambda, and now I can’t live without it. I can only imagine that Kotlin is full of nice stuff like lambdas that I probably don’t want to miss out on.
Google showed off a slick new set of libraries under the umbrella of architecture. For now, there are two main components in here. The first is lifecycle management, and the second is an ORM called Room. I didn’t find Room to be very compelling in comparison to other ORMs.
However, their set of lifecycle management tools will change how I write my apps forever. I haven’t had a chance to try it out yet, but this was my favorite thing to come out of the conference. Having to manage the lifecycle, prevent UI events from being triggered in the background, it’s all taken care of for you. Every question I had, they answered. I highly recommend checking this out.
- Autosizing textviews. You can now have your text shrink down to fit the available space, instead of always truncating.
- Adaptive icons. They are changing launcher icons again. You can now include two layers. One is the icon itself, the other is a background. They will allow OEMs to mask the background layer, so they can keep all app icons consistent.
- Custom fonts are actually supported now. You don’t have to do weird hacks to get it working. In the next version of Play Services they will also support over 800 fonts that you do not need to include in your app. They will all be bundled with Play Services, so you can just grab them from the system.
- Notification channels. These are categories for your notifications, so users can have more control over the types of notifications they see from your app. Previously they could only enable/disable all notifications. Once your app targets Android O, you will be required to use notification channels.
- Widget requests. If you’ve made a widget, you know that they are difficult for users to find. With this new feature in Android O, you can actually request users to pin your widget.
- The Play Store will be included in the new Android O emulator. So now you can actually test apps that require an up to date version of Play Services.
That's it for my list. What was your favorite announcement from Google IO?