Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/oolong-kt/oolong
MVU for Kotlin Multiplatform
https://github.com/oolong-kt/oolong
coroutines kotlin kotlin-multiplatform multiplatform mvu unidirectional
Last synced: 5 days ago
JSON representation
MVU for Kotlin Multiplatform
- Host: GitHub
- URL: https://github.com/oolong-kt/oolong
- Owner: oolong-kt
- License: apache-2.0
- Created: 2018-07-31T18:05:06.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2022-09-21T15:43:22.000Z (about 2 years ago)
- Last Synced: 2024-08-02T09:27:34.758Z (3 months ago)
- Topics: coroutines, kotlin, kotlin-multiplatform, multiplatform, mvu, unidirectional
- Language: Kotlin
- Homepage: http://oolong-kt.org
- Size: 2.83 MB
- Stars: 301
- Watchers: 13
- Forks: 14
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-kotlin-multiplatform - oolong - MVU for Kotlin Multiplatform (Libraries / Architecture)
- kmp-awesome - Oolong - MVU for Kotlin Multiplatform (Libraries / 🏗 Architecture)
README
# Oolong
[![Build Status](https://img.shields.io/github/workflow/status/oolong-kt/oolong/build)](https://github.com/oolong-kt/oolong/actions?query=workflow%3Abuild)
[![Maven Central](https://img.shields.io/maven-central/v/org.oolong-kt/oolong.svg)](#download)
[![Sonatype Nexus (Snapshots)](https://img.shields.io/nexus/s/https/oss.sonatype.org/org.oolong-kt/oolong.svg)](#download)
[![License](https://img.shields.io/github/license/oolong-kt/oolong.svg)](LICENSE.md)
[![Slack chat](https://img.shields.io/badge/slack-kotlinlang/oolong-brightgreen.svg)](https://kotlinlang.slack.com/archives/CGK4R59KP)Oolong is an [Elm](https://guide.elm-lang.org/architecture) inspired Model-View-Update (MVU) implementation for Kotlin multiplatform. As the name implies, three core concepts comprise the foundation of this architecture:
* **Model** - a type to represent the program state
* **View** - a function to map the state to view properties
* **Update** - a function to update the state
By applying this simple pattern you can create composable, testable programs that can run on any platform. Oolong enables a common codebase for all platforms by using a `render` function which is implemented by each frontend.
## Documentation
Get started with Oolong by reading the [official guide](https://oolong-kt.org).
## Download
```kotlin
dependencies {
implementation("org.oolong-kt:oolong:2.1.1")
}
```