From 0263ab26d522f0436b4830b118b17f5cd0ea7bae Mon Sep 17 00:00:00 2001 From: benitav Date: Fri, 10 Jan 2025 10:53:51 +0200 Subject: [PATCH 1/2] Add JVM support, feature states polish --- client-sdk-references/kotlin-multiplatform.mdx | 12 ++++++++++-- client-sdk-references/swift.mdx | 2 +- installation/database-setup.mdx | 2 +- resources/demo-apps-example-projects.mdx | 4 ++-- 4 files changed, 14 insertions(+), 6 deletions(-) diff --git a/client-sdk-references/kotlin-multiplatform.mdx b/client-sdk-references/kotlin-multiplatform.mdx index cfd299cb..a799496a 100644 --- a/client-sdk-references/kotlin-multiplatform.mdx +++ b/client-sdk-references/kotlin-multiplatform.mdx @@ -19,7 +19,7 @@ sidebarTitle: Overview - The PowerSync Swift SDK is currently in a beta release. It is suitable for production use at this stage given you've tested your use cases extensively. Breaking changes are unlikely to occur. + This SDK is currently in a [**beta** release](/resources/feature-status). It is suitable for production use provided you've tested your specific use cases. ### SDK Features @@ -31,12 +31,18 @@ sidebarTitle: Overview * Enables subscription to queries for receiving live updates. * Eliminates the need for client-side database migrations as these are managed automatically. -Supported targets: Android and iOS. +Supported targets: Android, iOS and Desktop. ## Installation See the [SDK's README](https://github.com/powersync-ja/powersync-kotlin?tab=readme-ov-file#installation) for installation instructions. + + **JVM compatibility for Desktop** + * The following platforms are supported: Linux AArch64, Linux X64, MacOS AArch64, MacOS X64, Windows X64. + * See this [example build.gradle file](https://github.com/powersync-ja/powersync-kotlin/blob/main/demos/hello-powersync/composeApp/build.gradle.kts) for the relevant JVM config. + + ## Getting Started Before implementing the PowerSync SDK in your project, make sure you have completed these steps: @@ -114,6 +120,8 @@ import com.powersync.PowerSyncDatabase val driverFactory = DatabaseDriverFactory(this) // iOS val driverFactory = DatabaseDriverFactory() +// Desktop +TODO ``` b. Build a `PowerSyncDatabase` instance using the `PowerSyncBuilder` and the `DatabaseDriverFactory`. The schema you created in a previous step is provided as a parameter: diff --git a/client-sdk-references/swift.mdx b/client-sdk-references/swift.mdx index 0db330ec..a2bcf5a1 100644 --- a/client-sdk-references/swift.mdx +++ b/client-sdk-references/swift.mdx @@ -16,7 +16,7 @@ sidebarTitle: "Overview" - The PowerSync Swift SDK is currently in a beta release. It is suitable for production use at this stage given you've tested your use cases extensively. Breaking changes are unlikely to occur. + This SDK is currently in a [**beta** release](/resources/feature-status). It is suitable for production use provided you've tested your specific use cases. ## Kotlin Multiplatform -> Native Swift SDK diff --git a/installation/database-setup.mdx b/installation/database-setup.mdx index e474c449..3f5834ae 100644 --- a/installation/database-setup.mdx +++ b/installation/database-setup.mdx @@ -331,7 +331,7 @@ Notably, some "serverless Postgres" providers do not support logical replication ### Status of MongoDB support in PowerSync -In PowerSync nomenclature, Beta means the package is ready to be used for production given you have adequately tested your use case. We typically don't make any breaking API changes when moving from Beta to V1. +In PowerSync nomenclature, Beta means the package is ready to be used for production given you have adequately tested your use case. We typically don't make any breaking API changes when moving from Beta to V1 (learn more about feature states [here](/resources/feature-status)). #### Alpha (Completed) diff --git a/resources/demo-apps-example-projects.mdx b/resources/demo-apps-example-projects.mdx index 81b655f4..72f0f46d 100644 --- a/resources/demo-apps-example-projects.mdx +++ b/resources/demo-apps-example-projects.mdx @@ -69,9 +69,9 @@ Example projects are listed under backend they use, but you can easily wire up y #### Supabase Backend: * [Minimal 'Hello PowerSync' App](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/hello-powersync) - + * Includes Android, iOS and Desktop (JVM) targets. * [To-Do List App](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/supabase-todolist) - + * Includes Android, iOS targets. * [To-Do List App as a native Android application](https://github.com/powersync-ja/powersync-kotlin/tree/main/demos/android-supabase-todolist) From c592916a593966729dcae9d221d7b7bdb5daa706 Mon Sep 17 00:00:00 2001 From: DominicGBauer Date: Fri, 10 Jan 2025 11:26:16 +0200 Subject: [PATCH 2/2] chore: add desktop --- client-sdk-references/kotlin-multiplatform.mdx | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/client-sdk-references/kotlin-multiplatform.mdx b/client-sdk-references/kotlin-multiplatform.mdx index a799496a..d8c72c31 100644 --- a/client-sdk-references/kotlin-multiplatform.mdx +++ b/client-sdk-references/kotlin-multiplatform.mdx @@ -9,7 +9,7 @@ sidebarTitle: Overview Refer to the powersync-kotlin repo on GitHub. - + A full API Reference for this SDK is not yet available. This is planned for the stable release. @@ -118,10 +118,8 @@ import com.powersync.PowerSyncDatabase // Android val driverFactory = DatabaseDriverFactory(this) -// iOS +// iOS & Desktop val driverFactory = DatabaseDriverFactory() -// Desktop -TODO ``` b. Build a `PowerSyncDatabase` instance using the `PowerSyncBuilder` and the `DatabaseDriverFactory`. The schema you created in a previous step is provided as a parameter: