Chintan Soni

@chintansoni

What’s new for Developers in Google IO 2017

A short summary from Google IO 2017 Developer Keynotes, for all Android Devs out there those who don’t want to spend an hour watching it:

So, they had following big topics to talk on:

  1. A new Language support: Kotlin
  2. Updated Tools: Android Studio and Libraries
  3. App Quality and their Success
  4. Android Instant Apps
  5. Google Assistant for Developers
  6. Google and Artificial Intelligence and Machine Learning
  7. Google and Web Experience
  8. Develop Apps and Grow Business

Kotlin — A Matured Production-Ready programming language

Stephanie Saad Cuthbertson and Tor Norbye brilliantly showcased Kotlin and its features.

Kotlin’s out there since 5 years and its built by the same team who built Idea IntelliJ. Android Studio is going to provide outstanding support for this language feature. Famous apps like Pinterest, Expedia and few more have been using Kotlin in their production. This programming language is completely inter-operable with Java which means you play with members of one Kotlin class from another Java class and vice versa. You may want to add Kotlin Language support, but its completely optional. Okay, that sounds great.

Lets start with a simple POJO with 56 lines of code Customer.java which is full of getter-setter, equals and hashCode, and toString() methods:

public class Customer {
private String name;
private String email;
private String company;

public Customer(String name) {
this(name, "", "");
}

public Customer(String name, String email) {
this(name, email, "");

}

public Customer(String name, String email, String company) {
this.name = name;
this.email = email;
this.company = company;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

public String getEmail() {
return email;
}

public void setEmail(String email) {
this.email = email;
}

public String getCompany() {
return company;
}

public void setCompany(String company) {
this.company = company;
}

@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;

Customer customer = (Customer) o;

if (name != null ? !name.equals(customer.name) : customer.name != null) return false;
if (email != null ? !email.equals(customer.email) : customer.email != null) return false;
return company != null ? company.equals(customer.company) : customer.company == null;
}

@Override
public int hashCode() {
int result = name != null ? name.hashCode() : 0;
result = 31 * result + (email != null ? email.hashCode() : 0);
result = 31 * result + (company != null ? company.hashCode() : 0);
return result;
}

@Override
public String toString() {
return "Customer{" +
"name='" + name + '\'' +
", email='" + email + '\'' +
", company='" + company + '\'' +
'}';
}
}

But this when converted to Kotlin Customer.kt, code reduces to just one single line:

data class Customer(var name: String, var email: String = "",
var company: String = "")

Converting Code from Java to Kotlin:

Lets consider you know how to write a piece of code in Java but don’t know how to write it in Kotlin. So, first write your code in Java, and then simply copy and paste it into kotlin file.

Android Studio IDE automatically converts your Java code into Kotlin code, (and again you be like…)

Super Excited !

Updated Tools: Android Studio and Libraries

Android Studio

Android’s Tools Team focused on making IDE smarter and faster with build speed. Android Studio just got its new update Android Studio 3.0 Canary 1.

Android Studio just got 3 new Profiling tools called “Android Profilers”:

  1. Network Profiler
  2. CPU Profiler
  3. Memory Profiler

Android Studio also comes with preview feature for Debugging any APK and can use these Profilers with it.

Gradle Build and Sync speed reduced typically from 3 minutes to 2 seconds.

They have included PlayStore in Android Emulators.

Android Studio 3.0 includes Platform Support like Instant Apps Support, Android O’s: System Images, Adaptive Icons and Downloadable Fonts and XML Fonts

We, no more, have to be dependent on Android SDK manager. Android Dependencies are getting hosted on Maven repositories, so we can directly use from there.

maven { url 'https://maven.google.com' }

Also, we got a better File Explorer and improved Layout Inspector in Android Studio 3.0

Libraries:

Since long , We have been asking for these 3 major aspects for Android Application Development:

  1. Easier Android Framework

2. Opinionated Guide to best practices

3. Better way of dealing with life cycles

You would be glad to welcome Android Architecture.

We, now, got libraries for:

We will talk on this later in my next article ;-)

App Quality and their Success

Ellie Powers very nicely explained how to improve on App Quality Experience and create a great success story.

Device Catelog: Browse through device catelog with their detailed specifications

Device Targeting:

We can also set targeting rules to address a device specific issue.

Device Installs, Ratings and Revenue:

We can also see Installs, Ratings and Revenue by Device.

Android Instant Apps

So Android Instant Apps is now open to everyone. Android Studio 3.0 enables you to create Android Instant Apps. You don’t have to code anything separately for creating Instant Apps. In case, you are planning to support Instant Apps, you will just need to modularize your app:

