Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
What's New In Kotlin at Google IO 2019 - Summary
Search
Miguel Beltran
May 29, 2019
Programming
160
0
Share
What's New In Kotlin at Google IO 2019 - Summary
Everything that was presented as new in Kotlin at Google IO in 5 minutes
Miguel Beltran
May 29, 2019
More Decks by Miguel Beltran
See All by Miguel Beltran
Testing Everything with Flutter
miquelbeltran
1
940
Accessibility in Flutter
miquelbeltran
3
1k
Flutter for Web - Codemotion Berlin 2019
miquelbeltran
1
170
Flutter Talk at CFCamp
miquelbeltran
2
650
Flutter X Firestore
miquelbeltran
2
190
Minimalism Driven Development
miquelbeltran
1
230
Flutter, DACHFest & Berlin
miquelbeltran
2
190
DACHFest App: From Idea to Appstore and Play Store in One Day
miquelbeltran
2
96
Sketchnoting & Lettering Workshop
miquelbeltran
3
260
Other Decks in Programming
See All in Programming
モダンOBSプラグイン開発
umireon
0
200
20260320登壇資料
pharct
0
160
The free-lunch guide to idea circularity
hollycummins
0
410
アーキテクチャモダナイゼーションとは何か
nwiizo
14
3.1k
Feature Toggle は捨てやすく使おう
gennei
0
410
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
290
存在論的プログラミング: 時間と存在を記述する
koriym
5
770
Rethinking API Platform Filters
vinceamstoutz
0
8.1k
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.8k
Kubernetesでセルフホストが簡単なNewSQLを求めて / Seeking a NewSQL Database That's Simple to Self-Host on Kubernetes
nnaka2992
0
200
ネイティブアプリとWebフロントエンドのAPI通信ラッパーにおける共通化の勘所
suguruooki
0
240
条件判定に名前、つけてますか? #phperkaigi #c
77web
2
950
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Code Reviewing Like a Champion
maltzj
528
40k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
860
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
230
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
340
The Spectacular Lies of Maps
axbom
PRO
1
680
Measuring & Analyzing Core Web Vitals
bluesmoon
9
800
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
100
Become a Pro
speakerdeck
PRO
31
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.7k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Transcript
What’s New in Kotlin Google I/O 2019
Back To The Future: 2017 2017 Keynote → Google announces
official Kotlin support Creation of Foundation: - Lead Language Designer - Control breaking changes via Language Committee
State Of Kotlin 2019 ➔ Preferred language by Google for
Android dev ➔ Best support in Jetpack libraries ◆ KTX, Jetpack Compose, etc. ➔ Used at Google ◆ Drive, Nest, Home, system UI, etc. ➔ Koltin/Native → Now Beta! ➔ Coroutines everywhere
Capturing ‘when’ val response = getResponse() when (response) { OK
-> process(response) CANCELED -> print("canceled") }
Capturing ‘when’ when (val response = getResponse()) { OK ->
process(response) CANCELED -> print("canceled") }
Experimental Annotation @Experimental(level = WARNING) annotation class NewAPI @NewAPI class
MyService val service = MyService()
Contracts fun MyClass?.notNull(): Boolean { contract { returns(true) implies(this@notNull !=
null) } return this != null }
Serializable Annotation @Serializable data class Customer( val id: Int, val
name: String ) Json.stringify(Customer.serializer(), customer)
Flow → Asynchronous cold streams, in preview! val values: Flow<Int>
= flow { delay(1000) emit(42) } values.collect { value -> println("Received $value") }
More Language Features! ➔ Unsigned Ints ➔ Better parallel builds
with Gradle ➔ Incremental Annotation Processor with KAPT ➔ New Type Inference Engine (helps with Rx!) ➔ Progressive Mode (more experimental features)
Better Community Support ➔ Code Samples in Kotlin ➔ New
Online Training w/ Udacity
None
None