主要思想是拥有一种“序列化/反序列化模块”,可以在后端(使用Ktor)和Android应用程序之间共享。我不知道这能走多远,但我可以想象,路由是“公开”的,供前端应用程序使用(就像Retrofit对它的带注解的接口所做的那样),(去)序列化逻辑也是共享的。因此,基本上,是否可以在服务器(我猜使用Ktor)和Android应用程序(Java /Kotlin)之间不仅“共享”API响应的“POJO / POKO”表示,而且还”共享“具有预期参数的可能端点?
sulc1iza1#
是的。您可以使用多项目gradle构建构建来构建代码,如下所示:
这有点像SOLID的Dependency Inversion Principal。您在一个单独的模块(API模块)中定义数据交换的接口。然后,实现(服务器模块)和更高级别的代码(Android模块)都依赖于它的使用和实现。
Dependency Inversion Principal
sh7euo9m2#
我试过运行这样的东西,但它不以我的方式工作
Kotlin多平台模式下Ktor和Android之间无法共享数据,让我们来解决这个问题:
多平台和多平台是朋友.那么谁不被淘汰呢
由于多平台库构建成部件之一应该是. jar,你可以共享它的Android项目和Ktor项目。我不知道你可以在哪里找到他们,但我认为这是可能的。在我的情况下,这是不合适的,因为它不是跨平台的方式。你不能有iOS,macOS在这种情况下。你必须建立和存储您的. jar分开。Example of KMM libraryThere are some facts about build artifacts
2条答案
按热度按时间sulc1iza1#
是的。
您可以使用多项目gradle构建构建来构建代码,如下所示:
这有点像SOLID的
Dependency Inversion Principal
。您在一个单独的模块(API模块)中定义数据交换的接口。然后,实现(服务器模块)和更高级别的代码(Android模块)都依赖于它的使用和实现。sh7euo9m2#
我试过运行这样的东西,但它不以我的方式工作
主要答案:目前没有。
Kotlin多平台模式下Ktor和Android之间无法共享数据,让我们来解决这个问题:
多平台和多平台是朋友.那么谁不被淘汰呢
理论性回答:是的。
由于多平台库构建成部件之一应该是. jar,你可以共享它的Android项目和Ktor项目。我不知道你可以在哪里找到他们,但我认为这是可能的。
在我的情况下,这是不合适的,因为它不是跨平台的方式。你不能有iOS,macOS在这种情况下。你必须建立和存储您的. jar分开。
Example of KMM library
There are some facts about build artifacts