百科问答小站 logo
百科问答小站 font logo



如何评价GitHub准备推出下一代文本编辑器Xray? 第1页

  

user avatar   skywind3000 网友的相关建议: 
      

下一代编辑器的方向就是进程分离:使用 C/Cpp/Rust 开发的核心 + Electron / Qt 开发界面

这就是 NeoVim 这几年走出来的路,界面这种东西更新迭代快,需要跨平台,需要好看,紧跟当下流行风格。用 Cpp 显然是一件很劳累的事情,所以 NeoVim 做的最主要的事情就是把界面给 externalize 化,C 只实现文本编辑和脚本系统这些非界面的事情,界面部分让另外一个进程来做,界面进程通过管道+msgpack 来和内核进程通信,界面进程会把用户的操作指令发送给编辑器内核进程,编辑器内核进程又会将需要显示些什么发送给外部进程,由外部进程显示出来。

由此,编辑器内核只关注性能和功能,而外部界面进程就着重跨平台和用户体验。

Atom 真的是成也 Electron ,败也 Electron。用 Electron 开发内核,开发是容易了,但是结果大家都看到了。事实证明 Electron 并不擅长做编辑器内核这种一定复杂度又要求性能的东西,即便多次的把各种东西由 electron 挪到 Cpp 中,也是徒劳的。

所以 NeoVim 的实践结果告诉大家,编辑器内核和界面,两种完全不同的开发模式,不能混为一谈。所以自 NeoVim 发布后,已经有 22 种 运行再不同操作系统下的 GUI 前端了,我自己用的就是一款用 Electron 开发的 GUI 前端:

无独有偶,google 也开发了一个 rust 做核心,使用json进行进程间通信的编辑器:

xi-editor 使用 python 作为脚本系统,目前已经开发近两年,完善程度比 github 的 xray 高不少,而且目前有 9种 不同的 GUI 前端,包括文本终端模式和桌面 GUI 模式。

Github 对文本编辑器的“不妥协”的探索精神是令人敬佩的,瞅了一眼它的开发者都是以前 Atom 的核心团队,希望他们能充分吸取 Atom 的经验给大家好好打造一款趁手的编辑器吧。




  

相关话题

  你在 GitHub 上看到过的最有意思的项目是什么? 
  GitHub 或者其他的开源平台中是否有一些适合初学者的 C++ 项目? 
  如何看待2020 年 3 月 26 日 GitHub 疑似遭受中间人攻击? 
  Rust, Go 等新兴语言未来在国内好不好找工作? 
  github有没有办法前后端分两个项目,前端代码软连接到后端文件夹中? 
  JetBrains 2022的远程功能和VSCode Remote相比如何? 
  已经装了GitHub for Mac,还需要装Git吗? 
  Linux内核社区能否迁移到github上? 
  新手该如何使用 GitHub? 
  个人使用github page建了博客,购买了腾讯云的.cn域名,需要备案吗?如何备案? 

前一个讨论
为什么要学函数式编程?
下一个讨论
有哪些「人不可貌相」的事情?





© 2024-05-20 - tinynew.org. All Rights Reserved.
© 2024-05-20 - tinynew.org. 保留所有权利