Atom: Impressions So Far

Atom Logo

For those who don’t know already, GitHub released a beta of their Atom Text Editor. I was lucky enough to get into the beta right away and I’ve been using Atom for 5 days now so I wanted to talk about my initial impressions. Just a heads up, IT’S AWESOME!

“A hackable text editor for the 21st Century”

At GitHub, we’re building the text editor we’ve always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can’t wait to see what you build with it. – Atom.io

One of the core principals while making Atom was to make the editor fully customizable. GitHub has gone through a lot of effort to ensure that every aspect of the editor can be made to suit the needs of the user.

Atom is built using web technologies that most people have already seen. It is built using Chromium (which was also used to make Google Chrome). The application still has a Dock icon and access to the file system, but as soon as you open up the Inspector (that’s right, I said inspector – the Chromium web inspector is built into Atom) you quickly become aware of the web-based core.

Around the web based core are around 50 or so packages that Atom uses to create the application. If you don’t like something about Atom, you can simply switch out the package with a custom one. This enables awesome levels of customization for the editor.

“Full-featured, right out of the box”

When I first opened Atom, I was so happy to see many of the features I’ve come to love about Sublime Text available in Atom. The first thing I noticed was the Command Palette was present and worked exactly like in Sublime Text. The Command Palette is one of the must have features coming from Sublime Text. I would honestly have to imagine that any editor from this point on will include something similar.

Simply hit Command+Shift+P in Atom and then you can do almost anything you want. This allows for super fast coding and will increase your productivity if you start using it regularly.

Atom-Command-Palette

Another feature from Sublime Text I was happy to see come over was the quick file navigation. If you type Command+P you can quickly navigate through your active files. If you use this file navigation, you will increase your coding speed. For anyone just trying out Atom for the first time, get in the habit of using this awesome feature!

Atom-File-Navigation

Snippets have also made their way over to Atom. Snippets are little pieces of code that you can write down and then create shortcuts for so you can easily write longer pieces of code quickly. I’ve already written a tutorial on Sublime Text snippets, and one for Atom will hopefully follow really soon. Snippets are another great way to get your work done faster, and I would highly recommend looking into them.

Atom-Default-Snippet

One of the features I really appreciated is the GUI for the settings. As some of you may already know, Sublime Text’s settings are just a JSON file. In order to change any settings, you must manually override the JSON in your own user settings file. In Atom, the settings are all presented in a pleasant GUI that is easy to navigate. Even though I have gotten used to Sublime Text’s settings, I find it nice to have a GUI to look through and I already feel like I have a better grasp of the settings available in Atom since they are so much easier to look through.

Atom-Settings

Themes and packages are also built into Atom. These allow you more customization for your text editor, to make it look and function exactly how you want it to.

Atom-Themes

When setting up Sublime Text, almost everyone installs the Package Control plugin that allows users to easily manage their packages. Luckily on Atom, this is an included feature. The packages are installed and managed through a nice GUI interface. Just like for the settings, Atom has shown its commitment to making things a little easier and prettier for their users.

Atom-Packages

One of the biggest problems I had with Atom was the inability to open files from different locations in one window (at least that I have found, please tell me in the comments if this is possible). Each project has its own window, and there is no way around this at this time.

It is important to note that Atom is still in beta at this time though. The developers have said on their discussion forum for Atom that they will implement into having a multiple projects in one window view once some of the major bugs are gone.

Optimize dat Workflow

The lack of multiple projects in one window did cause me to have to change my workflow a bit, but in the end I actually think it turned out for the best. Let me walk you through my workflow now so you can get an idea of what its like to work with Atom as a web developer.

The first thing I do is open my desired site with Transmit using the Disk Feature. I never used this feature before using Atom, because in Sublime Text I would just open multiple files as different tabs with one window. Now that I’ve been using the Disk Feature though, I find myself working in a much more project-oriented view which I think really helps me be more productive and get a better view of the big picture. Its also decreased the time to switch between files thanks to that handy Command+P shortcut.

Transmit-Disk-Feature

Once the disk is mounted, I use my hand Service that I created using Automator to open the folder with Atom

Transmit-Disk-Feature-Mounted

I will post both the Automator Service as well as the alias I’ve added to .bash_profile in a separate post later in the week. (Hint: they are the same as the Sublime Text ones but with the path to Atom if you want to try to make them yourselves)

Open-With-Atom

Once I open the project using Atom, I simply get to work! File navigation is super easy and everything runs really smoothly for me, especially considering its only in beta right now.

Atom-Working

So far Atom has proven itself to be an excellent text editor. It has all the features I couldn’t live without, and has added a little bit of its own flair in the way of the settings GUI. However, nothing has set it that far apart from Sublime Text so far for me. Right now if I had to pick between the two, it would honestly probably just be a coin flip. However, as Atom introduces more features during its development, it could get that little edge that makes it the best text editor available. We will just have to wait and see what else the fine folks at GitHub have in store for us.

If you have been using the Atom beta, please let me know what you think in the comments below. As always, thanks for reading and please share this with as many people as you think will find it useful.