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 In the real world
Search
Rémi Pradal
April 13, 2017
Programming
1k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Kotlin In the real world
- What you should know before starting a Kotlin project -
Android Makers Paris 2017
Rémi Pradal
April 13, 2017
More Decks by Rémi Pradal
See All by Rémi Pradal
Une application, plusieurs apk : pourquoi faire, et comment ?
rpradal
0
210
Other Decks in Programming
See All in Programming
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.6k
Hatena Engineer Seminar #37「言語モデルの活用に関する研究」
slashnephy
0
540
AI時代のPHPer生存戦略 ~「言語、もうなんでもよくない?」に本気で向き合う~
vivion
0
160
Welcome to the "Parametricity" 🏙️ − Generic だけど Specific な世界 −
guvalif
PRO
1
180
数百円から始めるRuby電子工作
tarosay
0
100
なぜ関数型プログラミングで「型」と「証明」が語られるのか #fp_matsuri
kajitack
3
1k
Go言語とトイモデルで学ぶTransformerの気持ち / fukuokago23-transformer
monochromegane
0
140
5分で問診!Composer セキュリティ健康診断
codmoninc
0
590
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
330
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
190
【やさしく解説 設計編 #1】「ドメイン駆動」と「実装駆動」ってなに? 〜設計の考え方を、たとえ話で学ぼう〜
panda728
PRO
1
130
『コードを書く以外の』エンジニアリング〜課金基盤移行プロジェクト推進のためのTips4選
yuriko1211
0
540
Featured
See All Featured
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
770
Un-Boring Meetings
codingconduct
0
350
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
350
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
980
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Navigating Weather and Climate Data
rabernat
0
400
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
420
Google's AI Overviews - The New Search
badams
0
1.1k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
410
Transcript
By OCTO & The Refiners What you should be aware
of before starting a Kotlin project Rémi Pradal Android Makers 2017 K TLIN IN THE REAL WORLD
Android developer discovering Kotlin – Circa 2015
None
CAN I USE KOTLIN ON A LEGACY PROJECT? IS KOTLIN
MATURE ENOUGH FOR A BIG PROJECT? MULTIPLE LANGUAGES MIX BEST PRACTICES?
By OCTO & The Refiners Testability
“Design and document for inheritance or else prohibit it” -
Effective Java Item 17, Joshua Bloch
KOTLIN DESIGN ENFORCES « FINAL BY DEFAULT » DESIGN How
can I create my mock easily ?
OPEN WHAT YOU NEED TO MOCK Introduces test related characteristics
in production code OPEN ALL THE THINGS Useful for POKO used by a library Not specific to the test workspace USE INTERFACES Complies with the interface segregation principle Can add many boilerplate code
By OCTO & The Refiners Code quality tooling
None
By OCTO & The Refiners Interoperability
Great Interoperability Usable today in a legacy project. But...
COMPLEXIFY ONBOARDING DIFFERENT LANGUAGE PARADIGMS LANGUAGE MULTIPLICITY IN A PROJET
MAY LEAD TO INTEROPERABILITY BOILERPLATE ISOLATE THE DIFFERENT CODE BASES PER FEATURE OR TECHNICAL LAYER
By OCTO & The Refiners Language longevity
KOTLIN IS NOT GOOGLE’S SWIFT
TAKEAWAYS Embrace language’s design specificities Code quality tools are not
as advanced as Java’s Try to keep your codebase coherent when mixing Java & Kotlin Remember you are not using Android’s official language
None