Skip to content

Getting Started

Try It Online

Soil の Kotlin Multiplatform ライブラリは、実験的な Kotlin Wasm をサポートしています。 ご利用のブラウザが WasmGC に対応しているなら、そのままブラウザ上でサンプルアプリを動かすことができます。

👉 Sample App

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

ブラウザの WasmGC 対応状況について

現在、WasmGC に対応しているブラウザは Chrome と Firefox のみです。 最新の対応状況は https://webassembly.org/features/ を確認してください。

Download

  1. Kotlin Multiplatform プロジェクトまたは Android プロジェクトを用意する

おすすめ

新規に Kotlin Multiplatform プロジェクトを作成して試すなら、Kotlin Multiplatform WizardCompose Multiplatform Wizard が役立ちます。

  1. Maven Central をリポジトリに追加する
kts
repositories {
    mavenCentral()
}
  1. ライブラリパッケージの依存関係をモジュールの build.gradle ファイルに追加する
kts
dependencies {
    val soil = "1.0.0-alpha09"

    // Query
    implementation("com.soil-kt.soil:query-core:$soil")
    // Query for Compose
    implementation("com.soil-kt.soil:query-compose:$soil")
    // optional - experimental helpers for Compose
    implementation("com.soil-kt.soil:query-compose-runtime:$soil")
    // optional - receivers for Ktor (3.x)
    implementation("com.soil-kt.soil:query-receivers-ktor:$soil")
    // optional - Test helpers
    testImplementation("com.soil-kt.soil:query-test:$soil")

    // Form
    implementation("com.soil-kt.soil:form:$soil")

    // Space
    implementation("com.soil-kt.soil:space:$soil")
}
yaml
[versions]
soil = "1.0.0-alpha09"

[libraries]
# Query
soil-query-core = { module = "com.soil-kt.soil:query-core", version.ref = "soil" }
# Query for Compose
soil-query-compose = { module = "com.soil-kt.soil:query-compose", version.ref = "soil" }
# optional - experimental helpers for Compose
soil-query-compose-runtime = { module = "com.soil-kt.soil:query-compose-runtime", version.ref = "soil" }
# optional - receivers for Ktor (3.x)
soil-query-receivers-ktor = { module = "com.soil-kt.soil:query-receivers-ktor", version.ref = "soil" }
# optional - Test helpers
soil-query-test = { module = "com.soil-kt.soil:query-test", version.ref = "soil" }
# Form
soil-form = { module = "com.soil-kt.soil:form", version.ref = "soil" }
# Space
soil-space = { module = "com.soil-kt.soil:space", version.ref = "soil" }

Compose Multiplatform compatibility

対応しているターゲット:

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

What's Next?

気になる機能をさっそく使ってみましょう!

🌱 Query - 宣言的なデータ取得とキャッシュ機構を提供する

🌱 Form - フォームの状態管理と拡張性に優れたバリデーション機構を提供する

🌱 Space - 柔軟なスコープレベルの状態管理機能を提供する


Soil プロジェクトに興味がありますか?
GitHub で ⭐ を付けてもらえると今後の励みになります!