awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
russhwolf avatar

russhwolf/multiplatform-settings

0
View on GitHub↗
2,234 stars·79 forks·Kotlin·Apache-2.0·14 views

Multiplatform Settings

Multiplatform Settings is a configuration management library that provides a unified interface for key-value data persistence across Kotlin Multiplatform projects. It abstracts native storage mechanisms, allowing developers to manage application settings and user preferences consistently across Android, iOS, and desktop environments.

The library distinguishes itself by supporting the serialization of complex objects, enabling the storage of non-primitive data structures directly within the settings store. It incorporates reactive patterns to facilitate real-time data observation, ensuring that application state and user interfaces remain synchronized whenever stored values are modified.

To support reliable development workflows, the library includes non-blocking operations for data access and provides in-memory storage implementations. These testing utilities allow for the verification of business logic and data-dependent code without requiring access to actual persistent device storage or external hardware.

Features

  • Key-Value Persistence Stores - Offers a unified interface for persisting simple key-value data across multiple platforms.
  • Multiplatform Persistence - Provides a unified key-value storage interface specifically for Kotlin Multiplatform projects.
  • Configuration Management Libraries - Provides a library for managing application settings and preferences consistently across mobile and desktop environments.
  • Cross-Platform Applications - Enables consistent management of user preferences and application settings across diverse operating systems.
  • Data Change Listeners - Monitors stored values and triggers notifications to keep application state synchronized with data updates.
  • Asynchronous Storage Operations - Executes storage tasks using non-blocking functions to maintain application responsiveness.
  • Complex Data Serialization - Supports encoding and decoding of complex, non-primitive data structures for persistent storage.
  • Multiplatform Serialization Libraries - Enables encoding and decoding of complex objects into formats suitable for persistent storage across Kotlin targets.
  • Reactive Data Stores - Supports reactive observation of stored data to ensure application state remains synchronized.
  • Resource Abstraction Interfaces - Provides a unified interface that decouples application logic from platform-specific storage implementations.
  • Reactive State Synchronization - Keeps user interfaces in sync with underlying data models through reactive observation of stored values.

Star history

Star history chart for russhwolf/multiplatform-settingsStar history chart for russhwolf/multiplatform-settings

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Multiplatform Settings

Similar open-source projects, ranked by how many features they share with Multiplatform Settings.
  • mozilla/localforagemozilla avatar

    mozilla/localForage

    25,780View on GitHub↗

    localForage is a browser storage wrapper and key-value store that provides a unified JavaScript API for persisting data. It acts as an abstraction layer over IndexedDB, WebSQL, and localStorage, allowing web applications to save data offline. The library features a priority-based driver fallback system that automatically detects and selects the most capable storage engine available in the browser. It simplifies data management by providing an asynchronous interface for storing complex JavaScript objects and binary buffers without requiring manual serialization. The project covers broad capab

    JavaScript
    View on GitHub↗25,780
  • didi/mpxdidi avatar

    didi/mpx

    3,905View on GitHub↗

    MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p

    JavaScript
    View on GitHub↗3,905
  • tinyplex/tinybasetinyplex avatar

    tinyplex/tinybase

    5,110View on GitHub↗

    TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It serves as a local-first sync engine that merges distributed state using conflict-free replicated data types and logical clocks to ensure deterministic data convergence. The project features a schema validation library that converts external definitions from tools like Zod, Yup, and TypeBox into type-safe store definitions. It provides an infrastructure for real-time collaborative editing, utilizing synchronization with Automerge, Yjs, and PartyKit to maintain consistent state acr

    TypeScriptdatajavascriptreact
    View on GitHub↗5,110
  • vuejs/vuexvuejs avatar

    vuejs/vuex

    28,342View on GitHub↗

    Vuex is a centralized state management library for Vue.js applications. It provides a single source of truth for application data, ensuring consistent state across a component tree through a reactive data store. The system organizes the global state tree into independent, namespaced modules to prevent naming collisions and maintain code organization. It distinguishes between synchronous mutations for predictable state transitions and asynchronous actions for handling complex operations. The library includes cached getters for derived state, store lifecycle hooks for mutation interception, an

    JavaScriptjavascriptstate-managementtime-travel
    View on GitHub↗28,342
See all 30 alternatives to Multiplatform Settings→

Frequently asked questions

What does russhwolf/multiplatform-settings do?

Multiplatform Settings is a configuration management library that provides a unified interface for key-value data persistence across Kotlin Multiplatform projects. It abstracts native storage mechanisms, allowing developers to manage application settings and user preferences consistently across Android, iOS, and desktop environments.

What are the main features of russhwolf/multiplatform-settings?

The main features of russhwolf/multiplatform-settings are: Key-Value Persistence Stores, Multiplatform Persistence, Configuration Management Libraries, Cross-Platform Applications, Data Change Listeners, Asynchronous Storage Operations, Complex Data Serialization, Multiplatform Serialization Libraries.

What are some open-source alternatives to russhwolf/multiplatform-settings?

Open-source alternatives to russhwolf/multiplatform-settings include: mozilla/localforage — localForage is a browser storage wrapper and key-value store that provides a unified JavaScript API for persisting… vuejs/vuex — Vuex is a centralized state management library for Vue.js applications. It provides a single source of truth for… didi/mpx — MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from… tinyplex/tinybase — TinyBase is a reactive data store and in-memory relational database designed for client-side state persistence. It… warp-drive-data/warp-drive — Warp Drive is a reactive state management library designed to synchronize remote data with local application state. It… localforage/localforage — This project is an asynchronous key-value store designed for client-side data persistence. It provides a unified…

Curated searches featuring Multiplatform Settings

Hand-picked collections where Multiplatform Settings appears.
  • Kotlin development tools