Appendix C. The Kotlin ecosystem

 

Despite Kotlin’s relatively young age, it already has a broad ecosystem of libraries, frameworks, and tools, most of which have been created by the external development community. In this appendix, we’ll give you pointers to help you explore this ecosystem. Of course, a book isn’t the perfect medium to describe a fast-growing collection of tools, so the first thing we’ll do is point you to an online resource where you can find more up-to-date information: https://kotlin.link/

And to remind you again, Kotlin is fully compatible with the entire Java library ecosystem. When looking for the right library for your problem, you shouldn’t need to restrict your search to libraries written in Kotlin—standard Java libraries work just as well. Now let’s look at some libraries that are worth exploring. Some of the Java libraries offer Kotlin-specific extensions with more clean and idiomatic APIs, and you should strive to use such extensions whenever they are available.

C.1. Testing

In addition to the standard JUnit and TestNG, which work well with Kotlin, the following frameworks offer a more expressive DSL for writing tests in Kotlin:

C.2. Dependency injection

C.3. JSON serialization

C.4. HTTP clients

C.5. Web applications

C.6. Database access

C.7. Utilities and data structures

C.8. Desktop programming