Socket
Socket
Sign inDemoInstall

org.drewcarlson:mobiuskt-internal

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

org.drewcarlson:mobiuskt-internal

Kotlin multiplatform state managment framework.


Version published
Maintainers
1
Source

Mobius.kt

Maven Central

Kotlin Multiplatform Mobius implementation.

What is Mobius?

The core construct provided by Mobius is the Mobius Loop, best described by the official documentation. (Embedded below)

A Mobius loop is a part of an application, usually including a user interface. In a Spotify context, there is usually one loop per feature such as “the album page”, “login flow”, etc., but a loop can also be UI-less and for instance be tied to the lifecycle of an application or a user session.

Mobius Loop

Mobius Loop Diagram

A Mobius loop receives Events, which are passed to an Update function together with the current Model. As a result of running the Update function, the Model might change, and Effects might get dispatched. The Model can be observed by the user interface, and the Effects are received and executed by an Effect Handler.

'Pure' in the diagram refers to pure functions, functions whose output only depends on their inputs, and whose execution has no observable side effects. See Pure vs Impure Functions for more details.

(Source: Concepts > Mobius Loop)

By combining this concept with Kotlin's MPP features, mobius.kt allows you to write and test all of your pure functions (application and/or business logic) in Kotlin and deploy it everywhere. This leaves impure functions to the native platform, which can be written in their primary language (Js, Java, Objective-c/Swift) or in Kotlin!

Download

Maven Central Sonatype Nexus (Snapshots)

repositories {
  mavenCentral()
  // Or snapshots
  maven(url = "https://s01.oss.sonatype.org/content/repositories/snapshots/")
}
dependencies {
  implementation("org.drewcarlson:mobiuskt-core:$MOBIUS_VERSION")
  implementation("org.drewcarlson:mobiuskt-extras:$MOBIUS_VERSION")
  implementation("org.drewcarlson:mobiuskt-android:$MOBIUS_VERSION")
}

FAQs

Package last updated on 04 Apr 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc