PowerSync is a sync engine for building local-first apps with instantly-responsive UI/UX and simplified state transfer. Syncs between SQLite on the client-side and Postgres, MongoDB, MySQL or SQL Server on the server-side.
PowerSync Kotlin SDK
This is the PowerSync client SDK for Kotlin. Supported targets are listed here.
Structure: Packages
Demo Apps / Example Projects
The easiest way to test the Kotlin SDK is to run one of our demo applications.
Demo applications are located in the demos/ directory. See their respective README's for testing instructions:
- demos/supabase-todolist: A simple to-do list application demonstrating the use of the Kotlin SDK and the Supabase connector.
- demos/android-supabase-todolist: A simple to-do list application demonstrating the use of the Kotlin SDK and the Supabase connector in an Android application.
Installation
Add the SDK to your project by adding the following to your build.gradle.kts file:
kotlin {
sourceSets {
commonMain.dependencies {
api("com.powersync:core:$powersyncVersion")
}
}
}
If want to use the Supabase Connector, also add the following to commonMain.dependencies:
implementation("com.powersync:connector-supabase:$powersyncVersion")
Apple setup
When building iOS, macOS, tvOS or watchOS apps with Kotlin Multiplatform and Kotlin/Native, you also
need to install the PowerSync SQLite extension with your app.
To do that, open the target project in XCode and add a package dependency on
https://github.com/powersync-ja/powersync-sqlite-core-swift.git.
You can also open the demo project (demos/supabase-todolist/iosApp) in XCode as an example.
For Android and JVM targets, the extension is bundled with the Kotlin SDK and no further setup is
necessary.
Formatting and Linting
This repo uses ktlint to handle formatting and linting. If you would like the IDE to automatically format your code and show linting errors install the ktlint plugin. Then in Settings go to Tools -> Ktlint -> Select Distract free (recommended) mode.
It will automatically use the rules set in the .editorconfig file.
Getting Started
Our full SDK reference contains everything you need to know to get started implementing PowerSync in your project.
Examples
For example projects built with PowerSync and Kotlin, see our Demo Apps / Example Projects gallery. Most of these projects can also be found in the demos/ directory.