In this course, I will guide you through a number of small examples and one modestly complex project. Through these examples, you'll learn the Kotlin language features needed to create professional, production Kotlin applications.
This isn't an in-depth reference covering every detail of the language. Rather, it's a tutorial covering the most important parts of the language, the 80% that I use every day. After completing this course, you'll still have more to learn, but you'll have everything you need to start being productive in Kotlin.
The table of contents of this course is not ordered by Kotlin features. As mentioned above, it is a tutorial, not a reference. Instead, the course is organized in terms of the business functionality of our sample project. We introduce new Kotlin features as the need organically arises in the context of adding new features to our sample project.
We'll be using using the IntelliJ IDE throughout the course. So you'll be learning the fundamentals of Kotlin in the context of one of the world's greatest IDEs. And that's really important because the Kotlin when teamed with IntelliJ provides the most productive programming environment I ever used.
In this lesson we create a Kotlin project in IntelliJ, build a hello world app and cover some Kotlin basics.
We create a simple class in Kotlin and compare it to the equivalent class in Java. Along the way we learn how to call Java from Kotlin and Kotlin from Java.
In this lesson, we setup a new Gradle project for the Blackjack app that we will be creating throughout this workshop.
In this lecture we setup a git repository for our project, so we can keep track of each revision of the blackjack application. If you are not interested in git, you can skip this lecture.
In this lesson we create the suitName getter in Card.
Final remarks and wrap-up.
I have been a software developer, trainer and consultant since the late 90s. I have worked with dozens of languages and platforms including server-side web, client-side web and mobile.
My projects include car configurators for global car companies, back office apps for small businesses and everything in between. My company, Smart Soft, does development, training and consulting.