SilentOrFight

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

  •  
  •   SilentOrFight · Jul 3, 2024 · 2546 views
    This topic created in 679 days ago, the information mentioned may be changed or developed.

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

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