Atom Blog
blog.atom.io · Company blog · on HN since 2014
The official blog of the Atom text editor, with release notes and engineering posts on its text rendering, React move, and Teletype.
What HN saysCommenters link its release notes and theme posts while debating Atom against Sublime, and some worry about slowing commits and fewer posts.
99HN people shared it
43linked it in comments
115stories submitted
9.0Kstory points
5 years agolast shared
2014people per year2026
Most-shared posts
- 1Moving Atom to React7 people · 407 points · first shared 2014 · 136 comments on HN
- 2Code together in real time with Teletype for Atom6 people · 873 points · first shared 2017 · 223 comments on HN
- 3Atom Reaches One Million Active Users6 people · 43 points · first shared 2014 · 53 comments on HN
- 4A new approach to text rendering5 people · 154 points · first shared 2017 · 106 comments on HN
- 5Atom Is Now Open Source3 people · 914 points · first shared 2014 · 296 comments on HN
- 6Atom 1.113 people · 222 points · first shared 2016 · 126 comments on HN
- 7Atom 1.19 – Improved Responsiveness and Memory Usage3 people · 132 points · first shared 2017 · 137 comments on HN
- 8Atom 1.243 people · 111 points · first shared 2018 · 26 comments on HN
- 9Introducing Block Decorations3 people · 94 points · first shared 2016 · 36 comments on HN
- 10Git Integration3 people · 86 points · first shared 2014 · 57 comments on HN
- 11Removing Shadow DOM boundaries from text editor elements3 people · 57 points · first shared 2016 · 33 comments on HN
- 12Introducing Atom3 people · 48 points · first shared 2014 · 6 comments on HN
- 13React Editor Enabled by Default3 people · 44 points · first shared 2014 · 4 comments on HN
- 14Atom 1.21 released with Language Server Protocol support3 people · 25 points · first shared 2017 · 2 comments on HN
- 15Atom 1.32 – new parsing system and reduced memory usage3 people · 11 points · first shared 2018 · discussion on HN
What HN people wrote when they linked it
ansonhoyt · 2019-11-27
I'm still nervous that Atom fades away, despite the promises and good intentions of continuing to develop it. I'm nervous because...
Commits have dropped since mid-year: https://github.com/atom/atom/graphs/commit-activity
No blog posts since mid-year: https://blog.atom.io/
I love Atom, so am hoping it gets rolling again soon.
tosh · 2015-05-16
* Atom is open source, Sublime is not
* Startup is still slow for a lightweight text editor but it is faster than for IDEs and it is improving (see: https://github.com/atom/atom/issues/2654)
* Package management is easier
* Following releases/announcements Atom (http://blog.atom.io/) instills more confidence compared to Sublime (http://www.sublimetext.com/blog/) [also if Atom should be disbanded it is Open Source, if Sublime development stops, it stops]
seanwilson · 2016-08-01
Blog post about the release:
http://blog.atom.io/2016/08/01/atom-1-9-and-1-10-beta.html
"The following is a summary of improvements we have been testing on our beta channel and that are finally landing in Atom 1.9.0. :rocket:
- Display Layers, which are going to bring speed improvements as well as new features like free-form folds (via the Fold Selection command) and an improved soft-wrapping algorithm.
- Electron Upgrade (v0.37.8), which features many performance improvements and enables efficient ligatures rendering on all the platforms.
- Drag and Drop Layout Management, that provides a very intuitive way for organizing the workspace.
- Enhanced Reliability When Saving Files, which minimizes the risk of losing files when a hard crash occurs.
- Shell Commands Compatibility On Windows, that makes the atom command compatible with both Cygwin and Msys."
moonlighter · 2016-02-09
Sublime Text user here, who switched to Atom a year ago and never looked back. Never had any of the issues others described having with Atom such as slowness, etc. What I love about Atom is that it's under active, fast-paced development, that it's super-easy to customize (first thing was to increase the font-size of the left-hand folder pane), and the available plugins are fantastic. It probably also helps that extending Atom is much more approachable given that it's all Javascript, rather than Python with ST.
Furthermore, as others commented, the plugins have much more reach into the editor and can do a lot more.
For example, the new block decorations coming in 1.6 are going to be an awesome API for plugin authors!
http://blog.atom.io/2016/02/03/introducing-block-decorations.html
maxbrunsfeld · 2015-04-15
That screenshot uses the new default UI and syntax themes. Both are called `One Dark`. I think the UI theme is quite amazing; it adapts to complement whatever syntax theme you're using. See simurai's blog post: http://blog.atom.io/2015/02/18/one-themes.html.
shurcooL · 2014-05-05
One of my favorite things that Atom does better than ST3 out of box is its git integration, especially in the tree view [1].
Adding sidebar icons is exciting because it paves the way to similar functionality (either out of box, or via plugin) in ST3.
[1] http://blog.atom.io/2014/03/13/git-integration.html
shaunbent · 2014-02-26
They're on Twitter: https://twitter.com/AtomEditor found the link in the Source Code of: http://blog.atom.io/
It also has the line: "At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it."
intrepidd42 · 2014-02-26
http://blog.atom.io/ seems to be WIP, the meta tags are quite revealing :
At GitHub, we’re building the text editor we’ve always wanted: hackable to the core, but approachable on the first day without ever touching a config file. We can’t wait to see what you build with it.
pbiggar · 2016-08-22
After 10 years in Vim and 5 years in Emacs, I recently switched to Atom. The reason I switched is how easy it is to extend. And it truly is: I was up and running in a few hours with my first plugin in Atom (the emacs legacy of code is daunting, while vimscript is truly awful). This is a great resource, which I had patched together while I was building my first plugins.
One major downide of atom is that while you can develop your own plugins, core atom modules are extremely slow to accept contributions. I spent a lot of time on something (https://github.com/atom/tree-view/pull/913) which makes sense in core but is hard to do as a package, and it's been ignored, along with 42 other PRs on the same repo.
I really like Atom for its hackability, but an important part of hackability is community contribution. Their roadmap is 404ing (http://blog.atom.io/2014/10/23/public-roadmap.html), they don't really take public contributions, and AFAICT there's no public product direction of any kind. I hope they solve this - Atom is too good to lose to bad community management.
millstone · 2016-05-12
WinRT isn't embracing JavaScript because JS is so great, but to make the platform more attractive to web developers. Same with the HTML/CSS-style toolkits.
HTML/CSS, and Chrome tools, are definitely the better part of the web. The really terrible stuff are the JavaScript APIs. Of course there's JavaScript itself, which is gross. But there's no APIs for basic questions: where is the mouse pointer now? And is the mouse button down? How many screens does the user have? What is the width and height of this text? [1] Or anything Unicode-related. Or any sort of precise, pixel-accurate drawing. Web programming means resorting to terrible hacks all the time.
Maybe Electron has its own JS APIs that fix those issues, I don't know. But compared to making a traditional web app, it's a relief to use a real desktop API that actually has coverage of desktop capabilities.
[1] See the ridiculous lengths Atom went to just to figure out how wide a character is: http://blog.atom.io/2015/10/29/atom-1-1-is-out.html
DavidLGoldberg · 2014-08-05
I don't see any performance issues of notable concern with Atom. I've done my fair share of dev work both using Sublime and working on Sublime packages.
Are you constantly working in super large files or on an old machine?
Have you tried on the newest versions? They have made some serious performance upgrades:
http://blog.atom.io/2014/07/22/default-to-react-editor.html
And what react on atom is all about:
http://blog.atom.io/2014/07/02/moving-atom-to-react.html
Also, if my package was solely responsible for making you feel Atom was slow, :-( (really hope not) I have, with the help of another contributor changed the labels and animations, so that they all behave a lot faster now, and the whole feel is a bit cleaner.
Maybe give Atom another shot with react turned on?
Also, while the whole character level precision ace-jump like easymotion is great it's a little too complicated for my tastes. Several other people agree. How have you been liking it? Does it jump between panes/views? Can you use it to highlight text?
I almost had a sublime version of jumpy working (it jumped views) but I found the architecture of sublime packages at least 4x more difficult to develop than Atom packages (web tech / chromium etc.)
I think with the ease of development of Atom packages it's only a matter of time before Atom takes over.
peterhunt · 2014-07-21
You get all of this for free with React.
DOM node reuse is perhaps the central theme of React so it's odd that you bring this up as a criticism (see https://www.youtube.com/watch?v=1OeXsL5mr4g)
Calculating the virtual DOM does come with some processing and GC overhead, yes. But any system that tracks changes for you (data binding) comes with overhead and React makes the right set of tradeoffs for real apps (since it is a function of how large your render output is, not your underlying data model). React has about a 70% edge in CPU time on Angular in the "long list" class of benchmarks (which drops to a mere 40% with the Object.observe() performance unicorn). And steady state memory usage is almost always better with a virtual DOM approach since again it only tracks what you actually render which is usually smaller than your data model (https://www.youtube.com/watch?v=h3KksH8gfcQ).
DOM coordination boils down to non-interleaving of reads and writes to the DOM. React manages the writes for you which happen in one go. Components have a well-defined lifecycle which is also batched and are only allowed to read from the DOM during specific points in the lifecycle, which are coordinated system-wide. So out of the box if you follow the guidelines you will thrash the DOM much less (see http://blog.atom.io/2014/07/02/moving-atom-to-react.html)
s3arch · 2022-02-19
>you’ll get molasses if you naively build a spreadsheet in react.
I digged a bit more on other real world applications. Found two interesting posts from atom text editor implementors. [1] Why they moved to React. [2] Decision to implement text editor DOM updates manually instead of via React
[1] https://blog.atom.io/2014/07/02/moving-atom-to-react.html
[2] https://github.com/atom/atom/pull/5624
cakoose · 2019-03-03
Projects doing similar things:
Atom: https://blog.atom.io/2017/11/15/code-together-in-real-time-with-telety…
Xi: https://github.com/xi-editor/xi-editor/blob/master/docs/docs/crdt-deta…
mindcrash · 2018-05-04
It does, but only when you opt-in to have telemetry gathered. Introduced in Atom 1.11: https://blog.atom.io/2016/10/11/atom-1-11.html
dflock · 2018-03-15
They are:
- http://blog.atom.io/2017/09/12/announcing-atom-ide.html
- http://blog.atom.io/2017/11/15/code-together-in-real-time-with-teletyp…
Still beta, though.
SquareWheel · 2018-02-13
Post links to the Github releases, but here's the announcement post.
http://blog.atom.io/2018/02/13/atom-1-24.html
rayiner · 2018-01-10
Yes and no. E.g. Atom does its line layout and rendering in Javascript, which manipulates the DOM, and Electron then renders things using C++ code: http://blog.atom.io/2017/06/22/a-new-approach-to-text-rendering.html.
Emacs' display loop is tens of thousands of lines of C that directly calls the native text-rendering API: https://www.facebook.com/notes/daniel-colascione/buttery-smooth-emacs/…
btown · 2017-11-17
Wave's rollout was botched, its performance requirements were too ahead-of-their-time for 2009 hardware, and its UX (which didn't seem to "get" that sometimes you need to isolate your current work context from the global feed of activity in order to focus) was perplexing. But its legacy of helping to popularize Operational Transforms (and by extension, CRDTs) beyond academic circles did indeed live on - for instance, OT was adopted in Google Docs [0], and CRDTs were used in yesterday's release of Atom's real-time collaborative editing [1]. So in many ways, it accomplished exactly what to set out to do.
[0] https://drive.googleblog.com/2010/09/whats-different-about-new-google-…
[1] http://blog.atom.io/2017/11/15/code-together-in-real-time-with-teletyp…
fro0116 · 2017-11-15
Surely they're not incurring much costs with this feature if they're just using Microsoft servers for the initial WebRTC handshake? That's what Atom's recently announced Teletype feature does at least: https://blog.atom.io/2017/11/15/code-together-in-real-time-with-telety…
abdelhai · 2017-11-15
Atom announced "Teletype" today: https://blog.atom.io/2017/11/15/code-together-in-real-time-with-telety…
Pxl_Buzzard · 2017-09-13
There are a lot of factors that play into the speed (perceived and real) of an editor. Sublime is written in C, which is generally recognized as a performant language when used correctly. In contrast, Atom and VS Code are Electron[1] apps, which mean they have to deal with browser optimization. They both use a lot of tricks[2] to operate as quickly as they do. And in all editors, one bad extension can kill performance, from my recent experience Resharper in Visual Studio increases startup time by 3x.
An editor is not as simple as displaying lines of text a la Notepad, different editors optimize for different use cases.
1. https://electron.atom.io/
2. http://blog.atom.io/2017/06/22/a-new-approach-to-text-rendering.html
ianstormtaylor · 2017-08-09
And it looks like just today Atom has another release (1.19) that supposedly helps performance for large documents: http://blog.atom.io/2017/08/08/atom-1-19.html
johnhenry · 2017-08-07
Atom recently added git support: http://blog.atom.io/2017/05/16/git-and-github-integration-comes-to-ato… It works well for me and I use it as more a supplement to the CLI rather than a replacement, so it might work for you.
acemarke · 2017-06-22
Wrong link - I think you meant http://blog.atom.io/2017/06/22/a-new-approach-to-text-rendering.html .
apetresc · 2017-05-16
Performance has been a key focus of the last few releases. 1.17, the stable release also being released today, has a major jump: http://blog.atom.io/2017/04/18/improving-startup-time.html
jonesetc · 2016-12-20
It's opt in now:
http://blog.atom.io/2016/10/11/atom-1-11.html
cuddlybacon · 2016-11-10
They wrote a blog post about this:
http://blog.atom.io/2016/10/17/the-wonderful-world-of-keyboards.html
ArmandGrillet · 2016-05-13
> how many people have actually went and dig into the Atom code and changed something in a core of it?
More than 1144: http://blog.atom.io/2016/05/06/two-years-open-source.html
robenkleene · 2016-04-14
You can use `apm stars --install` for the package syncing part of this. It's reasonably close to what you're looking for.
http://blog.atom.io/2014/06/09/stars.html