老项目, Android Java 、iOS OC,想封装一个前端中的后端,用 Rust 还是 go?

123 天前
 SilentOrFight

前提: 有一个项目,Android 客户端使用 Java 开发,iOS 客户端使用 OC 开发,目前这个项目想打包成系统提供给多个不同客户使用,同时根据客户需求定制开发一些个性化功能,由我们来维护。API 层面对接后端系统基本一致,但是 UI 层面根据客户需求可能有所不同。 目前我的想法是:客户端分离成 UI 层 + API 数据层,API 数据层可以封装成一个库,不管维护多少个客户、多少套系统都可以统一维护,减少维护成本。 有考虑过使用 Rust 、Go 等开发成 so 库,可以同时给到 Android 、iOS 两端使用,有没有人有过类似经验可以分享? Rust 好些还是 Go 好些?

709 次点击
所在节点    移动开发
4 条回复
yanheR
123 天前
感觉 c++比较多,或者 Kotlin Multiplatform?
bruce0
123 天前
之前看过高德分享的一篇文章, 他们好像用 C++写的底层公用库, 然后在不同的平台编译成.so, 然后让上层调用
SilentOrFight
123 天前
@yanheR #1 确实是 C++多一些,但是 C++要求也高一些,所以想找个好上手的语言。
KMM 的问题是 java 老项目兼容性可能不太好,我已经调研尝试过了,用了 kmm+ktor 请求库,java 调用协程的一些转化类又需要 Android 7.0 以上,目前项目是 Android 5.0 打底。
KMM 很适合用在 kotlin 、swift 的新项目上去做数据层的跨平台库。
SilentOrFight
123 天前
@bruce0 #2 目前也是考虑 rust 、go 编译成 so 库,性能强,维护一个 Api 库也简单些,也正在看 goMobile ,可以直接编译成 Android AAR 、iOS framework 。
goMobile 相当于帮你多做了一层胶水层对接 so 库。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1054542

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX