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
Vibe Codingの幻想を超えて-生成AIを現場で使えるようにするまでの泥臭い話.ai
fumiyakume
4
710
生成AI時代のコンポーネントライブラリの作り方
touyou
1
280
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
620
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
250
ご注文の差分はこちらですか? 〜 AWS CDK のいろいろな差分検出と安全なデプロイ
konokenj
3
570
The Niche of CDK Grant オブジェクトって何者?/the-niche-of-cdk-what-isgrant-object
hassaku63
1
610
ソフトウェア品質を数字で捉える技術。事業成長を支えるシステム品質の マネジメント
takuya542
2
15k
NPOでのDevinの活用
codeforeveryone
0
900
AI駆動のマルチエージェントによる業務フロー自動化の設計と実践
h_okkah
0
230
商品比較サービス「マイベスト」における パーソナライズレコメンドの第一歩
ucchiii43
0
180
新メンバーも今日から大活躍!SREが支えるスケールし続ける組織のオンボーディング
honmarkhunt
5
8.7k
なぜ「共通化」を考え、失敗を繰り返すのか
rinchoku
1
680
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
329
21k
Making the Leap to Tech Lead
cromwellryan
134
9.4k
Testing 201, or: Great Expectations
jmmastey
43
7.6k
The Language of Interfaces
destraynor
158
25k
YesSQL, Process and Tooling at Scale
rocio
173
14k
How GitHub (no longer) Works
holman
314
140k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
138
34k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
21
1.3k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Being A Developer After 40
akosma
90
590k
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]