Appendix C: The Kotlin ecosystem

 

Over the years, Kotlin has cultivated a broad ecosystem of libraries, frameworks, and tools. In this appendix, we’ll give you some pointers to help you explore this ecosystem. Of course, the Kotlin ecosystem continues evolving and expanding, so a book isn’t the ideal medium to provide an always-up-to-date view of available libraries — online resources are better suited for this. The GitHub Topic page on Kotlin (https://github.com/topics/kotlin) and community-curated lists like Kotlin is Awesome (https://kotlin.link/) give a wider overview of the Kotlin universe.

This is also a good place to remind you once more that Kotlin is fully compatible with the entire Java library ecosystem. If you can’t find a Kotlin library to fit your use case, it’s perfectly fine to pick a Java library. Some Java libraries even offer Kotlin-specific extensions providing more clean and idiomatic APIs.

As a general-purpose programming language, the Kotlin ecosystem spans many topics and usage areas. Some of its major categories are:

  • Testing
  • Code coverage
  • Benchmarking
  • Documentation
  • Dependency injection
  • Networked applications
  • Serialization
  • Database access
  • Concurrent programming
  • User interface development

C.1 Testing

C.2 Code coverage

C.3 Benchmarking

C.4 Documentation

C.5 Dependency injection

C.6 Networked applications: servers and clients

C.7 Serialization

C.8 Database access

C.9 Concurrent programming

C.10 User interface development