Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
Kotlin In the real world
Rémi Pradal
April 13, 2017
Programming
0
540
Kotlin In the real world
- What you should know before starting a Kotlin project -
Android Makers Paris 2017
Rémi Pradal
April 13, 2017
Tweet
Share
More Decks by Rémi Pradal
See All by Rémi Pradal
rpradal
0
110
Other Decks in Programming
See All in Programming
rshindo
2
290
o0h
PRO
1
1.5k
yosuke_furukawa
PRO
14
3.8k
sullis
0
120
wasabeef
1
560
e10dokup
0
440
akkeylab
0
340
osyo
1
370
shigeruoda
0
470
itosho525
0
360
makicamel
1
180
yamotuki
0
130
Featured
See All Featured
reverentgeek
27
1.9k
mongodb
23
3.8k
myddelton
109
11k
jnunemaker
PRO
40
4.5k
productmarketing
5
650
hannesfritz
27
930
dougneiner
55
5.4k
hatefulcrawdad
257
17k
searls
204
35k
maggiecrowley
8
400
orderedlist
PRO
329
35k
geeforr
332
29k
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