This is the code repository for Mastering Kotlin , published by Packt.
Learn advanced Kotlin programming techniques to build apps for Android, iOS, and the web
Mastering Kotlin is available as both a physical and e-book.
It can be purchased from Amazon or directly from Packt
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 book covers the following exciting features:
- 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
If you feel this book is for you, get your copy today!
All of the code is organized into folders. For example, Chapter02.
The code will look like the following:
data class Language(val name: String)
fun main(args: Array<String>) {
val language = Language("Kotlin")
println(language.name)
}
Following is what you need for this book: This book is aimed at beginner and intermediate Kotlin developers who are looking to improve their understanding of the language, as well as experienced Java developers looking for simple, practical examples of how to solve familiar problems using Kotlin. You should be familiar with object-oriented programming and have some familiarity with Java.
With the following software and hardware list you can run all code files present in the book (Chapter 1-).
Chapter | Software required | OS required |
---|---|---|
All | IntelliJ IDEA CE 2019.X | Windows/Mac/Linux |
13 | Android Studio 3.4+ | Windows/Mac/Linux |
15 | Xcode 10.2+ | Windows/Mac/Linux |
Nate Ebel is a software developer who enjoys building great software and helping others do the same. He has worked with Android since its early days, across a variety of projects, from creative and educational apps, mapping and navigation applications, to the evolution of robotic controllers.
Nate has a passion for technology, education, and software development, and enjoys opportunities to combine the three. He enjoys being involved in the Android developer community and is an active contributor through conference speaking, blogging, and event organizing.
He is working to help himself and others dream, learn, and create in an effort to positively impact others.
Click here if you have any feedback or suggestions.