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
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
960
Accessibility in Flutter
miquelbeltran
3
1k
Flutter for Web - Codemotion Berlin 2019
miquelbeltran
1
180
Flutter Talk at CFCamp
miquelbeltran
2
680
Flutter X Firestore
miquelbeltran
2
230
Minimalism Driven Development
miquelbeltran
1
240
Flutter, DACHFest & Berlin
miquelbeltran
2
230
DACHFest App: From Idea to Appstore and Play Store in One Day
miquelbeltran
2
110
Sketchnoting & Lettering Workshop
miquelbeltran
3
280
Other Decks in Programming
See All in Programming
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
170
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
【SRE NEXT 2026 Lunch Session】一人目専任SREの立ち上げを加速する ― AIと進めたオンボーディングで2分を0.04秒にした話
pkshadeck
PRO
0
3.6k
進化を続けるGo toolsの現在地 / The Current State of Ever-Evolving Go Tools
hond0413
0
160
琵琶湖の水は止められてもNet--HTTPのリトライは止められない / You might be able to stop the water flow of Lake Biwa but you can't stop Net::HTTP retries
luccafort
PRO
0
620
Cloudflare is Agents
chimame
0
150
React本体のコードリーディング
high_g_engineer
1
140
PHP初心者セッション2026 〜生成AIでは見えない裏側を知る:今だからLAMPを通して仕組みを学ぶ〜
kashioka
0
870
php-fpmのプロセスが枯渇した日-調査・対処・そして本当にやるべきだったこと-
shibuchaaaan
0
250
そこに3びきプロダクトがいるじゃろう——生成AI時代における“価値が届かない理由”の構造
kosuket
0
440
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
【やさしく解説 設計編・中級 #6】良いアーキテクチャとは ~ 一本の登り道の、行き先 ~
panda728
PRO
0
210
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
290
The Art of Programming - Codeland 2020
erikaheidi
57
14k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
How Software Deployment tools have changed in the past 20 years
geshan
1
34k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.4k
Chasing Engaging Ingredients in Design
codingconduct
0
260
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
460
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.5k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
200
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
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