While Java is one of the most used programming languages in the world and is pretty much the official language of Android development, it’s not necessarily the best option for your Android projects.
Kotlin simplifies Java coding and fixes superfluous features that get in the way. Kotlin classes are significantly more compact, less verbose, and easier to read than their Java counterparts.
This resource brings together free courses and tutorials to help you learn Kotlin.
Why Kotlin?
There are a few factors that make Kotlin a great choice for Android development:
Interchangeability with Java
You can even have Java and Kotlin code side by side in the same project and everything will still compile perfectly.
Easy learning curve
Kotlin aims to be an improvement on Java, rather than a complete rewrite, so many of the skills you’ve acquired and honed during your Java career should still be applicable to your Kotlin projects.
Combine the best of functional and procedural programming
Why choose between functional and procedural? Kotlin gives you the best of both worlds by combining concepts from procedural and functional programming.
First-class Android Studio support
Android Studio makes setting up Kotlin in your project as simple as opening a few menus.
More concise code
If you compare a Java class and a Kotlin class that produce the same results, the one written in Kotlin will usually be much shorter. And as every developer knows, less code means fewer bugs!
More secure code
According to the official Android website, Kotlin helps you avoid null exceptions, thus creating Android apps using Kotlin are 20% less likely to crash.
1. Variables, basic types and arrays
In this first tutorial in the Kotlin From Scratch series, you’ll learn the basics of the language: comments, variables, simple types, arrays, and type inference.
2. Voidability, loops and conditions
In this tutorial, we’ll continue learning the language by looking at nullability, loops, and conditions in Kotlin. You will learn about loops, ranges, conditions, collections, and packages in Kotlin.
3. Ranges and Collections
Here you will learn about the ranges and collections API in Kotlin.
4. Basic Packages and Functions
In Part 4, looking at how to organize your code using packages, and then moving on to an introduction to functions in Kotlin.
5. More fun with features
Functions are at the heart of Kotlin, so we’ll take a closer look at them in this tutorial. You’ll be amazed at all the cool things you can do with functions in Kotlin!
6. Advanced features
Kotlin is a functional language and that means that functions are at the fore. The language is packed with features to make coding functions simple and expressive. In this post, you will learn about extension functions, higher order functions, closures and inline functions in Kotlin.
7. Classes and objects
In this post, you’ll get an introduction to object-oriented programming in Kotlin by learning about classes: constructors and properties, casting, and more advanced class features that Kotlin simplifies.
8. Advanced properties and classes
In this tutorial, you’ll continue to learn even more cool features that Kotlin has for object-oriented programming. You will learn more about properties and also look at advanced types of classes in Kotlin late-initialized properties, inlined properties, extension properties, data, enums, nested and sealed classes.
9. Abstract classes, interfaces, inheritance and type aliases
In this post, you will continue learning about object-oriented programming in Kotlin by learning about abstract classes, interfaces, and inheritance. For a bonus, you’ll also learn about type aliases.
10. Exception handling
In this post, you will continue learning about programming in Kotlin by learning about exceptions and how to handle them.
Learn Android development
To continue learning more about the Kotlin language, visit the Kotlin Documentation. Or check out some of our other posts on Android app development here on Envato Tuts!