Mastering Kotlin
- Length: 434 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2019-10-11
- ISBN-10: 1838555722
- ISBN-13: 9781838555726
- Sales Rank: #5223313 (See Top 100 Books)
Explore popular language features, Java to Kotlin interoperability, advanced topics, and practical applications by building a variety of sample projects
Key Features
- Understand and leverage the syntax, tools, and patterns by writing code in Kotlin
- Explore practical topics such as Java interop, concurrency with coroutines, and functional programming
- Discover how to use Kotlin for build targets like Android, iOS, JavaScript, and backend service
Book Description
Using Kotlin without taking advantage of its power and interoperability is like owning a sports car and never taking it out of the garage. While documentation and introductory resources can help you learn the basics of Kotlin, the fact that it’s a new language means that there are limited learning resources and code bases available in comparison to Java and other established languages.
This Kotlin book will show you how to leverage software designs and concepts that have made Java the most dominant enterprise programming language. You’ll understand how Kotlin is a modern approach to object-oriented programming (OOP). This book will take you through the vast array of features that Kotlin provides over other languages. These features include seamless interoperability with Java, efficient syntax, built-in functional programming constructs, and support for creating your own DSL. Finally, you will gain an understanding of implementing practical design patterns and best practices to help you master the Kotlin language.
By the end of the book, you’ll have obtained an advanced understanding of Kotlin in order to be able to build production-grade applications.
What you will learn
- Model data using interfaces, classes, and data classes
- Grapple with practical interoperability challenges and solutions with Java
- Build parallel apps using concurrency solutions such as coroutines
- Explore functional, reactive, and imperative programming to build flexible apps
- Discover how to build your own domain-specific language
- Embrace functional programming using the standard library and Arrow
- Delve into the use of Kotlin for frontend JavaScript development
- Build server-side services using Kotlin and Ktor
Who this book is for
If you’re a Kotlin developer looking to further their skills or a professional Java developer looking for better or professional resources in order to make a switch to Kotlin, this book is for you. Familiarity with Kotlin programming will assist with understanding key concepts covered in the book.
Table of Contents
- A New Challenger Approaches
- Programmer’s Multi-Tool: Flexible, Expressive, and Concise
- Understanding Programming Paradigms in Kotlin
- First Class Functions
- Modelling Real World Data
- Interoperability As a Design Goal
- Crossing Over: Working Across Java and Kotlin
- Controlling the Story
- Baby Steps: Integration Through Testing
- Practical Concurrency
- Building Your Own Tools: Domain-Specific Languages (DSLs)
- Fully Functional: Embracing Functional Programming
- Kotlin on Android
- Kotlin and Web Development
- Introducing Multiplatform Kotlin
- Taming the Monolith with Microservices
- Practical Design Patterns