TAGLINE It's easy to learn, so you can start making powerful apps right away.KEY FEATURES Numerous code samples covering all aspects of the Kotlin language.Coverage on native applications, web apps, microservices, and app testing.Step-by-step instructions are provided in a clear and concise manner.DESCRIPTION The book Kotlin In-Depth, Second Edition updates all the essential parts of Kotlin and incorporates modern principles, methodologies, and approaches for achieving efficient solutions. The book will guide you to successfully utilize Kotlin in developing JVM apps for desktop, mobile, web platforms and transferring existing Java codebases to Kotlin.The book begins with an introduction to the language and its environment, which will help you to grasp the fundamental concepts underlying Kotlin's design. The readers will learn the Kotlin tooling and the language's core syntax and structures. The book teaches Kotlin's multi-paradigm nature, which enables the creation of powerful abstractions by mixing parts of functional and object-oriented programming. This book discusses how to use standard Kotlin APIs like the standard library, reflection, and coroutine-based concurrency, as well as how to create your flexible APIs using domain-specific languages. The book demonstrates how to use Kotlin for more specific tasks such as testing, developing Android applications, developing Web applications, and developing microservices.After reading this book, you'll be prepared to dive deeper into the Kotlin ecosystem's more specialized areas, including Android applications, server-side development, native programming, and code sharing across different platforms.WHAT YOU WILL LEARNAcquire a deep understanding of all fundamental features of Kotlin programming.Utilize object-oriented and functional capabilities to create a flexible and reusable codebase.Leverage the Kotlin standard library to create custom domain-specific languages.Implement the Kotlin coroutines package to write asynchronous programming.A solid foundation of relevant development platforms, tools, and frameworks.WHO THIS BOOK IS FORThe book is primarily geared towards Java and JVM developers who want to learn Kotlin and explore modern and efficient development techniques. Knowing the basics of programming is helpful but not necessary.TABLE OF CONTENTS1. Kotlin - Powerful and Pragmatic2. Language Fundamentals3. Defining Functions4. Working with Classes and Objects5. Leveraging Advanced Functions and Functional Programming6. Using Special-Case Classes7. Exploring Collections and I/O8. Understanding Class Hierarchies9. Generics10. Annotations and Reflection11. Domain-Specific Languages12. Java Interoperability13. Concurrency14. Testing with Kotlin15. Android Applications16. Web Development with Ktor17. Building MicroservicesRead more