2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

Github 发布 Atom:意欲打造下一代编辑器

  • 2014-03-04
  • 本文字数:1189 字

    阅读完需:约 4 分钟

2 月 26 日,Github 推出了 Atom ,意欲打造下一代编辑器,Atom 汲取了 SublimeText、TextMate 等编辑器的特点,采用 Chromium、Node.js、Coffeescript 和 LESS,目前已经开放 Mac 版本内测申请,Atom 正式版推出以后将会收费。

开发背景

Github 的员工 Nathan Sobo 在 Atom 的博客中提到:“Sublime 和 TextMate 十分方便,但是扩展性不足;另一方面,Emacs 和 Vim 扩展性很强却需要学习日程工作中很少用到的脚本语言。”因此,他们希望找到一个平衡点,于是就有了 Atom 这个项目。

对于拥抱开源的 Github 来说,Atom 将会把大部分的类库开源,目前已经开放了 80 多个扩展和插件。

技术堆栈

在 Atom 中主要使用了如下的技术堆栈:

  • Chromium
  • Node.js
  • Coffeescript
  • LESS

编辑器首先是运行在桌面的,这是他们达成的第一个共识,但是对于一个桌面程序来说,需要跨域不同的平台,编程语言、模式也一直在变迁,易扩展性也将会是一个问题,于是 Github 选择做一个运行在桌面的 Web 程序,基础的架构采用的 Chromium。Atom 采用 Space-pen 实现视图与控制器绑定,简化了 DOM 的操作,类似于 Backbone.View 。从使用的截图中我们也可以看到编辑器其实是一个 SPA:

Atom 所有的 API 都提供 Node.js 扩展,开发者可以通过 require 来加载模块,默认的开发语言是 Coffeescript:

同时,Atom 提供了自己的包管理工具 apm,通过 apm,插件开发者可以将现有的 TextMate 插件和主题直接转换成 Atom 适用的版本,由于 SublimeText 和 TextMate 的插件有很大的相似性,这在一定程度上将会加速 Atom 插件的丰富程度,官方也提供了转换教程。

插件与主题

目前 Atom 有 80 多个插件,其中不乏 Vim-mode、Autosave、Git Diff 等实用特性,从开放的语言列表来看,对于 C#、Python、Ruby、C 等诸多语言已经提供了支持,其中部分语言插件是从 TextMate 中直接转化过来的,目前还不支持自动补全等特性;官方目前推出了 5 款主题,用户可以直接使用 cmd-shift-P 或者偏好页面来安装扩展包。另外,通过修改配置文件,Atom 允许开发者对 Atom 进行深度的定制。

社区

从架构中我们就可以看出,plugin 在 Atom 中占有很高的地位,Atom 也意欲借鉴 Node.js 社区的模式,通过 apm 的方式将众多的扩展开发者聚集到一起,同时较低的贡献门槛也会在一定程度上提高大家的参与度。

总结

目前 Atom 还处于 beta 版本,很多功能还无法和 TextMate、SublimeText 等相媲美,例如无法打开大文件、不能像 SublimeText 一样设置项目文件等,但是其在扩展性上的设计将有可能把开发者聚拢起来,未来也将会有更多的开发者贡献自己的插件,这势必会对已有的编辑器带来不小的冲击。

同时作为 Github 自家的产品,目前还不了解 Atom 与 Github 如何深度结合,从现有的官网来看,开发者可以在 Atom 页面使用 OAuth 对其进行授权,一种可能性是 Atom 的 web 版本也开发当中,一款面向未来的编辑器最终将会以怎样的方式呈现?让我们拭目以待。

2014-03-04 02:047088
用户头像

发布了 89 篇内容, 共 34.4 次阅读, 收获喜欢 4 次。

关注

评论

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

第9周作业1

Yangjing

极客大学架构师训练营

助推城市智慧化!正舵者携手中科院演绎区块链魅力

CECBC

区块链 人工智能

第9周作业2

Yangjing

极客大学架构师训练营

第五周作业

晴空万里

极客大学架构师训练营

一次用户故事拆(SPIDR)法实践

Bruce Talk

Agile 用户故事 User Story

5G+工业互联网的中国登山队,如何攀跃“产业化”山峦?

脑极体

技术选型总结一

Mars

技术选型

架构师训练营第二期 Week 5 总结

bigxiang

极客大学架构师训练营

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

代立冬

Apache 大数据 开源 DolphinScheduler Apache DolphinScheduler

Week5 作业1

Sean Chen

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

秒杀系统

橘子皮嚼着不脆

架构师训练营第二期 Week 5 作业

bigxiang

极客大学架构师训练营

架构师训练营 week5 课后作业

花果山

极客大学架构师训练营

架构师训练营第 9 周作业

netspecial

极客大学架构师训练营

第九周作业

极客大学架构师训练营

架构师训练营第九周课程笔记及心得

Airs

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

Java 中常见的细粒度锁实现

rookiedev

Java 多线程 细粒度锁

应届秋招生,熬夜吃透华为架构师这份‘典藏级’计算机网络+计算机操作系统,成功上岸腾讯

网络协议 编程之路 计算机知识

架构师 01 期,第九周课后作业

子文

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

能源区块链研究|区块链与核电安全

CECBC

区块链 核电

真零基础Python开发web

MySQL从删库到跑路

Python django Web bottle

大数据和Hadoop平台介绍

MySQL从删库到跑路

大数据 hadoop

架构师训练营第 9 周课后练习

叶纪想

极客大学架构师训练营

架构师训练营 1 期第 9 周:性能优化(三)- 总结

piercebn

极客大学架构师训练营

InfoQ 写作平台的魔力

Yolanda

Week 9 作业01

Croesus

Github发布Atom:意欲打造下一代编辑器_GitHub_水羽哲_InfoQ精选文章