从 WebView 到原生桌面:开源终端工具 NyaTerm 2.0

5 小时 52 分钟前
 CoderKang

NyaTerm 2.0 ,轻装上阵,全新出发!

之前发 NyaTerm 的时候,我提过它是受 WindTerm 启发做的一个开源终端管理工具。

这一个多月 1.x 其实一直没停,还在持续修问题、补功能。

不过与此同时,我又给自己挖了个更大的坑:

把 NyaTerm 用 Rust + GPUI 重新做一遍。

现在这个版本已经放出来一段时间了,也迭代了几个 Preview ,感觉差不多可以单独介绍一下。

NyaTerm 2.0 预览版: https://github.com/nyakang/nyaterm/releases/tag/v2.0.0-preview.4 项目地址: https://github.com/nyakang/nyaterm 官网: https://nyaterm.app

为什么要重做?

倒不是 1.x 不能用了。

现在的稳定版基于 Tauri / WebView ,功能其实已经比较完整,但做得越多,越苦于 Webview 的性能,Terminal 这种实时快速刷新的场景,还是更适合真正的原生桌面架构。收益也很明显,一直头疼的关键词高亮性能问题得到了解决,之前一些在 Tauri 框架不好实现的特性也可以大展拳脚。

所以后来干脆开了 2.0 这条线,试着用 Rust + GPUI 做一个真正原生的版本。

刚开始其实就是个“大号 Demo”。

先把窗口跑起来,再把 Terminal 塞进去,然后 SSH 、标签页、分屏、SFTP……一点一点往回补。

做到现在,终于开始有点像 NyaTerm 了。

目前常用的这些东西基本都已经陆续搬过来了:

当然,能用和好用还是两回事。

最近几个 Preview 很多时间其实都花在一些特别细碎的地方。

比如 Terminal 的选择、复制粘贴、滚动、焦点,分屏之后键盘输入到底应该落在哪个 Terminal ;文件管理里的拖拽、上传下载、目录树;窗口最大化、全屏、多显示器这些东西。

单独看都不像什么“大功能”,但是天天用的话,一个地方别扭就会一直觉得别扭。

文件管理这块最近也改了不少。

除了原来的文件列表,现在 2.0 里也做了树形目录浏览。

有时候连上服务器只是想快速找个配置文件,目录树会比一层一层点进去方便很多。

不过还是得强调一下:

2.0 现在依然是 Preview 。

我自己已经在不断拿它日常用了,但边边角角的问题肯定还有,尤其是 Terminal 、输入法、多显示器、RDP / VNC ,以及不同系统上的桌面行为,这些东西都需要慢慢磨。

所以如果只是想稳定使用,还是推荐目前的 1.x 。

想尝鲜、愿意帮忙踩坑的话,可以试试 2.0 。

Preview 和稳定版是分开的,可以同时装,不会覆盖现在的 1.x 。

从最开始那个 WebView 版本,到现在又重新用 GPUI 做一遍,说实话工作量比我一开始想的大得多。

后面继续慢慢填坑。

感兴趣的话欢迎试试,也欢迎提 Issue 。

NyaTerm 2.0 预览版: https://github.com/nyakang/nyaterm/releases/tag/v2.0.0-preview.4 项目地址: https://github.com/nyakang/nyaterm 官网: https://nyaterm.app

608 次点击
所在节点    程序员
6 条回复
evalfun
5 小时 15 分钟前
感谢楼主开发,试了以下内存占用控制的很好,只有 100M 不到,功能也比较全,比套壳 chromium 的节省资源多了
owt5008137
5 小时 13 分钟前
啥时候能支持 Windows 和 linux ?
owt5008137
5 小时 13 分钟前
咦,好久没看,已经支持了
1103409364
5 小时 5 分钟前
看着不错,试试
hefish
2 小时 40 分钟前
能支持 catalina 吗。。,我的破电脑不知道能不能跑。。
NewYear
1 小时 2 分钟前
从 NyaTerm 到三味书屋~

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

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

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

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

© 2021 V2EX