连接到无服务器后端的 Kotlin Multiplatform 应用程序,AWS Amplify 和 Firebase 都不能使用

Kotlin Multiplatform application that connects to serverless backend, neither AWS Amplify nor Firebase can be used

我有以下设置,一个连接到无服务器后端(无服务器框架、aws lambda、dynamodb)的 Kotlin 多平台应用程序。现在我想获得分析、身份验证和推送通知。 firebase 和 amplify 都可以很好地完成这项工作,但两者都存在问题。 Firebase 虽然它适用于多平台通用代码,但它在服务器端使用无服务器方法时效果不佳。虽然 amplify 根本不适用于通用代码。我有哪些选择?

我共享所有业务逻辑,只有 UI 代码是本机完成的。

对于 Kotlin Multiplatform 世界中缺少的任何东西,您都可以依赖依赖倒置。

所以在通用代码中你会拥有并使用

interface AmplifyAnalytics {
    fun sendEvent(event: Event)
}

在Android & iOS

class AmplifyAnalyticsImpl : AmplifyAnalytics {
    // My overridden functions
}

并且您可以通过注入实现将其连接到通用代码。