All Projects → LouisCAD → kotlin-libraries-playground

LouisCAD / kotlin-libraries-playground

Licence: MIT license
A playground to gain a wider and deeper knowledge of the libraries in the Kotlin ecosystem. Also the official sample for gradle refreshVersions.

Programming Languages

kotlin
9241 projects
HTML
75241 projects

Projects that are alternatives of or similar to kotlin-libraries-playground

Layer5
Layer5, the service mesh company, representing every service mesh
Stars: ✭ 137 (-16.46%)
Mutual labels:  playground
Xgen
A Swift package for generating Xcode workspaces & playgrounds
Stars: ✭ 178 (+8.54%)
Mutual labels:  playground
Reddift
Swift Reddit API Wrapper
Stars: ✭ 215 (+31.1%)
Mutual labels:  playground
Widgetsplayground
前端组件管理系统
Stars: ✭ 150 (-8.54%)
Mutual labels:  playground
Swift Adventures In Monad Land
A Swift adventure with Optionals, Monads, bananas and squirrels
Stars: ✭ 166 (+1.22%)
Mutual labels:  playground
Swift Playgrounds
Learning Swift by working through example code in playgrounds
Stars: ✭ 199 (+21.34%)
Mutual labels:  playground
Ood Principles In Swift
💎 The Principles of OOD (SOLID) based on Uncle Bob articles.
Stars: ✭ 1,710 (+942.68%)
Mutual labels:  playground
Typescript Play
Better TypeScript playground
Stars: ✭ 236 (+43.9%)
Mutual labels:  playground
Code Sketch
一个你最初写代码的地方…
Stars: ✭ 176 (+7.32%)
Mutual labels:  playground
Kotlin Playground
Self-contained component to embed in websites for running Kotlin code
Stars: ✭ 214 (+30.49%)
Mutual labels:  playground
Whats New In Swift 4
An Xcode playground showcasing the new features in Swift 4.0.
Stars: ✭ 1,860 (+1034.15%)
Mutual labels:  playground
Web Maker
A blazing fast & offline frontend playground
Stars: ✭ 2,029 (+1137.2%)
Mutual labels:  playground
Docker
Docker playground
Stars: ✭ 202 (+23.17%)
Mutual labels:  playground
Coredataplaygrounds
Exploring Core Data through Swift playgrounds
Stars: ✭ 139 (-15.24%)
Mutual labels:  playground
Nef
💊 steroids for Xcode Playgrounds
Stars: ✭ 226 (+37.8%)
Mutual labels:  playground
Swift Summary
A summary of Apple's Swift language written on Playgrounds
Stars: ✭ 1,668 (+917.07%)
Mutual labels:  playground
Design Patterns In Swift
📖 Design Patterns implemented in Swift 5.0
Stars: ✭ 13,146 (+7915.85%)
Mutual labels:  playground
Julia Set Playground
A Swift playground that generates beautiful Julia set fractal images.
Stars: ✭ 236 (+43.9%)
Mutual labels:  playground
Playgrounds
Better playgrounds that work both for Objective-C and Swift
Stars: ✭ 2,586 (+1476.83%)
Mutual labels:  playground
Tiup
A component manager for TiDB
Stars: ✭ 207 (+26.22%)
Mutual labels:  playground

Kotlin Libraries Playground

A playground to gain a wider and deeper knowledge of the libraries in the Kotlin ecosystem

Also the official sample for gradle refreshVersions

Usage

Run all the samples

$ ./gradlew :kotlin-jvm:run

Run all the tests

$ ./gradlew :kotlin-testing:test

Test tests called FailingXXX are expected to fail

kotlin-libraries-playground_–_versions_properties__kotlin-libraries-playground__and_GitHub_Desktop

❤️ Contributors welcome! #hacktoberfest

We want to collect sample usage of Kotlin libraries, and the more the better!

You are very welcome to contribute your own library sample.

==> CONTRIBUTING.md

🤔How do you keep up with all the new stuff?

There are great resources to learn Kotlin.

But once you master the language, you are not done just yet.

You now face another challenging task: become familiar with its ecosystem of libraries.

With time, you want to both acquire:

  • a wider knowledge of what good libraries are available in the ecosystem in general
  • a deeper knowledge of some specific libraries particulary important for you

There are several inefficient ways to do that:

  • reading tutorial after tutorial and being stuck in a loop where you "learn" about things you don't practice
  • starting a new project from scratch for every libraries you come around - overwhelming
  • trying out the library in your main project at work - a project with a compilation time of 5 minutes, who uses an older version of the library than the tutorial assumes ; not sure your colleagues will be happy that you introduce a dependency you don't yet master.

🦅Widening your knowledge of libraries

The kotlin-libraries-playgound contains samples for a growing number of good Kotlin libraries including Apollo, CliKt, Kodein DI, Kodein DB, Exposed, Fuel, Hoplite, Klaxon, Konad, Konf, Kotlin Collections, Kotlin Faker, Kotlin IO, Kotlinpoet, Kotlin Statistics, Kotlinx Serialization, Ktor Client, Mordant, Moshi, OkHttp, OkIO, Picnic, Retrofit, Skrapeit, SqlDelight, Statemachine, ..., KoTest, Mockk, Spek, Strikt, Mockito, Junit-Jupiter, ... ...

You are very welcome to contribute new samples (see contributing section below).

For each library, we have a sample usage that is:

  • self-contained (own package and main function, usually one file)
  • simple, yet meaningful (no fancy coffee machine with termosiphon)

Here is for example the sample usage for kotlinx.serialization

package playground.kotlinx.serialization

fun main() {
    println("# Kotlin/kotlinx.serialization : Kotlin multiplatform / multi-format serialization")
    val user = User(name = "Robert", age = 42)
    val json = """{"name":"Robert","age":42}"""

    Json.encodeToString(user) shouldBe json
    Json.decodeFromString<User>(json) shouldBe user
}

@Serializable
internal data class User(
    val name: String,
    val age: Int
)

🔭 Deepening your understanding of one library

Clone this repository and make it yours.

Want to learn more about, say, OkHttp?

You don't have the hassle to create a new project.

Create a new branch called okhttp and try out things while you are reading the documentation

🎩 Easy dependency management with gradle refreshVersions

This playground is also the official sample for gradle refreshVersions

It makes it super easy to refresh dependencies

$ ./gradlew refreshVersions

And to add a new dependency without leaving the IDEA and with auto-completion :

❤️ A big thanks to our wonderful contributors !

Let_s_Build_a_Hat_Rack

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].