Kotlin and why should you care about it ?
ME
🇹🇠Born and bred in BKK, THAILAND
  🗼 Living in Tokyo for 3.5 years
0
 Advanced issue found▲
Â
 📱 Mobile and Open source, Kotlin, Swift C++ 💖
ME
github.com/kittinunf
@kittinunf
Ok, Kotlin
Statically typed language for JVM, Android, and the browser
Created by Jetbrains back in 2010
Open sourced, hit 1.0 released in Feb 2016Â
Seamlessly integrate with IntelliJ platform - also Android Studio
Kotlin ... why?
Inherent Java language restrictions
- Cannot add methods on platform types
- Problem with null
0
 Advanced issue found▲
Â
- Mutability is everywhere
- Force to evolve everything around Object
Kotlin - Crash course
Null safety | Enum class | Immutability |
---|---|---|
Type Inference | Properties & Fields | Data class |
Lambda | Extension Functions | High order functions |
Type-safe builder | Collection APIs | Kotlin-Java Interoperable |
Null Safety
Null Safety
Enum / Sealed class
Mutable/Immutable
Type reference
Properties & Fields
Properties & Fields
Data class
Lambda
Extension Function
High-order function
Type-safe Builder
Rich Collection API
val a = (1..10) + (1..10)
a.all { it > 0 } a.subtract(5..10)
a.any { it % 2 == 0 } a.sortedWith { .... }
a.average() a.sum()
a.distinct() a.take(3)
a.dropWhile { it < 5 } a.toList()/a.toArrayList()
a.filterNot { it > 0 } a.toSet()/a.toHashSet()
a.groupBy { if (it < 3) "<3" else ">3" } a.toCollection(MyAwesomeCollection())
a.intersect(2..4) a.toLinkList()
a.joinToString("-") a.toMap({ if (it % 2 == 0) "even" else "odd" },
{ it.toString })
a.max(), a.min() a.map { it to it.toString() }.unzip()
a.none { it < 1 } a.withIndex()
a.reversed() a.union(10..20)
a.sortedBy { it % 3 == 0 } a.zip(10..20)
Kotlin - Java Interop
Interop is one of the main target of Kotlin lang.
Add a couple lines of gradle/maven, ready to test
Top-notch intellij support
Versatility
Backend ? - Yes, ktor (https://github.com/Kotlin/ktor)
Frontend ? - Kotlin supports Javascript, see for youself at web-demo
Desktop ? - It is!, take a look at TornadoFx (https://github.com/edvin/tornadofx)
Versatility
iOS developer? No problem! Multi-platform support!!Â
Ok? Where to start?
Start with your test code today!!
IF you don't have test?
Wanna know more?
Join our slack channel #learning-kotlin
Hate chatting? f2f meeting every Friday 4-5 pm
I wanna learn with my pace? Fine, you can try https://play.kotlinlang.org/koans/overview
Q & A
Kotlin And Why should you care about it?
By Kittinun Vantasin
Kotlin And Why should you care about it?
- 839