跨平台软件技术选择问题:Kotlin MP / Flutter / Tauri / React Native / Electron / Capacitor / HotwiredNative

目前考虑客户端要求至少支持 Android、iOS、Windows,最好支持 Web,项目需要在本地读写数据库,考虑 SQLite / Realm

  • Electron 不支持移动平台,且编译出来的可执行文件太大
  • Flutter 需要新学 Dart,且本人对 Google 除了 Gmail 和 Search 之外的产品失去了信心
  • Tauri 纯粹社区项目,支持测试跨平台编译(Linux 上编译 apk/exe),可以使用 Svelte 等各种框架写前端
    桌面平台 webview 可以配置 SOCKS5:Configuration | Tauri The proxy URL for the WebView for all network requests. Must be either a http:// or a socks5:// URL.
  • Kotlin multiplatform 有 Jetbrains 背书,但很新,本人浅尝 Kotlin 之后觉得语法有点怪
  • React Native 有 Meta 背书,但 RN 推荐你用 Expo 框架,不要直接用 RN,这个却不是 Meta 的
  • https://capacitorjs.com/ / https://cordova.apache.org/
  • https://native.hotwired.dev/

没一个好用的,各有各的问题,我可能更倾向 RN 一点。所谓的跨平台更多是一种噱头,除非就做 SPA 这样的 Web App,用终端设备的浏览器保证跨平台性,否则注定会陷入 API 不同所带来的泥沼之中。

4 Likes