ATOM- An Editor of 21st Century
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.
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.
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.
I have seen (mostly on online forums) some developers groan about this kind of sluggishness but I haven’t met it yet.
- open-recent (to continue where you left)
- sync-settings (do you work more than one machine? This for you)
- Ionic-Preview (for people who are working Ionic Framework)
- terminal-plus (terminal inside atom)
- atom-jade (there is support for ejs, handlebars, mustache too)
- jade (if you are into jade, this is a snippets package)
- js-hyperclick (as your project goes bigger, you will get addicted to it)
- atom-lupa (nice one if your daily musings includes React)
- autocomplete-modules (Node.js devs: autocompletes require statements)
- atom-pair (developed by the guys at Pusher, a must if you do pair coding)
- linter + linter-jshint
- encourage (a nice one to have, if you are having a dark day, fun)
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.
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.