Modularize your app

But how ???

Well, you don’t to worry at all. Google got you covered, they have created Modularize Refactoring Action tool for that as well. This tool will help you move your files to relevant Modules.

Modularize in Android Studio

Even they got tools for shrinking your Android Instant Apps:

  1. Space-Saving Shared Libraries
  2. Optimized Asset Delivery
  3. On-The-Wire Compression

Android O is now ready for Instant Apps with new Apis for:

  1. Efficient Runtime Sandbox
  2. Launcher Support
  3. Home Screen Presence

Google Assistant for Developers

What Google’s intelligence have brought for developers, Brad Abrams throws lights on things developers can do with Google Assistant SDK.

First of all, Google Assistant is now available for iOS as well.

Actions on Google

Google Assistant has got new UI options for making User session more interactive:

  1. Image Carousels
  2. Lists
  3. Suggestion Chips

Google Assistant is ready to back your apps :)

Google Assistant

Google Assistant also brings you libraries for your transactions:

Google-facilitated Payments: Your One-Stop Payment Module integration

Seamless Account Linking: Creating or Linking existing Payment Accounts

Seamless Account Linking

Re-engagement: Re-ordering from Order History

Re-engagement

Order Updates: Order Status updates on-the-fly

Order Updates

App Directory

Making your apps reach people is also important, and this is where Google Assistant will assist you. App Directory not only suggests you the apps but also gives you an option to “Try it”. Cooolll…!!

App Directory

Shortcuts: User can also create shortcut to your apps, so it can invoked right from the Assistant itself. +1.

Shortcuts

Google Developer Console:

Actions are well integrated in Google Developer Console that enables you to leverage power of Firebase and Google Cloud easily.

Google Assistant is compatible to work with these products:

You can get started using api.ai with Google Assistant to get your conversations more “Conversational” :)

api.ai

Google working on AI

Google has been investing huge resources in the field of AI (Artificial Intelligence) and ML (Machine Learning). Fei Fei Li (chief scientist, Cloud AI and ML) showcased things Google has been working on.

Democratizing Apis: Google has come up with these new Apis

Tensor Flow: Tensor Flow just got updated to Version 1.2 and its ready to get started.

Tensor Flow v1.2

Google Cloud Machine Learning Engine:

TPU — Tensor Processing Unit

If you want to learn and try Cloud TPUs on Google Cloud Engine, just sign up on g.co/tpusignup

Google On Web Experience

How Google is improving in Web on Chrome, Tal Oppenheimer(Product Manager, Chrome) had few updates for us, encourages us to build apps on PWA (Progressive Web Apps) and AMP (Accelerated Mobile Pages)

Progressive Web App: Twitter goes Progressive :) Check this out on Twitter Lite.

Twitter Lite

Have you ever wondered how easy it is to go for and build something on PWAs ? Wego’s PWA was built in just 2 months, by just one Software Engineer, who was new to Web Development. Woah..!!!

Wego

Many IT giants went progressive:

LightHouse: Tool to check your web app’s performance right from the chrome:

LightHouse

Develop Apps and Grow Business

My favourite topic comes up.. :)

Firebase

Ben Galbraith (Director, Product Management, Developer Product Group) started with throwing lights on Firebase console updates.

Firebase now provides live view in Analytics they call “Stream View” in the console itself.

StreamView

Cloud Functions: Much awaited and demanding feature from last year.

Things you can do with Cloud Functions:

Create your backend on Node ecosystem

Listen to updates from Realtime Database and send Notifications using Cloud Messaging:

Or creating thumbnails from images uploaded to Firebase Storage:

To know what Firebase Cloud Functions is all about, you can refer my article Firebase Cloud Functions : Introduction to triggers all you ever wanted

Firebase Hosting + Cloud Functions: Firebase Hosting, now, can talk to Cloud Functions and that enables you to create fully dynamic websites.

Firebase Performance: We all wanted to know where our app is lacking, and this is what Firebase got for us.

Firebase Performance Monitoring shows how your app is performing right from App start to Network Latency

Finally, Jason Titus wrapped up by announcing a developers challenge Actions Challenge for encouraging developers more for Google Assistant Platform and they have pretty good prizes too.

Thank you all the speakers for making this session wonderful. We learned and enjoyed a lot.

Hope you readers enjoyed reading this..!!!

Hacker Noon is how hackers start their afternoons. We’re a part of the @AMI family. We are now accepting submissions and happy to discuss advertising & sponsorship opportunities.
If you enjoyed this story, we recommend reading our latest tech stories and trending tech stories. Until next time, don’t take the realities of the world for granted!
Topics of interest

More Related Stories