Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
What's New In Kotlin at Google IO 2019 - Summary
Miguel Beltran
May 29, 2019
Programming
0
110
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
Tweet
Share
More Decks by Miguel Beltran
See All by Miguel Beltran
Testing Everything with Flutter
miquelbeltran
1
500
Accessibility in Flutter
miquelbeltran
3
680
Flutter for Web - Codemotion Berlin 2019
miquelbeltran
1
99
Flutter Talk at CFCamp
miquelbeltran
2
290
Flutter X Firestore
miquelbeltran
2
130
Minimalism Driven Development
miquelbeltran
1
150
Flutter, DACHFest & Berlin
miquelbeltran
2
99
DACHFest App: From Idea to Appstore and Play Store in One Day
miquelbeltran
2
38
Sketchnoting & Lettering Workshop
miquelbeltran
3
180
Other Decks in Programming
See All in Programming
Amazon Lookout for Visionで 筆跡鑑定してみた
cmnakamurashogo
0
150
ふんわり理解するcontext
rukiadia
1
180
Records の使い方はこれでいいの? をみんなで考えたい / Java DO #20
gishi_yama
0
100
RustのWebフレームワーク周りの概観
hayao
0
170
2022年のモダンCSS改
tonkotsuboy_com
24
16k
Computer Vision Seminar 1/コンピュータビジョンセミナーvol.1 OpenCV活用
fixstars
0
100
Babylon.jsで作ったsceneをレイトレーシングで映えさせる
turamy
1
210
Lookerとdbtの共存
ttccddtoki
0
620
How GitHub Supports Vim License Detection, The Five Years Journey
othree
1
340
僕が便利だと感じる Snow Monkey の特徴/20220723_Gifu_WordPress_Meetup
oleindesign
0
110
実践 SpiceDB - クライドネイティブ時代をサバイブできるパーミッション管理の実装を目指して / Practical SpiceDB
lmt_swallow
0
120
Getting Started With Data Structures
adoranwodo
1
260
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
32
11k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
212
20k
What's in a price? How to price your products and services
michaelherold
229
9.4k
The Invisible Side of Design
smashingmag
290
48k
Intergalactic Javascript Robots from Outer Space
tanoku
260
25k
Bash Introduction
62gerente
598
210k
How GitHub (no longer) Works
holman
297
140k
Web development in the modern age
philhawksworth
197
9.3k
Six Lessons from altMBA
skipperchong
14
1.4k
Gamification - CAS2011
davidbonilla
75
3.9k
Agile that works and the tools we love
rasmusluckow
319
19k
Atom: Resistance is Futile
akmur
255
20k
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