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
0
130
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
870
Accessibility in Flutter
miquelbeltran
3
950
Flutter for Web - Codemotion Berlin 2019
miquelbeltran
1
140
Flutter Talk at CFCamp
miquelbeltran
2
580
Flutter X Firestore
miquelbeltran
2
160
Minimalism Driven Development
miquelbeltran
1
180
Flutter, DACHFest & Berlin
miquelbeltran
2
160
DACHFest App: From Idea to Appstore and Play Store in One Day
miquelbeltran
2
81
Sketchnoting & Lettering Workshop
miquelbeltran
3
220
Other Decks in Programming
See All in Programming
Optimizing JRuby 10
headius
0
580
大LLM時代にこの先生きのこるには-ITエンジニア編
fumiyakume
8
3.3k
The New Developer Workflow: How AI Transforms Ideas into Code
danielsogl
0
120
読書シェア会 vol.4 『ダイナミックリチーミング 第2版』
kotaro666
0
110
On-the-fly Suggestions of Rewriting Method Deprecations
ohbarye
3
5.3k
プロダクトエンジニアのしごと 〜 受託 × 高難度を乗り越えるOptium開発 〜
algoartis
0
210
ニーリーQAのこれまでとこれから
nealle
2
760
生成AIで知るお願いの仕方の難しさ
ohmori_yusuke
1
120
Golangci-lint v2爆誕: 君たちはどうすべきか
logica0419
1
250
Road to Ruby for A Linguistics Nerd
hayat01sh1da
PRO
0
150
LRパーサーはいいぞ
ydah
6
1.2k
UMAPをざっくりと理解 / Overview of UMAP
kaityo256
PRO
3
1.5k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
21k
Visualization
eitanlees
146
16k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Unsuck your backbone
ammeep
671
58k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.4k
Why You Should Never Use an ORM
jnunemaker
PRO
56
9.4k
It's Worth the Effort
3n
184
28k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
GraphQLとの向き合い方2022年版
quramy
46
14k
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