以视频分析为主要载体的人工智能算法在泛安防场景中是怎样落地的?>> 了解详情
写点什么

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

  • 2015 年 7 月 01 日
  • 本文字数:1362 字

    阅读完需:约 4 分钟

作为 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 history contributor 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 读者交流群)。

2015 年 7 月 01 日 09:485009
用户头像

发布了 268 篇内容, 共 105.1 次阅读, 收获喜欢 21 次。

关注

评论

发布
暂无评论
发现更多内容

奥运神颜运动员

6979阿强

2021吊打面试官系列!mysql数据库版本最新

Java 程序员 面试 后端

FIL云算力挖矿平台系统开发案例

橙子区块链l53o56oloo3

云算力挖矿系统开发详解 云算力模式系统开发源码 filecoin矿机哪家好? fil挖矿

2021年您应该知道的技术之一!Javafor循环乘法表

策划Java工程师

Java 程序员 面试 后端

云小课 | 一分钟了解AppCube中的应用

华为云开发者社区

低代码 云小课 应用 AppCube 应用魔方

2021年Java面试心得:Java基本类型对应的包装类型

策划Java工程师

Java 程序员 面试 后端

2021年Java面试心得:西安Java电商开发招聘

策划Java工程师

Java 程序员 面试 后端

IM与办公平台的关系设计

superman

产品经理 架构师 IM 移动办公平台 自建移动办公

golang--字典树

en

数据结构与算法 字典树

【翻译】数据包的旅程 - OSI模型

luojiahu

计算机网络 OSI模型

iOS开发底层面试攻略

面试 移动开发 ios开发

云计算架构师-带你安装MySQL数据库并去除安全隐患

学神来啦

MySQL 数据库 Linux 运维 MariaDB

2021年Java开发实战!Java获取系统日期时间

Java 程序员 面试 后端

2021年Java面试心得:Java开发工程师试用期一般多久

策划Java工程师

Java 程序员 面试 后端

7月日更,FAIL!FAIL?

Nydia

Python开发篇——如何在Flask下编写JWT登录

DisonTangor

Python flask JWT

HarmonyOS开发者日杭州站举办,多维赋能开发者实现高效开发

科技汇

🏆「推荐收藏」【Git实战专题】代码提交错误怎么办?教你如何回退版本!

浩宇天尚

git git flow git reset git revert

🏆【Java 技术之旅】带你深入理解和认识SPI运作机制

浩宇天尚

Java 抽象 spi 7月日更

Linux ssh命令详解,连ssh命令都不了解就别说自己会用Linux了

北游学Java

Java Linux SSH

2021Java面试总结!Java中VO的使用

Java 程序员 面试 后端

2021Java高级面试题总结!Java数组添加另一个数组

Java 程序员 面试 后端

2021年Java面经分享:mysql创建数据表

策划Java工程师

Java 程序员 面试 后端

2021年“金三银四”来袭!Java开发接口利用http协议

策划Java工程师

Java 程序员 面试 后端

从0到1亿用户的架构设计

俞凡

架构

2021Java面试心得:kafka工具

Java 程序员 面试 后端

2021Java高级面试题总结:docker运行jar包依赖和程序分开

程序员 面试 后端

吴亦凡都美竹事件:男人全员恶人?

6979阿强

2021Java面试心得:docker运行springboot项目

Java 程序员 面试 后端

2021Java高级面试题!Java面试问题大全及答案大全下载

Java 程序员 面试 后端

2021京东Java面试真题:Java枚举的作用与好处

Java 程序员 面试 后端

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