Everything about Kotlin

Kotlin is a general purpose, open source, statically typed “pragmatic” programming language for the JVM and Android that combines object-oriented and functional programming features.

It is focused on interoperability, safety, clarity, and tooling support. Kotlin originated at JetBrains, the company behind IntelliJ IDEA, in 2010, and has been open source since 2012.

Why use Kotlin for Android Development?

Kotlin is a great fit for developing Android applications, bringing all of the advantages of a modern language to the Android platform without introducing any new restrictions:

  • Compatibility: Kotlin is fully compatible with JDK 6, ensuring that Kotlin applications can run on older Android devices with no issues. The Kotlin tooling is fully supported in Android Studio and compatible with the Android build system.
  • Performance: A Kotlin application runs as fast as an equivalent Java one, thanks to very similar bytecode structure. With Kotlin’s support for inline functions, code using lambdas often runs even faster than the same code written in Java.
  • Interoperability: Kotlin is 100% interoperable with Java, allowing using all existing Android libraries in a Kotlin application. This includes annotation processing, so data binding and Dagger work too.
  • Footprint: Kotlin has a very compact runtime library, which can be further reduced through the use of ProGuard. In a real application, the Kotlin runtime adds only a few hundred methods and less than 100K to the size of the .apk file.
  • Compilation Time: Kotlin supports efficient incremental compilation, so while there’s some additional overhead for clean builds, incremental builds are usually as fast or faster than with Java.
  • Learning Curve: For a Java developer, getting started with Kotlin is very easy. The automated Java to Kotlin converter included in the Kotlin plugin helps with the first steps.

For more detailed reasons you can refer :-

https://blog.mindorks.com/why-you-must-try-kotlin-for-android-development-e14d00c8084b

Resources to Learn Kotlin

Kotlin is an open source language with its own documentation and community, so we don’t provide documentation about the actual language here. If you’re new to Kotlin, we recommend you check out the following resources.

Documentations and Samples
Courses
  • Udacity course : “Kotlin Bootcamp for Programmers”. Essentials of the Kotlin programming language from Kotlin experts at Google. For programmers coming from Java or other object- oriented languages.
  • O’Reilly course: An 8-hour Kotlin course, “Introduction to Kotlin Programming,” by Hadi Hariri, a developer at JetBrains. Requires subscription; 10-day free trial available.
  • Treehouse course: “Kotlin for Java Developers” teaches Kotlin with an emphasis on Android. Requires subscription; 7-day free trial available.
  • Udemy course: “Kotlin for Beginners” teaches Kotlin from scratch. Requires subscription; new student discount available.
Youtube Videos
  • Android Development with Kotlin - Jake Wharton 

  • You can do better with Kotlin 

  • Introduction to Kotlin (Google I/O ’17)

  • Life is Great and Everything Will Be Ok, Kotlin is Here (Google I/O ’17)

Books

More books are listed on the Kotlin site.

Social Channels