Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Kotlin In the real world
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
230
Other Decks in Programming
See All in Programming
パスワード再設定メールのURLについて知っておこう
uyuki234
0
170
當我們開始不讀 Code - AI Agent 時代,Code Review 與 Clean Code 還剩下什麼?
jame2408
1
280
AWS CDKのカスタムリソースでContinuum(旧Security Agent)を実装した話 | Implementing Continuum (formerly Security Agent) via AWS CDK Custom Resource
akihisaikeda
2
160
AI時代のTerminal環境を UNIX哲学で設計・運用する
yasunori0418
1
130
AIに “答え“を書かせるのを やめてみた
___akari11
0
120
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
IBM Bob Dojo #1 仕様駆動開発入門
oniak3ibm
PRO
0
410
golang-bob.pdf
iwatsukayura
0
130
JIS keyboard support in Omarchy
lef237
0
150
パズルゲームの作り方 / how to make puzzle games
kaityo256
PRO
2
300
月間100万人のサービス刷新で、 技術選定をHonoに振り切った話
yutobara
8
6.8k
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
142
7.8k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
The Cult of Friendly URLs
andyhume
79
7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
630
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
The Curse of the Amulet
leimatthew05
3
16k
Designing for Performance
lara
612
70k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
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