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
Kotlin 101
Search
Ivan Bruel
October 21, 2015
Programming
2
1.3k
Kotlin 101
A brief overview on how Kotlin works and how it pairs alongside Java in an Android world.
Ivan Bruel
October 21, 2015
Tweet
Share
More Decks by Ivan Bruel
See All by Ivan Bruel
iOS Architectures - Art or Science?
ivanbruel
1
130
Android 101
ivanbruel
2
210
Other Decks in Programming
See All in Programming
Julia という言語について (FP in Julia « SIDE: F ») for 関数型まつり2025
antimon2
3
960
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.7k
Perplexity Slack Botを作ってAI活用を進めた話 / AI Engineering Summit プレイベント
n3xem
0
660
A2A プロトコルを試してみる
azukiazusa1
2
430
F#で自在につくる静的ブログサイト - 関数型まつり2025
pizzacat83
0
300
Gleamという選択肢
comamoca
6
740
Benchmark
sysong
0
210
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
230
エンジニア向け採用ピッチ資料
inusan
0
120
Cloudflare Realtime と Workers でつくるサーバーレス WebRTC
nekoya3
0
410
人には人それぞれのサービス層がある
shimabox
3
680
複数アプリケーションを育てていくための共通化戦略
irof
10
3.9k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
123
52k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
RailsConf 2023
tenderlove
30
1.1k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
How to Ace a Technical Interview
jacobian
276
23k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
Building Applications with DynamoDB
mza
95
6.5k
Transcript
Kotlin 101 @ BLOCO.IO
Ivan Bruel Mobile Developer @ Faber Ventures twitter.com/ivanbruel github.com/ivanbruel
Faber-Dev Bruno Oliveira Mobile Developer Afonso Tsukamoto Backend Developer João
Horta Frontend Developer Marcelo Lebre Lead Developer Ivan Bruel Mobile Developer
Android and Java A brief history lesson
Java 6 2006 Android 1.0 2008 Java 7 2011 Java
7 support 2013 Java 8 2014 Java 8 support ??? Android and Java Timeline
Lollipop 20% KitKat 43% Jelly Bean 29% Ice Cream Sandwich
4% Gingerbread 4% Platform versions Android and Java
Java 7 63% Java 6 37% Android and Java Java
versions
What’s wrong with Java? Aside from installing the Ask toolbar
What’s wrong with Java? Null references
What’s wrong with Java? Raw types
What’s wrong with Java? Covariant Arrays
What’s wrong with Java? Checked Exceptions
Kotlin Statically typed programming language for the JVM, Android and
the browser
Kotlin Why does it matter? 100% interoperable with Java Java
6 compatible
Kotlin What does it remove from Java? Checked Exceptions Non-class
primitive types Non-private fields Static members Wildcard types
Kotlin What’s new? Lambdas Properties Data classes Primary constructors Function
literals & inline functions Class delegation Extension functions Type inference Null-safety Singletons Smart casts Declaration-site variance String templates Range expressions
Kotlin How does it work? Kotlin source Java source kotlinc
javac bytecode Android ART Dalvik
Kotlin Hello, World! { }
Kotlin Hello, World!
Kotlin Type inference
Kotlin Null-safety NullPointerException Optional Safe!
Kotlin Smart casts Smart cast Smart cast
Kotlin String templates
Kotlin Range expressions
Kotlin Higher order functions and lambdas
Kotlin In-line functions
Kotlin Extension functions
Kotlin Properties and Constructors
Kotlin Properties and Constructors
Kotlin Singletons
Kotlin Companion objects
Kotlin But wait, there’s more! kotlinlang.org “Why Kotlin is my
next programming language” @ medium reddit.com/r/kotlin stackoverflow.com
Get to know us faber-ventures.com
[email protected]