Kotlin for Android development

Kotlin makes Android development much simpler, it is integrated with android studio. Many companies have started using it in production and there are plenty of job opportunities in mobile development.

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

  • Kotlin is now an official language on Android.
  • It’s expressive, concise, and powerful.
  • Best of all, it’s interoperable with existing Android languages and runtime.
  • Kotlin code is safer and more concise than Java code, and Kotlin and Java files can coexist in Android apps, so that Kotlin is not only useful for new apps, but also for expanding existing Java apps.
  • It contains safety features for nullability and immutability, to make your Android apps healthy and performant by default.
  • Also, Kotlin has all of the features and advantages of a functional language.
  • Google announced official support for Kotlin on Android at Google I/O 2017, and starting with Android Studio 3.0 Kotlin is built into the Android development toolset.

Advantages of Kotlin

1.Java Interoperability

Kotlin is 100% interoperable with Java. You can literally continue work on your old Java projects
using Kotlin. Leverage existing libraries of JVM, android and the browser.

2.Familiar Syntax

Kotlin isn’t some weird language as its syntax is familiar to any programmer coming from the OOP
domain.

3.Type Inference

Kotlin will infer your types wherever you feel it will improve readability.

4.Smart Casts

The Kotlin compiler tracks your logic and auto-casts types if possible.

5.Concise

Drastically reduce the amount of boilerplate code.

6.Default Arguments

No need to define several similar methods with varying arguments.

7.Named Arguments

Combined with default arguments, named arguments eliminates the need for builders.

8.Tool friendly

Choose any java IDE or build from command line.

9.Operator Overloading

A predefined set of operators can be overloaded to improve readability.

10.Null Safety

Kotlin resolves this by distinguishing between non-null types and nullable types and avoid entire classes of
errors such as null pointer exception.

Learning Resources or Kotlin:-

https://developer.android.com/kotlin/resources.html
https://kotlinlang.org/docs/reference/
https://github.com/KotlinBy/awesome-kotlin

Kotlin Frameworks:-