ATOM- An Editor of 21st Century

The Atom I am talking about is not a small particle in the world of developers. Built and maintained by Github and the community, it is more than just an editor.

In our world, in the world of developers, an editor plays an amount of significant role when it comes to writing code. They might seem just a tool, as a matter of fact, they are, but for someone who takes pleasure in writing code, it is an essential piece in their setup.

Using an editor is really a matter of choice, your comfort zone but the game of plugins have a big role to play. As yourself, I have tried my hands on different editors & IDEs and for now I have decide to settle with Atom for its enormous amount of plugins available. Another reason for me is that it’s written in JavaScript (exactly CoffeScript & since I am a JS enthusiast) and is completely free to use because of its open source normality.

It is inspiring to open-source community as well. Few months back, Facebook released there version called Nuclide which focus more on mobile development. Then there is Electron for building cross-platform desktop application. Both are based on Atom Shell.

Atom is mature in terms of plugins when comes to keeping the pace with newer technologies. When I started out with Node.js, I tried to stick with Webstorm IDE but soon Atom lured me for its support of frameworks like Ionic (a plugin called Ionic-Preview and I am still exploring) thanks to the community plugins and the other matter of fact that it’s open source.

Packages

There are more than 4.5k +packages published already. To view, Open the Settings view by clicking Packages > Settings View > Open in the menu bar or by using the (cmd + ,) keyboard shortcut.

Atom Packages are categorized further into:

  • Community packages: Packages written by people outside of GitHub’s Atom team.
  • Core packages: These are developed by the Atom team and come bundled with Atom but you can disable them if they are no use to you.
  • Development packages: Packages which you have on your machine and use in Atom from that local source.

Core Packages do provide support for most favourable programming/scripting languages but if you are using something out of the box then you must check the Community packages. Chances of finding the one are in your favour there.

If you are still unable to find what you are looking, you should try developing a package for yourself and then if you like share it with the community.

TIP- Decreasing Startup Time

There may come a period of time when your Atom might behave sluggishly. What will you do?

  • You’ll remove all the packages (a.k.a plugins) you don’t use but for some reason you had them installed,
  • or there isn’t much use of that particular package and you can do without it,
  • or it was there just for fun. But before removing the packages, one must know which package is consuming how much startup time. You might want some of those unnecessary packages to stay with you if you know they are not the real culprits who are slowing down your development environment.
The line indicating the startup time will always be in every package description. It signifies the time consumed by packages to load at the start of Atom Application in milliseconds.

I have seen (mostly on online forums) some developers groan about this kind of sluggishness but I haven’t met it yet.


Recommended Packages

Most of these packages are helpful in my daily JavaScript coding environment. I think they will be helpful to you too.

The main advantage of an editor like Atom is that you can highly customize it. You can hack it, make your own packages, or use the one that are already there in the community and bend them as per your needs.

Lastly,

Don’t forget to check the key bindings

Note: At the time of writing this post, Webstorm IDE did not have support for frameworks like Ionic and the latest Atom Version is 1.8.0.

I haven’t covered all the plugins that I use but what I think are necessary. What about you? I would love to hear about the plugins you use.