The purpose of this book is to guide a reader through the capabilities of the Kotlin language and give examples of using it for development of various applications be it desktop, mobile or Web. Although our primary focus is on the JVM and Android, the knowledge we’re sharing here to various extents applies to other Kotlin-supported platforms such as JavaScript, native and even multi-platform applications.
The book starts with an introduction to language and its ecosystem that will give you an understanding of the key ideas behind Kotlin design, introduce you to Kotlin tooling and present you the basic language syntax and constructs. In the next chapters we’ll get to know the multi-paradigm nature of Kotlin which allows you to create powerful abstractions by combining various aspects of functional and object-oriented programming. We’ll talk about using common Kotlin APIs such as the standard library, reflection, and coroutine-based concurrency as well as the means for creating your own flexible APIs based on domain-specific languages. In the concluding chapters, we’ll give examples of using Kotlin for more specialized tasks such as testing, building Android applications, Web development and creating microservices.