V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SilentOrFight
V2EX  ›  移动开发

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

  •  
  •   SilentOrFight · 170 天前 · 838 次点击
    这是一个创建于 170 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    4 条回复    2024-07-03 16:38:57 +08:00
    yanheR
        1
    yanheR  
       170 天前
    感觉 c++比较多,或者 Kotlin Multiplatform?
    bruce0
        2
    bruce0  
       170 天前
    之前看过高德分享的一篇文章, 他们好像用 C++写的底层公用库, 然后在不同的平台编译成.so, 然后让上层调用
    SilentOrFight
        3
    SilentOrFight  
    OP
       170 天前
    @yanheR #1 确实是 C++多一些,但是 C++要求也高一些,所以想找个好上手的语言。
    KMM 的问题是 java 老项目兼容性可能不太好,我已经调研尝试过了,用了 kmm+ktor 请求库,java 调用协程的一些转化类又需要 Android 7.0 以上,目前项目是 Android 5.0 打底。
    KMM 很适合用在 kotlin 、swift 的新项目上去做数据层的跨平台库。
    SilentOrFight
        4
    SilentOrFight  
    OP
       170 天前
    @bruce0 #2 目前也是考虑 rust 、go 编译成 so 库,性能强,维护一个 Api 库也简单些,也正在看 goMobile ,可以直接编译成 Android AAR 、iOS framework 。
    goMobile 相当于帮你多做了一层胶水层对接 so 库。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5264 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 08:55 · PVG 16:55 · LAX 00:55 · JFK 03:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.