精华 Atom 体验报告:21 世纪的可编程编辑器
发布于 7 年前 作者 jysperm 8110 次浏览 最后一次编辑是 6 年前 来自 分享

Atom 中文社区:http://atom-china.org/

回想起来,大概是去年这个时候,Github 宣布开始开发 Atom, 当时 V2EX 上到处都有人在求邀请码。因为 Github 并没有严格地限制下载和使用,所以虽然我当时没有邀请码,但也试用了一下 Atom. 当时的感觉是性能非常差,Bug 非常多,非常难用,于是就放下了。

后来 2014 年末,大概是听说 Atom 要发布 1.0 版本了(虽然到现在仍未发布),于是又下载试用了一个月左右,发现已经很少遇到 Bug 了,于是彻底从 WebStrom 迁移到了 Atom, 后来几个月变成了 Atom 的脑残粉。

喜欢 Atom 并不是因为它已经有多么好用了,直到现在 Atom 也仍然存在很多问题,我更喜欢 Atom 的设计理念,和它未来发展。Atom 希望兼具易用性和可编程性,它希望既可以对第一天学习编程的学生展现出易用性,又可以对一个代码大师展现出强大的可编程性。

Atom 的第一个特点是它构建于 Web 技术之上,最近几年 Web 技术已经发展成了一种新的「操作系统」,具有一套完整的 API 来加速应用的开发,几乎颠覆了传统的应用开发模式。Atom 构建于 Chromium 和 Node.js 之上,Chromium 是最流行的浏览器核心之一,借助 Web 技术可以直接通过 HTML 来布局,用 CSS 来影响界面的样式,因为 Atom 使用内建的 Web 引擎,所以可以直接使用新的 Web 技术,不必顾及浏览器兼容性等琐碎细节。Node.js 则赋予了 JavaScript 使用 C++ 拓展、完整地访问网络和文件系统的能力,并且可以直接使用来自 NPM 上已有的丰富资源。

Atom 的第二个特点是它使用了一种完全插件化的设计,Atom 的核心仅仅是一个管理插件的框架(核心仅 15000 行代码),任何「有意义」的功能都被以插件的形式实现,实际上 Atom 内置了大概 70 个插件来实现诸如文件列表、设置面板、命令面板、查找替换之类的基本功能。作为一个通用的编辑器,不太可能直接面面俱到地考虑到各种需求,索性不如通过彻底地插件化来适应各种不同类型的开发任务。Atom 鼓励用户通过编程的方式去进行定制, Atom 具有设计良好的 API, 还有一份 非常美观的文档 被摆在了官网的显著位置。

最近一年我写 JavaScript 比较多,我发现对于 JavaScript 这种动态类型、动态作用域的语言,WebStrom 基于静态分析的自动补全费力不讨好,并不能准确地进行提示,索性不如直接用字符串模糊匹配的方式来进行自动补全,毕竟对于我这种重量级用户来说,是很清楚某个对象具有哪些属性的,补全只是为了加速。

和 Sublime Text 相比,Atom 的性能确实差了一截,大概和 WebStrom 差不多的样子。我觉得 Atom 在性能上还是有一些提升空间的,目前的卡顿主要是因为 JavaScript 是单线程的,遇到密集计算就会阻塞事件循环,至于解决方案自然就是把密集计算和 DOM 操作 分离成两个线程,但大概这项工作需要插件的开发者一同来配合,所以比较难以开展吧。

因为 Atom 以插件为中心,所以我也不好说它能做什么、不能做什么,总之目前 Atom 已经可以满足我的所有需求,Atom.io 为每个用户提供了一个用户页, 各位可以 在这里看到我使用的插件。在未来我希望 Atom 社区能出现更多好用的插件,将与开发相关的功能都集成进来,例如一个好用的终端、断点调试器、数据库 GUI 等等,我最近也在尝试自己编写插件,不过目前还没什么成果。

https://jysperm.me/2015/04/atom-getting-started/

41 回复

说起来 Atom 毕竟也算是 Node.js 阵营(虽然我知道你们瞧不起 Coffee)的编辑器,大家要多支持一下,似乎国内几乎没有多少 Atom 的用户。

用了一下,还是webstorm 好用。

还是Sublime Text 强

哈哈,作为第一批用户,一直用到现在,都不错 自豪地采用 CNodeJS ionic

用过几回,不习惯

vim 才是真爱,除了 webstorm,其它包括 atom 和 sublime 的 vim 模拟插件都做得太烂了,我还是 vim 吧。

@fengmk2 和gulp watch reload的时候会挂。。。。。莫名其妙的

@xadillax 我觉得也是vim大赞

哈哈 我也是第一批用户和开发者,也用到现在了,一路坑,但越来越好了

刚试用,我看文档挺全的,用用看先 自豪地采用 CNodeJS ionic

atom速度慢,不好用,弱爆了

webstorm升级后太卡,之后试试atom 自豪地采用 CNodeJS ionic

看了看桌面的notepad…

@cfddream 平时主要atom么?

@magicdawn atom的project管理功能有了么?之前一看没这个功能,就没用它了:(

怎么菜单里连个基本的open in browser功能都没有:( @magicdawn

目前在用…觉得还不错…

我虽然不做web开发,但是我也用Atom,去年就开始用了

启动有些慢,

@chapgaga 现在 atom 用的比 vim 多 哈哈

难道要超越brackets?

@jysperm 这么简单的功能都要安装插件,也是醉了

@cdll 昨天下载安装文件近20次才成功:(

@chapgaga 你要知道 Atom 如果没插件的话什么都干不了,比如左面目录树是 tree-view 插件,tab 用来以标签的方式显示正在编辑的文件列表什么的。 下载不了是因为总所周知的原因,你需要挂代理。

@jysperm amazon上的文件你怎么下载的?好像要翻墙啊?

@chapgaga 哈哈,那我算比较幸运的了,每次提示官网有更新去下载基本都是3、4次就欧:P

以前试过,感觉有点迟钝 还是 coffeescript 的

比adobe的breakets要好的多,目前已经是习惯使用的ide了,虽然有时会使用vim

@xurwxj atom是二奶编辑器,大奶是sublime:)

visual studio code 可以尝试下

大奶要钱,2奶随便整,至少不用担心版权 自豪地采用 CNodeJS ionic

@Pana 全系统支持,微软向开源展开胸怀,的确不错。

装了牛逼插件就比牛逼还要牛逼。

@fengmk2 询问一下支持WebStrom 对node一样的单步调试不,现在用WebStrom调试慢的快哭了。

@jysperm 能发一下Atom 断点调试node,我对这个功能特别想了解

喜欢Atom又嫌速度太慢的,Visual Studio Code就是为你准备的,全平台可用哦

Sublime 大法好

回到顶部