Skip to content

Instantly share code, notes, and snippets.

@kvnxiao
Last active April 21, 2020 00:53
Show Gist options
  • Save kvnxiao/5f809440525304c918b553b4bbc8cd73 to your computer and use it in GitHub Desktop.
Save kvnxiao/5f809440525304c918b553b4bbc8cd73 to your computer and use it in GitHub Desktop.
awesome-kotlin-sorted-by-stars-2019-02-24.md

Awesome Kotlin (https://kotlin.link)

A curated list of awesome Kotlin related stuff inspired by awesome-java. :octocat:

List of Awesome List Badge Travis CI Build Status Badge Awesome Kotlin Badge

📰 RSS Feed of articles, videos, slides, updates (20 latest articles)

📰 RSS Feed of articles, videos, slides, updates (full archive)

Spread Awesome Kotlin!

Here awesome badge for your project:

[![Awesome Kotlin Badge](https://kotlin.link/awesome-kotlin.svg)](https://github.com/KotlinBy/awesome-kotlin)

Table of Contents

Links Back ⇈

Official Links Back ⇈

Resources Back ⇈

Books and Courses Back ⇈

Libraries/Frameworks Back ⇈

  •   4674 ktorio/ktor - Web backend framework for Kotlin. Easy to use, fun and asynchronous.
  •   2366 tipsy/javalin - A Simple REST API Library for Java/Kotlin.
  •    979 jooby-project/jooby - Modular micro web framework for Java and Kotlin
  •    778 perwendel/spark-kotlin - A DSL in idiomatic Kotlin for the Spark web framework.
  •    594 Kotlin/kotlinx.html - Kotlin DSL for HTML.
  •    501 hhariri/wasabi - An HTTP Framework built with Kotlin for the JVM.
  •    477 TinyMission/kara - Web framework written in Kotlin.
  •    299 SeunAdelekan/Kanary - A micro webframework for Kotlin
  •    251 hypercube1024/firefly - An asynchronous web framework for rapid development of high-performance web application.
  •    247 pgutkowski/KGraphQL - A GraphQL implementation written in Kotlin
  •    229 zhudyos/duic Distributed configuration center(分布式配置中心):new:
  •    186 kwebio/core - kweb.io Build rich live-updating web apps in pure server-side Kotlin.
  •    122 kohesive/kovert - An invisible, super easy and powerful REST and Web framework over Vert.x or Undertow.
  •    120 vert-x3/vertx-lang-kotlin - This module provides Kotlin language bindings including DSL and extension functions for vert.x 3
  •    117 taskworld/kraph - GraphQL request string builder written in Kotlin
  •    116 hexagonkt/hexagon - A Microservices framework that takes care of HTTP, serialization and storage.
  •     94 mvysny/vaadin-on-kotlin - A simple way to write full-stack database-backed component-oriented web apps
  •     83 jean79/yested - A Kotlin framework for building web applications in Javascript.
  •     79 ExpediaDotCom/graphql-kotlin - Code-only GraphQL schema generation for Kotlin
  •     79 MarioAriasC/KotlinPrimavera - Spring support libraries for Kotlin.
  •     73 brianmadden/krawler - A web crawling framework written in Kotlin
  •     41 gimlet2/kottpd - REST framework in pure Kotlin, inspired by spark-java
  •     36 danneu/kog - A web framework focused on simplicity, middleware, and functional composition
  •     20 sepatel/tekniq - Full-feature HTTP DSL Framework, HTTP Client, JDBC DSL, Loading Cache and Configuration
  •     11 bootique/bootique-kotlin - Provides extension function and features for smooth development with Bootique and Kotlin.
  •      9 phenax/h - HTML templating library written in Kotlin
  •      6 laviua/komock - HTTP/Consul/SMTP/Spring Config mocker framework written in Kotlin
  •      0 http4k/http4k - Toolkit for serving and consuming HTTP services in a functional and consistent way.
  •      0 skrapeit/skrape.it HTML testing and web scraping library providing an intuitive DSL to receive and either extract or check markup (a jSoup wrapper DSL with extra functionality) 🆕

Tests Back ⇈

  •   1648 nhaarman/mockito-kotlin - Using Mockito with Kotlin.
  •   1614 JetBrains/spek - A specification framework for Kotlin.
  •   1517 mockk/mockk - Pure Kotlin mocking library.
  •   1403 kotlintest/kotlintest - KotlinTest is a flexible and comprehensive testing tool for the Kotlin ecosystem based on and heavily inspired by the superb Scalatest.
  •    471 MarkusAmshove/Kluent - Fluent Assertion-Library for Kotlin.
  •    248 npryce/hamkrest - A reimplementation of Hamcrest to take advantage of Kotlin language features.
  •    148 winterbe/expekt - BDD assertion library for Kotlin.
  •    105 karumi/KotlinSnapshot - Verify your data with snapshot testing.
  •     83 robstoll/atrium - Fluent assertion library for Kotlin supporting i18n.
  •     44 EPadronU/balin - Balin is a browser automation library for Kotlin. It's basically a Selenium-WebDriver wrapper library inspired by Geb.
  •     36 qwertukg/SeleniumBuilder - DSL for Selenium 2.0. Provide a possibility to write tests in Kotlin builder style.
  •     30 dam5s/aspen - Aspen is an RSpec and Spek inspired test runner for Kotlin.
  •     26 xgouchet/Elmyr - A utility to make Kotlin/Java tests random yet reproducible
  •     19 dmcg/konsent - An acceptance test library for Kotlin.
  •     14 tyro/arbitrater - Arbitrater is a library for creating arbitrary (randomized) instances of classes by reflection for use in testing.
  •     11 neworld/kupiter - Kotlin DSL for Junit5
  •      6 dmcg/k-sera - A JMock wrapper for Kotlin.
  •      5 mvysny/DynaTest - Write your tests in DSL way. Runs on JUnit5 Platform.

Dependency Injection Back ⇈

Coroutines Back ⇈

Functional Programming Back ⇈

  •   1027 cbeust/klaxon - Lightweight library to parse JSON in Kotlin.
  •    608 SalomonBrys/Kotson - Gson for Kotlin, Kotson enables you to parse and write JSON with Google's Gson using a conciser and easier syntax.
  •    549 FasterXML/jackson-module-kotlin - Jackson module that adds support for serialization/deserialization of Kotlin classes and data classes.
  •     41 Jire/KTON - Object notation in pure Kotlin!
  •     23 s4kibs4mi/kotlin-jsonq - A simple Kotlin library to Query over Json Data.
  •     14 fluidsonic/fluid-json - A JSON library written in pure Kotlin.
  •      7 fboldog/ext4klaxon - Type Extensions (Long, Int, Enum, Date) for Klaxon.
  •      4 Shengaero/kotlin-json - A lightweight, stylistic, optimized, and multiplatform JSON library for Kotlin-JVM and Kotlin-JS
  •      4 Yummypets/JSON.kt - Kotlin JSON Parsing that infers type

Database Back ⇈

  •   4484 Raizlabs/DBFlow - A blazing fast, powerful, and very simple ORM android database library that writes database code for you.
  •   3488 jankotek/mapdb - MapDB provides concurrent Maps, Sets and Queues backed by disk storage or off-heap-memory. It is a fast and easy to use embedded Java database engine.
  •   2716 requery/requery - Modern SQL based query & persistence for Java/Kotlin/Android.
  •   2361 JetBrains/Exposed - Exposed is a prototype for a lightweight SQL library written over JDBC driver for Kotlin language.
  •   2192 square/sqldelight - Generates Java models from CREATE TABLE statements.
  •    307 dizitart/potassium-nitrite - Potassium Nitrite is a kotlin extension of nitrite database, an open source nosql embedded document store with mongodb like api.
  •    229 jasync-sql/jasync-sql - Kotlin port of mauricio's async driver for postgres/mysql.
  •    195 cheptsov/kotlin-nosql - NoSQL database query and access library for Kotlin.
  •    186 Litote/kmongo - KMongo - Kotlin toolkit for Mongo
  •    184 andrewoma/kwery - Kwery is an SQL library for Kotlin.
  •    151 x2bool/kuery - Typesafe SQL with Kotlin.
  •    135 consoleau/kotlin-jpa-specification-dsl - This library provides a fluent DSL for querying spring data JPA repositories using spring data Specifications.
  •    105 seratch/kotliquery - A handy database access library in Kotlin.
  •    102 s4kibs4mi/PultusORM - PultusORM is a sqlite ORM library for kotlin on top of sqlite jdbc driver.
  •     22 KotlinPorts/kt-postgresql-async - Kotlin/Gradle port of mauricio's async driver for postgres/mysql.
  •      8 shyiko/levelkt - LevelDB client for Kotlin and/or Java 8+.
  •      7 SubiyaCryolite/jds - Jenesis Data Store: a dynamic, cross platform, high performance, ORM data-mapper. Designed to assist in rapid development and data mining.
  •      6 Ganet/rxaerospike - RxJava2 wrapper for aerospike-client-java.
  •      1 fluidsonic/fluid-mongo - Coroutine support for MongoDB built on top of the official MongoDB Asynchronous Java Driver.
  •      0 pm-dev/kotlin-gremlin-ogm - Kotlin-gremlin-ogm is a type-safe object/graph mapping library for Gremlin enabled graph databases.

Tools Back ⇈

  •   1990 shyiko/ktlint - Kotlin linter.
  •   1709 arturbosch/detekt - Static code analysis for Kotlin.
  •    925 Kotlin/dokka - Documentation Engine for Kotlin.
  •    805 holgerbrandl/kscript - Scripting utils for Kotlin.
  •    364 jtransc/jtransc - JVM AOT compiler created in Kotlin.
  •    236 jmfayard/buildSrcVersions - Better Gradle dependencies management inside the IDE. Search for available updates.
  •     64 s1monw1/KtsRunner - Library for executing .kts files from regular Kotlin code using Java Scripting Engines API
  •     20 kohesive/keplin - Secure Kotlin scripting and binary lambda-scripts.
  •     11 cypressious/KotlinW - A small wrapper for the Kotlin compiler that can be used to execute .kts scripts.
  •     10 Vorlonsoft/GradleMavenPush - Gradle Script plugin to upload Gradle Android/Kotlin/Java Artifacts to Maven repositories (JCenter, Maven Central, ...).
  •      5 Vorlonsoft/EasyDokkaPlugin - Gradle Script plugin to generate documentation by Dokka for Kotlin and Java, Android and non-Android projects.

Desktop Back ⇈

Http Clients Back ⇈

Editors Back ⇈

Syntax Highlighters Back ⇈

Game Development Back ⇈

  •    837 AlmasB/FXGL - JavaFX 8 Game Library written in Java + Kotlin
  •    504 libktx/ktx - Kotlin utilities for LibGDX applications.
  •    289 Hexworks/zircon - An extensible text GUI library which targets multiple platforms and designed specifically for game developers, written in Kotlin.
  •    268 icela/FriceEngine - Make game developing easy again!
  •     11 vassilibykov/AdventKT - A Kotlin-based DSL for text adventures, with a partial replica of the classic Colossal Cave as an example.
  •   3450 puniverse/quasar - Fibers, Channels and Actors for the JVM.
  •    801 ingokegel/jclasslib - jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode.
  •    708 MicroUtils/kotlin-logging - Lightweight logging framework for Kotlin. Used as a wrapper for slf4j with Kotlin extensions.
  •    618 mplatvoet/kovenant - Promises for Kotlin and Android
  •    392 moove-it/fakeit - Generates realistic fake data — like names, emails, dates, countries — to be used in your Android development environment.
  •    335 moshbit/Kotlift - Kotlift is the first source-to-source language transpiler from Kotlin to Swift.
  •    300 cretz/asmble - Compile WebAssembly to JVM and other WASM tools.
  •    273 hotchemi/khronos - An intuitive Date extensions in Kotlin.
  •    196 holgerbrandl/krangl - krangl is a {K}otlin library for data w{rangl}ing
  •    182 soywiz/klock - Consistent and portable date and time utilities for multiplatform kotlin (JVM, JS and Common).
  •    150 Kotlin/kotlinx.atomicfu - The idiomatic way to use atomic operations in Kotlin.
  •    142 MehdiK/Humanizer.jvm - Humanizer.jvm meets all your jvm needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.
  •    142 yole/kxdate - Kotlin extensions for Java 8 java.time API
  •    118 kohesive/klutter - A mix of random small libraries for Kotlin, the smallest reside here until big enough for their own repository.
  •    113 TicketmasterMobileStudio/actions-on-google-kotlin - Port of official Node.js SDK to Kotlin. Complete with all features and tests and nearly identical API.
  •     99 h0tk3y/better-parse - A nice parser combinator library for Kotlin
  •     91 kohesive/solr-undertow - Solr Standalone Tiny and High performant server.
  •     80 Kotlin/kotlinx.reflect.lite - Lightweight library allowing to introspect basic stuff about Kotlin symbols.
  •     66 debop/koda-time - Joda Time Extensions in Kotlin. (From Java 8 use java.time instead)
  •     63 KotlinNLP/SimpleDNN - SimpleDNN is a machine learning lightweight open-source library part of KotlinNLP and has been designed to support relevant neural network architectures in natural language processing tasks.
  •     61 vjames19/kotlin-futures - A collections of extension functions to make the JVM Future, CompletableFuture, ListenableFuture API more functional and Kotlin like.
  •     56 consoleau/kassava - This library provides some useful kotlin extension functions for implementing toString() and equals() without all of the boilerplate.
  •     54 s1monw1/TLSLibrary - Simple TlsLibrary written in Kotlin - Provides DSL for creating TLS connections
  •     51 leprosus/kotlin-hashids - Library that generates short, unique, non-sequential hashes from numbers.
  •     44 holgerbrandl/kravis - A Kotlin grammar for scientific data visualization
  •     40 Jire/Strukt - Value types on the JVM, today!
  •     37 ziggy42/kolor - A library to print colored strings, with Kotlin.
  •     32 czyzby/kotlin-times - A simple utility library for readable loops.
  •     31 cesarferreira/kotlin-pluralizer - Kotlin extension to pluralize and singularize strings.
  •     31 phxql/aleksa - Aleksa is a small framework for writing Alexa Skills in Kotlin.
  •     23 MiloszKrajewski/stateful4k - State Machine Construction Kit for Kotlin
  •     23 pemistahl/lingua - A language detection library suitable for long and short text alike
  •     19 kunalsheth/units-of-measure - A type-safe dimensional analysis library for Kotlin.
  •     18 mplatvoet/progress - Progress for Kotlin.
  •     17 sargunster/CakeParse - Simple parser combinator library for Kotlin.
  •     16 spoptchev/scientist - A kotlin library for refactoring code. Port of GitHub's scientist.
  •     15 korlibs/kds - Optimized Kotlin Data Structures for JVM, JS and Common
  •     14 sargunster/KtUnits - Tiny unit conversion library for Kotlin.
  •     13 charleskorn/kaml - YAML support for kotlinx.serialization
  •     11 evoasm/kasm - x64/x86-64 assembler and execution library
  •      9 spoptchev/kotlin-preconditions - Precondition error checking in kotlin.
  •      5 JoelW-S/groothy - Kotlin implementation of Groovy Truth.
  •      2 meiblorn/kotidgy — Index-based text data generator written in Kotlin
  •      1 d-max/dsl-logger - Simple DSL for logging with logger abstraction layer
  •      1 nickhristov/krakdown - A native markdown parser written in Kotlin.
  •      1 sandjelkovic/kxjtime - Lightweight Kotlin extensions for java.time API

Extensions Back ⇈

Configuration Back ⇈

  •    159 npryce/konfig - A Type Safe Configuration API for Kotlin
  •     77 uchuhimo/konf - A type-safe cascading configuration library for Kotlin/Java, supporting most configuration formats
  •     68 config4k/config4k - A Kotlin wrapper for Typesafe Config
  •     60 jdiazcano/cfg4k - Flexible and easy to use config library written in kotlin.
  •     33 mariomac/kaconf - KickAss Configuration. An annotation-based configuration system for Java and Kotlin
  •     11 ufoscout/properlty - Simple configuration library with placeholders resolution and zero magic!
  •      8 daviddenton/configur8 - A Kotlin port of Configur8 - A Type Safe Configuration API for Kotlin, extendable to user-defined types.

Graphics Back ⇈

Data Science Back ⇈

Command Line Interface Back ⇈

  •    354 xenomachina/kotlin-argparser - Easy to use and concise yet powerful and robust command line argument parsing for Kotlin.
  •    262 ajalt/clikt - Clikt - Intuitive command line interface parsing for Kotlin.
  •     82 ajalt/mordant - Mordant - Full-featured text styling for Kotlin command line applications.
  •     38 jimschubert/kopper - A simple Kotlin option parser
  •     35 leprosus/kotlin-cli - Kotlin-CLI - command line interface options parser for Kotlin.
  •      3 aPureBase/arkenv - Fully fledged command line arguments / environment variables parser via simple Kotlin delegates

Browsers Back ⇈

Projects Back ⇈

  •   2713 corda/corda - Corda is a distributed ledger platform designed to record, manage and automate legal agreements between business partners.
  •    450 sdeleuze/spring-boot-kotlin-demo - Basic Spring Boot app in Kotlin.
  •    413 mixitconf/mixit - MiXiT website
  •    148 eddywm/KTFLITE - Computer Vision on Android with Kotlin and Tensorflow Lite.
  •     49 ssouris/petclinic-spring5-reactive - Spring 5 Reactive Petclinic app written in Kotlin.
  •     35 derveloper/kiny - Your super simple private serverless service running your kotlin functions like AWS lambda.
  •     31 ratpack/example-ratpack-gradle-kotlin-app - An example of a Kotlin Ratpack app built with Gradle.
  •     21 spolnik/JAlgoArena - JAlgoArena is a highly scalable programming contest platform which you can host on own infrastructure. It allows to define new problems and solve them in Kotlin and Java.
  •     12 IRus/kotlin-dev-proxy - Simple server for proxy requests and host static files written in Kotlin, Spark Java and Apache HttpClient.
  •      6 ivanpopelyshev/vertx-facebook-messenger - Seed project for facebook messenger bots. Vertx, Kotlin.
  •      6 rocketraman/kotlin-web-hello-world - This project shows how to do a web-based "Hello World!" with Kotlin in combination with various JVM - based web frameworks.
  •      5 mariomac/codebuilder - Demo app about asynchronous architectures for long-response-time web applications.
  •      5 yyunikov/spring-boot-2-kotlin-starter - Spring Boot 2.0 Kotlin application starter with configurations for Gradle, Mongo, JUnit 5 tests, logging, CircleCI and Docker compose.
  •      1 viniciusccarvalho/kodein-cloud-functions - Provides adapters to different cloud functions providers (AWS, Azure) to run vanilla kotlin functions defined as kodein modules
  •      0 cbedoy/DYUM - Basic Kotlin Implementation following MVP, and using Third Party library by Natural Analytics Language

Build tools Back ⇈

Desktop Back ⇈

  •     13 ice1000/Dekoder - A kotlin music player, materially designed.
  •     10 ruslanys/vkmusic - JavaFX and Spring-Boot based application for grabbing music from VK.com.

Examples Back ⇈

Idea Plugins Back ⇈

Android Back ⇈

Libraries Back ⇈

Frameworks Back ⇈

  •   1476 nekocode/kotgo - An android development framwork on kotlin using MVP architecture.
  •    836 codenameone/CodenameOne - Open source cross platform mobile development framework that offers write once run anywhere native development for iOS (iPhone/iPad), Android, Windows & more using Kotlin & Java
  •     33 lightningkite/kotlin-core - A full framework for making Android apps. Based on Anko and Kotson.
  •     23 Rasalexman/Flair - Powerful android architecture framework based on MVC pattern without fragments and activities with events system, view backstack and simple lifecycle. Clean Architecture
  •      3 hpost/kommon-mvi - Minimal framework for Model View Intent inspired Android applications written in Kotlin.

Projects Back ⇈

Extensions Back ⇈

Tools Back ⇈

  •    812 kiruto/debug-bottle - Debug Bottle is an Android runtime debug / develop tools written using kotlin language.

Tests Back ⇈

Kotlin JavaScript Back ⇈

JavaScript Back ⇈

Frontend Back ⇈

Game Development Back ⇈

Build Tools Back ⇈

Integration Back ⇈

  •    284 kotlin/ts2kt - Converter of TypeScript definition files to Kotlin declarations (stubs).

Kotlin Native Back ⇈

Projects Back ⇈

  •   5548 JetBrains/kotlin-native - Kotlin/Native is a LLVM backend for the Kotlin compiler, runtime implementation and native code generation facility using LLVM toolchain.
  •    489 JetBrains/kotlinconf-spinner - Simple spinner-like game intended to demonstrate capabilities of Kotlin/Native software stack.
  •     15 perses-games/konan-sfml - Kotlin native with SFML example

Kotlin User Groups Back ⇈

Europe Back ⇈

North America Back ⇈

South America Back ⇈

Australia/Oceania Back ⇈

Africa Back ⇈

Articles, Blog Posts Back ⇈

May 2017 Back ⇈

April 2017 Back ⇈

March 2017 Back ⇈

February 2017 Back ⇈

January 2017 Back ⇈

December 2016 Back ⇈

November 2016 Back ⇈

October 2016 Back ⇈

September 2016 Back ⇈

August 2016 Back ⇈

July 2016 Back ⇈

June 2016 Back ⇈

May 2016 Back ⇈

April 2016 Back ⇈

March 2016 Back ⇈

February 2016 Back ⇈

January 2016 Back ⇈

December 2015 Back ⇈

November 2015 Back ⇈

October 2015 Back ⇈

September 2015 Back ⇈

August 2015 Back ⇈

July 2015 Back ⇈

June 2015 Back ⇈

December 2014 Back ⇈

April 2013 Back ⇈

February 2013 Back ⇈

January 2013 Back ⇈

Videos Back ⇈

March 2018 Back ⇈

April 2017 Back ⇈

December 2016 Back ⇈

November 2016 Back ⇈

October 2016 Back ⇈

September 2016 Back ⇈

August 2016 Back ⇈

May 2016 Back ⇈

April 2016 Back ⇈

March 2016 Back ⇈

January 2016 Back ⇈

October 2015 Back ⇈

August 2015 Back ⇈

December 2014 Back ⇈

November 2014 Back ⇈

September 2014 Back ⇈

Slides Back ⇈

April 2017 Back ⇈

November 2016 Back ⇈

September 2016 Back ⇈

April 2016 Back ⇈

May 2015 Back ⇈

Webinars Back ⇈

November 2015 Back ⇈

September 2015 Back ⇈


CC0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment