Skip to content

soil-kt/soil

Repository files navigation

Soil

Release Kotlin

Compose-First Power Packs

Simplify Compose, Accelerate Development 🚀

  • Query - A seamless data fetching and caching. written more declaratively, leading to more readable code.
  • Form - A extensible validation control and form state management. minimizes the impact of re-composition.
  • Space - A flexible scoped state management. collaborating with the navigation library to create new scopes.

Try It Online

The Soil library for Kotlin Multiplatform now includes experimental support for Kotlin Wasm. If your browser supports WasmGC, you can run the sample app directly in the browser.

👉 Sample App

Source code: https://github.com/soil-kt/soil/tree/main/sample/

Note

Currently, the only browsers that support WasmGC are Chrome and Firefox. For the latest compatibility information, please visit https://webassembly.org/features/.

Download

Soil is available on mavenCentral().

dependencies {
    val soil = "1.0.0-alpha01"
    implementation("com.soil-kt.soil:query-core:$soil")
    implementation("com.soil-kt.soil:query-compose:$soil")
    implementation("com.soil-kt.soil:query-compose-runtime:$soil")
    implementation("com.soil-kt.soil:form:$soil")
    implementation("com.soil-kt.soil:space:$soil")
}

Compose Multiplatform compatibility

Supported targets:

  • Android
  • iOS
  • Desktop (JVM)
  • Web (Wasm)

Documentation

Please visit docs.soil-kt.com for Quick Start, guides of features and more.

  • Getting started with Query
  • Getting started with Form
  • Getting started with Space

Special Thanks

Thank you for featuring our library in the following sources:

License

Copyright 2024 Soil Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.