BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Atom简史:差点被GitHub创始人放弃

| 作者 张天雷 关注 4 他的粉丝 发布于 2015年7月1日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

作为GitHub专门为开发者推出的跨平台文本编辑器,Atom预览版之前共经历了155次更新,在性能、稳定性以及模块化等方面进行了多项改进。近日,GitHub正式发布Atom 1.0版本。接下来,本文从Atom的历史开始讲起,对其进行简要介绍。

Atom作为GitHub创建者Chris Wanstrath(@defunkt)的编外项目,起源于2008年中期。当时,Chris称之为Atomicity,其初衷是利用web技术来设计一个像Emacs一样可定制化的软件,为新一代的开发者提供一个具有完全控制权的编辑器。但是,与很多其他编外项目的命运相同,Chris在看到GitHub成功的希望之后,就搁浅了Atomicity。

之后,基于Node.JS构建的JavaScript程序开发Web IDE——Cloud9出现,为JS、HTML、CSS等混合代码提供了着色显示的文本编辑器,再次影响了Atomicity的进度。到2011年8月,GitHub把Ace加入到github.com中用于文件的编辑工作,再次激发了Chris对于Atomicity的兴趣。三天后,Chris用Ace编写了一个运行在原生WebView空间内的OS X应用。由此,Atom项目的代码编写工作正式启动。

在之后的3个月内,@defunkt @probablycorey开始在闲暇时间一起致力于Atomicity的工作。到11月份,Atomicity正式更名为Atom,并升级为了官方的GitHub项目。12月份,treetop的作者@nathansobo加入了GitHub,全职进行Atom的开发。之后,Atom就开始沿着正规的开发流行进行不断更新,更多的细节可参考atom/atom git historycontributor graphs

在过去的18个月中,Atom预览版的下载量超过了130万,每个月服务超过35万活动用户。目前,Atom社区共创建了660个主题和2090个包,其中linter、autocomplete-plus以及minimap等包已经拥有了自己的子社区。通过稳定的API、内置ES6支持、支持包与包的通信、扩展编辑器核以及自适应UI等,Atom变得越来越模块化,也能够更好的支持用户的二次开发。Atom编辑器的最大特点就是采用Web技术了来构建应用程序。基于Chromium核心和Node.js,Atom就是一个Web页面,具有通过Node.js访问本地文件系统、执行第三方进程等功能。其开源的组件包括了核心(Core)、包管理器APM(Atom Package Manager)以及Atom Shell三个部分。在不断的更新过程中,为了能够支持社区设计的autocomplete-plus等包,Atom团队对这三个部分进行了不断调整。目前,Atom具有支持CSS、HTML、JavaScript等网页编程语言、支持宏、能够自动完成分屏功能、集成文件管理器等特点。而且,Atom为OS X 10.8及以后的系统、Windows 7&8以及Ubuntu等操作系统都提供了源代码及安装包。Atom团队还提供了扩展的API文档、使用手册以及针对初学者的教学视频等。

Atom 1.0版本实现了@defunkt的初衷——开发者拥有编辑器完全的控制权,成为未来很多工作的基础。但是,完全实现Atom项目所预想的目标很有很长的路要走。GitHub的工程师Ben Ogle表示,Atom团队未来会考虑进行改善用户体验、提升编辑器性能和稳定性、增加更多语言支持等方面的工作。


感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT