想知道现在Emacs的GUI是如何发展的

js拯救不了emacs,emacs各种高性能版本写出来都没有意义,因为不能跑这些精雕细琢的elisp插件,再高性能都没用。

就这样吧,能改早就改了

是很慢, 不过就像emacs的buffer的渲染, 如果支持的格式更丰富, 显示效果更好, 可能就越来越接近electron了, 启动时间可能也很接近, 到时候emacs显示一个buffer, 就像浏览器显示一个web页面.

问题是我们需不需要这些功能, 我自己是挺想要这些功能.

如果发展到浏览器这个级别, 确实可以在里面开发操作系统了, 这样是挺耗资源, 不过操作系统不是必须, 额外功能都是插件的形式, 担心耗资源, 不去安装它就行了.

js目前确实不能做系统, 而且在手机上很少用. emacs用elecrton不是为了做系统,而是为了支持更丰富一点的功能, 类似于微信小程序的级别, 这个级别还是可以的吧?

其实我做的项目https://github.com/manateelazycat/emacs-application-framework

已经实现你说的东西了,qt的图形性能,python的扩展生态,不侵入emacs现在的代码仓库。

old school就保持emacs现在的pure text world,希望现代化发展和扩展emacs的就用我的框架开发图形插件吧。

这是我想到唯一可以让emacs不失本色的前提下,追上那些ide的基础设施的方法

5 个赞

VS code里面, 微软自己的代码的质量应该可以, 容易泄漏的是第三方插件吧? 另外, 像内存泄漏这种问题, 应该不属于不可解决问题, 只是问题还没有严重到一定的程序, 所以不着急解决, 毕竟属于软件逻辑和算法问题而已.

你真是没玩过web引擎啊,不说了,说了你也不懂啊

2 个赞

嗯, 你这个项目确实挺不错, 实现了很多想要的功能, 等忙完这一阵准备折腾一下.

现在的浏览器好像都变成多进程模式了, 页面渲染在独立的进程里, 我在想, emacs是不是也可以充当浏览器主进程的功能? 这样来渲染复杂页面(比如图片, 视频, pdf, 网页浏览)?

很早以前看到你有段时间告别emacs, 却玩haskell了? 说是emacs不够酷? 不知道有没有记错. 挺佩服.

你上面说的所有功能都实现了

浏览器天天用, VS code也在用, 性能还不错. 这方面的开发没做过, 不过根据经验, 内存泄漏这种属于很低级的问题, 就像动态语言的垃圾回收, 改进了很多年, 一直都在进步, 慢慢成熟, 两者比较类似, 真正普及开了之后, 可能就有人做这部分工作了, 慢慢会改善.

嗯, 在linux上挺完美, 不过现在是三大系统都在用, macos, linux, windows, 使用比例5:3:2, 跨平台是个问题.

不知道下面这部分怎么考虑:

内部不太了解, 只了解大概, 不知道是否可行, 有多复杂. 这种应该可以完美跨平台.

你说的emacs当主控,控制图形化程序的东西已经完全实现了,不用再想了,已经完全实现了。

跨平台等其他黑客吧,windows我不用,mac折腾了一个星期,目前还没有想到好方法。

先做先做,用的人多了,什么都好说,不要一开始就想的多完美,做出来比想的完美更有意义

4 个赞

有道理, 佩服你这样的实干家.

electron确实耗资源,稍微文件多点编辑器都要挂掉。配置好点还是不错的,不过肯定比不了C/C++的,甚至比golang都差远了。

想法不错,但是QT真的可能是个坑呀

Qt 怎么会是坑?

Qt5 现在已经是秒杀所有Linux图形库的水平了.

1 个赞

Qt应该还好,毕竟KDE就是用Qt开发的

1 个赞

Gtk2 的时代, Qt3还拉不开差距.

自从 Gnome3 乱搞时代开始以后, Qt5 已经把 Gtk3 秒杀的片甲不留 (我个人是资深的 Gtk 开发者, Gtk2hs的作者之一).

7 个赞

大佬们,楼已经歪到美帝了!

2 个赞

主要是哪些方面秒杀呢?

Qt5 的 GraphicsView和GraphicsSence就不用说了, 一直是我认为Gtk应该内置的东西, 也是 EAF 的控件理论基础

Qt5 Widget 的布局控制各种贴心, 一个 AlignCenter 的属性就需要写一堆 Gtk 代码才能达到居中的目的, 特别是控件中文字自绘的时候, Painter 配合各种 Align 不能说再好用了.

Qt5的结构和API设计很好, 基本不会对开发者有任何惊奇, 很直觉化, Gtk的某些API充满各种小技巧(当然也有小折腾乐趣), 比如 tabbar, gtksocket/gtkplug 各种先后顺序的坑, 要阅读源码才知道技巧, api 文档里面都没有坑的预警

QML 虽然性能不是最佳选择, 但是像 html5 一样结构化编程是 Gtk CSS Box 不能比拟的.

Qt5 的默认控件不论数量, 质量, 还是API得丰富程度, 真的很贴心, 几乎开发者想要的你都会找到

Qt5 的性能每个几个版本就会大幅提升

优势太多了, 但是这些都是手感级别的差异, 只有你同时精通 Gtk 和 Qt 才能慢慢品味这两者之间的细节差异.

当然从开发角度来看, 只要水平高, Qt5做的任何东西 Gtk+ 都可以做到, 只不过需要自己折腾一下.

在我看来, Gtk+ 唯一的优势就是对 X11 的支持更好, 暴露了更多底层的细节供开发者做点天马行空的改动, Qt5 对 Xcb 封锁的很死, 开发者很难访问到底层 Qt5 底层API (Qt5 是为了更好的跨平台).

这些年, 我看到越来越多的商业公司和大部队, 用开源运动成功的模式来绞杀开源社区的游击队, 开源社区只有单兵作战和想象力还存在优势, 正面攻防已经彻底败给商业公司资源和资本运作.

9 个赞

vscode和emacs用上显卡了吗,编辑器是怎么利用显卡的呢