Kotlin
in a real-world project
Anton Rutkevich
JunoLab
Witaj, Kraków!
Hello, Krakow!
Who's out there? :)
About me
- Android
- Java, Kotlin, Groovy
- Gradle, mobile CI
Anton Rutkevich
Based on
6 months of production Android app development
FAQ
or
Why should you care at all?
Kotlin
- Open source, statically typed JVM language by JetBrains
- Built with "Effective Java" in mind
- Good support / community
History
- Announced in 2011
- Currently 1.0 Beta 2 (Dec 2015)
- 1.0 coming soon
- Bundled with IntelliJ IDEA 15
For Android
- Native support in Android Studio
- Strong Android support
- Java interop is seamless
- Existing Java libraries can be used
- < 1Mb library size; ~ 8.5 K Methods
Shut up and take my money method count
Library | Size | Method count |
---|---|---|
scala-library-2.11.7 | 5.7 Mb | 50811 |
groovy-2.4.4 | 4.6 Mb | 28768 |
kotlin-runtime-1.0.0-beta-2423 | 231 Kb | 1102 |
kotlin-stdlib-1.0.0-beta-2423 | 730 Kb | 7337 |
Safety
&
Clean code
Safety
Compile time safety
Compile time safety
Null safety
( Demo 1 )
Easy immutability
( Demo 2 )
Clean code
Higher order functions
( Demo 3 )
Extension functions
( Demo 4 )
Inlined functions
( Demo 5 )
Extension functions
+ RxJava
( Demo 6 )
A lot of other features
- Inferred types
- String templates
- Properties
- When (upgraded switch)
- Return if / when / try
- Ranges
- Unchecked exceptions
- Delegates
- Operator overloading
- Type-safe builders
- ...
Downsides
Tooling
- Compiles a bit slower than Java
- Android Studio is less smart than with Java
- No Lint
Code
- Harder to write hacky tests
- Must be careful when interacting with Java
Dziękuję!
Thank you!
Question?
Anton Rutkevich,
Blog: kotlin4android.com
@AntonRutkevich
+AntonRutkevich
anton.rutkevich
- http://kotlinlang.org
- Google "Kotlin Koans" - nice Kotlin exercises
- YouTube "Andrey Breslav - Flexible Types in Kotlin"
- http://www.slideshare.net/intelliyole/kotlin-why-do-you-care
- https://slides.com/antonrutkevich/kotlin-real-world-droidcon
Kotlin in a real-world Android project
By Anton Rutkevich
Kotlin in a real-world Android project
Kotlin in a real-world Android project, Droidcon Krakow 2015
- 1,757