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
140
Android 101
ivanbruel
2
220
Other Decks in Programming
See All in Programming
SourceGeneratorのマーカー属性問題について
htkym
0
220
ふつうのRubyist、ちいさなデバイス、大きな一年 / Ordinary Rubyists, Tiny Devices, Big Year
chobishiba
1
500
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
PHPのバージョンアップ時にも役立ったAST(2026年版)
matsuo_atsushi
0
250
モダンOBSプラグイン開発
umireon
0
180
AI 開発合宿を通して得た学び
niftycorp
PRO
0
170
Windows on Ryzen and I
seosoft
0
390
Cyrius ーLinux非依存にコンテナをネイティブ実行する専用OSー
n4mlz
0
240
Migration to Signals, Signal Forms, Resource API, and NgRx Signal Store @Angular Days 03/2026 Munich
manfredsteyer
PRO
0
150
AI時代の脳疲弊と向き合う ~言語学としてのPHP~
sakuraikotone
1
1.5k
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
620
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
410
Featured
See All Featured
GitHub's CSS Performance
jonrohan
1032
470k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.2k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
Side Projects
sachag
455
43k
Abbi's Birthday
coloredviolet
2
5.6k
We Are The Robots
honzajavorek
0
200
Testing 201, or: Great Expectations
jmmastey
46
8.1k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
9.9k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.7k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
500
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.8k
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]