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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Ivan Bruel
October 21, 2015
Programming
1.3k
2
Share
Kotlin 101
A brief overview on how Kotlin works and how it pairs alongside Java in an Android world.
Ivan Bruel
October 21, 2015
More Decks by Ivan Bruel
See All by Ivan Bruel
iOS Architectures - Art or Science?
ivanbruel
1
140
Android 101
ivanbruel
2
220
Other Decks in Programming
See All in Programming
ハーネスエンジニアリングとは?
kinopeee
12
6k
クラウドネイティブなエンジニアに向ける Raycastの魅力と実際の活用事例
nealle
2
220
煩雑なSkills管理をSoC(関心の分離)により解決する――関心を分離し、プロンプトを部品として育てるためのOSSを作った話 / Solving Complex Skills Management Through SoC (Separation of Concerns)
nrslib
4
1k
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
3
170
Making the RBS Parser Faster
soutaro
0
500
Claude Codeをカスタムして自分だけのClaude Codeを作ろう
terisuke
0
140
Vibe NLP for Applied NLP
inesmontani
PRO
0
460
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
24
14k
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
2
150
AWSコミュニティ活動は顧客のクラウド推進に効くのか / Do AWS community activities help customers adopt the cloud?
seike460
PRO
0
150
tRPCの概要と少しだけパフォーマンス
misoton665
2
230
アーキテクチャモダナイゼーションとは何か
nwiizo
19
5.4k
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
Marketing to machines
jonoalderson
1
5.2k
Producing Creativity
orderedlist
PRO
348
40k
KATA
mclloyd
PRO
35
15k
Discover your Explorer Soul
emna__ayadi
2
1.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
190
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
320
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
エンジニアに許された特別な時間の終わり
watany
106
240k
The SEO Collaboration Effect
kristinabergwall1
1
430
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]