DESCRIPTIONÊ
The purpose of this book is to guide a reader through the capabilities of Kotlin language and give examples of how to use it for the development of various applications, be it desktop, mobile or Web. Although our primary focus is on 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 the language and its ecosystem, which will give you an understanding of the key ideas behind the Kotlin design, introduce you to the Kotlin tooling and present you the basic language syntax and constructs. In the next chapters, we get to know the multi-paradigm nature of Kotlin which allows us 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 give examples of using Kotlin for more specialized tasks, such as testing, building Android applications, Web development and creating microservices.
Ê
KEY FEATURESÊ
_Ê Language fundamentals
_Ê Object-oriented and functional programming with Kotlin
_Ê Kotlin standard library
_Ê Building domain-specific languages
_Ê Using Kotlin for Web development
_Ê Kotlin for Android platform
_Ê Coroutine-based concurrency
Ê
WHAT WILL YOU LEARNÊ
By the end of the book youÕll obtain a thorough knowledge of all the basic aspects of Kotlin programming. YouÕll be able to create a flexible and reusable code by taking advantage of object-oriented and functional features, use Kotlin standard library, compose your own domain-specific languages, write asynchronous code using Kotlin coroutines library as well. YouÕll also have a basic understanding of using Kotlin for writing test code, web applications and Android development. This knowledge will also give you a solid foundation for deeper learning of related development platforms, tools, and frameworks.
Ê
WHO IS THIS BOOK FORÊ
The book is primarily aimed at developers who are familiar with Java and JVM and are willing to get a firm understanding of Kotlin while having little to no experience in that language. Discussion of various language features will be accompanied, if deemed necessary, by comparisons with their JavaÕs analogs, which should simplify the Java-to-Kotlin transition. Most of the material, however, is rather Java-agnostic and should be beneficial even without prior knowledge of Java. In general, experience in object-oriented or functional paradigm is a plus, but not required.
Ê
Table of Contents
1. Ê Ê Kotlin: Powerful and Pragmatic
2. Language Fundamentals
3. Defining Functions
4. Working with Classes and Objects
5. Leveraging Advanced Functions and Functional Programming
6. Using Special-Case Classes
7. Understanding Class Hierarchies
8. Exploring Collections and I/O
9. Generics
10.Ê Annotations and Reflection
11.Ê Domain-Specific Languages
12.Ê Java Interoperability
13.Ê Concurrency
14.Ê Testing with Kotlin
15.Ê Android Applications
16.Ê Web Development with Ktor
17.Ê Building Microservices