Skip to content

公告:Codux 1.5 将迁移到 GPUI 原生界面 #29

@dux-web

Description

@dux-web

Codux 最开始尝试过 Swift 原生方案,主要是为了获得更好的桌面端体验、系统集成和性能表现。但随着功能复杂度提升,Swift 方案在跨平台维护、界面迭代速度、生态复用和后端逻辑复用上成本偏高,所以后来切换到了 Tauri。

Tauri 版本解决了很多早期问题:它让我们可以用 Web 技术快速构建界面,同时把核心能力放在 Rust 后端里,整体开发效率更高,也更适合 Codux 这类需要频繁迭代 UI 和功能的工具。

但继续推进后,WebView 方案也暴露出比较严重的问题:

  • 不同系统和 WebView 版本之间存在兼容性差异,排查成本很高。
  • 桌面端复杂交互、窗口、多面板、终端、浮动宠物等体验很容易受到 WebView 限制。
  • 一些原生级体验需要绕很多层,导致代码和适配工作量越来越大。
  • UI、运行时、窗口行为和系统能力之间的边界变复杂,后续维护成本持续上升。

因此 Codux 1.5 会切换到 GPUI 方案。GPUI 的主要优势是:

  • 不再依赖 WebView,避免 WebView 兼容性和体验问题。
  • 仍然可以继续复用 Tauri 版本沉淀下来的 Rust 后端逻辑。
  • 迁移路径更直接:核心 runtime、项目、Git、SSH、AI、宠物等能力可以继续沿用 Rust 实现,只替换 GUI 层。
  • 窗口、多面板、终端、浮动宠物、系统菜单等桌面体验可以更原生地处理。
  • 后续架构会更清晰:runtime 负责后端能力,GPUI 负责原生界面。

目前 GPUI 版本的主体迁移已经处理好,正在做最后的功能对接、体验修正和发布前验证。Codux 1.5 预计本周发布。

这次迁移的目标不是重做一套临时逻辑,而是在保留现有 Rust runtime 能力的基础上,把 GUI 从 Tauri/WebView 切换为 GPUI 原生界面,降低后续维护成本,并提升桌面端整体体验。

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentation

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions