Awesome Kotlin
A curated list of awesome Kotlin frameworks, libraries, documents and other resources.
Website
- Kotlin Home
- Kotlin Documents
- Try Kotlin in your Browser
- Kotlin Blog
- Kotlin GitHub
- Kotlin Koans
- Issue Tracker
Libraries
- Valiktor - Valiktor is a type-safe, powerful and extensible fluent DSL to validate objects in Kotlin.
- FlexboxLayout - FlexboxLayout is a library project which brings the similar capabilities of CSS Flexible Box Layout Module to Android.
- Anko - Anko is a library which makes Android application development faster and easier.
- kotlinx.coroutines - Library support for Kotlin coroutines.
- RxDownload - A multi-threaded download tool written with RxJava and Kotlin.
- ActivityStarter - Android Library that provide simpler way to start the Activities with multiple arguments.
- SQLDelight - Generates Java models from CREATE TABLE statements.
- RxKotlin - Kotlin Adaptor for RxJava
- SuperSLiM - A layout manager for the RecyclerView
- Kotlin/Native - a LLVM backend for the Kotlin compiler
- Bubble-Picker - An easy-to-use animation which can be used for content picking for Android
- ktor - Kotlin Web backend framework.
- KBinding - Android MVVM framework write in kotlin.
- TornadoFX - Lightweight JavaFX Framework for Kotlin
- KotlinPreferencesObject - Kotlin Android Library, that makes preference usage in Kotlin simple and fun, using single object with fields binded to SharedPreferences.
- Kotter Knife - View "injection" library for Android.
- Koi - A lightweight kotlin library for Android, including many useful extensions, async functions and quick adapter.
- Wasabi - An HTTP Framework
- Kara Web Framework - Kara is a web framework for the JVM written in Kotlin.
- Kovenant - Promises for Kotlin
- KAndroid - Kotlin library for Android providing useful extensions to eliminate boilerplate code
- KAConf - KickAss Configuration. An annotation-based configuration system for Java and Kotlin
- Stateful - Stateful helps you delete all the boilerplate code for saving instance state and lets you forget about saving and restoring your fragment's/activity's state.
- Fuel - The easiest HTTP networking library for Kotlin/Android.
- funKTionale - Functional constructs and patterns for Kotlin
- Kotson - Gson for Kotlin, Kotson enables you to parse and write JSON with Google's Gson using a conciser and easier syntax.
- Kwery - Kwery is an SQL library for Kotlin.
- kotlin-core and its related reposiories - A full framework for making Android apps. Based on Anko and Kotson.
- Kotlin NoSQL - Kotlin NoSQL is a reactive and type-safe DSL for working with NoSQL databases.
- shadow - Android custom shadow view, can replace your CardView.
- Exposed - Exposed is a prototype for a lightweight SQL library written over JDBC driver for Kotlin language.
- Klaxon - Klaxon is a lightweight library to parse JSON in Kotlin.
- Kobalt - Kobalt is a modern and versatile build system.
- Debug Bottle - Debug Bottle is an Android runtime debug / develop tools written using kotlin language.
- jackson-module-kotlin - Module that adds support for serialization/deserialization of Kotlin classes and data classes.
- Kodein - Kodein: Kotlin Dependency Injection
- KBuilders - KBuilders turns your Java builders into beautiful Type-Safe Builders.
- Result - This is a tiny framework for modelling success/failure of operations in Kotlin.
- Spek - A Specification Framework for Kotlin
- Klutter - Library of many small useful things
- Kovert - an invisible, super easy and powerful REST and Web framework overt Vert.x or Undertow
- Injekt - native Kotlin dependency injection (object registry style)
- Solr-Undertow - standalone high perforamnce, simple Solr server. Embeddeable as a library.
- Gradle Kotlin DSL - Kotlin language support for Gradle build scripts.
- Kotgo - An android development framework on kotlin using MVP architecture.
- KillerTask - Android AsyncTask wrapper library, written in Kotlin
- Bansa - A state container for Kotlin & Java, inspired by Elm & Redux
- KotlinTest - A kotlin test framework inspired by ScalaTest
- kotlin.logging - A logging framework for Kotlin
- Kotlin User Onboarding - A simple and customizable android onboarding library written in Kotlin matching Material Guidelines.
- KotlinDiscreteMathToolkit - Set of extensions for Kotlin that provides Discrete math functionalities.
- Mystique - A generalized adapter for RecyclerView on Android which makes it easy to add heterogeneous items to a list
- Vaadin-On-Kotlin - A simple way to write full-stack component-oriented web apps
- Properlty - Simple configuration library with placeholders resolution and zero magic!
- NoiseView - Android library written in kotlin that add noise effect to image.
- GAnalytics - A tiny api layer for any analytics in application
- PreferenceHolder - Library that is making SharedPreference usage in Kotlin simple and fun.
- LastAdapter - Don't write a RecyclerView adapter again. Not even a ViewHolder!
- FerrisWheelView - Simple android library to present an animated ferris wheel.
- kotlin-result - A Result monad for modelling success or failure operations, inspired by Rust, Elm, Haskell & Scala.
- Kotlin-Gremlin-OGM - A type-safe object/graph mapping framework for Gremlin enabled graph databases.
- DynamoDB-utils - Collection of AWS DynamoDB utility functions. Query DSL, table cloner and batch writer.
- KBus - Dead simple EventBus for Android made with Kotlin and RxJava 2.
- AndroidCoroutineScopes - This lib implements the most common CoroutineScopes used in Android apps.
- Gradients - A curated collection of splendid gradients
- Kanary - A minimalist web framework for building REST APIs in Kotlin/Java.
- Kissme - Kissme is a multiplatform library providing encrypted key-value storage.
Samples
- kotlin-examples
- Tachiyomi
- Bandhook-Kotlin
- AndroidRivers
- MaterialAudiobookPlayer
- Lightning Browser
- Kotlin for Android Developers
- kotlin-dagger-example
- Kotlin101
- kotlin_android_base_framework
- kotlillon
- Today History
- tachiyomi
- GreenHellCompanionApp
- Gradle buildSrcVersions
Tutorials
- Kotlin for Android (I~IV)
- Streamline Android Java Code with Kotlin
- Building APIs on the JVM Using Kotlin and Spark
- Using Project Kotlin for Android
- Learn Kotlin while developing an Android App
- Writing Vaadin WebApps In Kotlin (I~V)
Articles
- Early Impressions of Kotlin
- Better Annotation Processing: Supporting Stubs in kapt
- One month with Kotlin
- Kotlin my productivity language
- Why Kotlin is my next programming language
- Quasar and Kotlin โ a Powerful Match
- The Kobalt diaries: Android
- Exploring the Kotlin standard library
- Swift is like Kotlin
- Backlog Android: From Java to Kotlin With Lots of Fun
- Type-safe Web with Kotlin
- Kotlin and Algebraic Data Types
- AdoraHack: Zero to Kotlin Hero
Videos
- Kotlin: A New Hope in a Java 6 Wasteland
- Advancing Android Development with Kotlin
- Functional Programming with Kotlin
- I built an app in Kotlin, and my client still paid me
- Programming Android with Kotlin
Books
- Kotlin for Android Developers - This book is not meant to be a language reference, but a tool for Android developers to learn Kotlin and be able to continue with their own projects by themselves.
- Kotlin in Action (MEAP) - Kotlin in Action takes experienced Java developers from the language basics all the way through building applications to run on the JVM and Android devices.
- Programming Kotlin - Programming Kotlin is aimed at Java developers who want to make the transition to Kotlin. It covers the complete Kotlin language from basic sytax through to concurrency and testing.
- Modern Web Development with Kotlin - Modern Web Development with Kotlin is a book by Denis Kalinin about Web development with Kotlin.
- Fundamental Kotlin - Fundamental Kotlin is a book focused on Kotlin programming language and its comparison to Java.
Tools
- sonarlint-intellij - An IDE extension that helps you detect and fix quality issues as you write code.
- IntelliJ IDEA 15 - The best Kotlin IDE, support Java, Groovy, Scala and Android development.
- dokka - Dokka is a documentation engine for Kotlin, performing the same function as javadoc for Java.
- kotlin-vim - Kotlin plugin for Vim. Featuring syntax highlighting and basic indentation
- kotlin-sublime-package - Sublime Text 2 Package for Kotlin Programming Language
- language-kotlin - Kotlin language support in Atom
- kotlin-plugin-eclipse - The Kotlin Plugin for Eclipse helps you write, run, debug and test programs in Kotlin language.
- android-parcelable-intellij-plugin-kotlin - Plugin which generates Android Parcelable boilerplate code in Intellji/Android Studio.
- CodeGlance - Intelij IDEA plugin for displaying a code mini-map similar to the one found in Sublime.
- kscript - Enhanced scripting support for Kotlin on *nix-based systems.
- detekt - Static code analysis for Kotlin.
Resources
- Kotlin coding puzzles - Set of programming challenges thats helps to improve whiteboard coding and problem-solving skills.
- /r/Kotlin
- Kotlin Trending on Github
- Kotlin Academy
- Curated Kotlin Resources