Atom IDE is a set of optional packages meant to bring IDE-like functionality to Atom.io. It is compatible with JavaScript along with CSS and Node.js, thanks to a foundation of Electron and TypeScript language package. Atom's JavaScript package features include a wide selection of features, including context-aware auto-completion. Cloud 9 IDE is a hosted service and it's free for open source projects. If you want to have more than one private projects it's just $20 per month. Cloud 9 IDE is open source as well. Sublime is my editor of choice that I use fulltime. I've spent a week using both Atom and Cloud 9 IDE to get a sense for what they are capable of.
Atom Programming Ide
TL;DR Sublime is awesome, Atom has potential and Cloud 9 is downright impressive.
History
Picking the right editor has always been kind of a big deal for me. I've had a pleasure of watching editors evolve and grow over the past few years and have developed a great appreciation for the current state of affairs. I spend hours perfecting my shortcuts, configurations, and plugins—perhaps way too much time actually.
Over the years I've used everything from Notepad++ and Vim to Delphi and TextMate. The latter has been the biggest and most rewarding to learn and use. Every new editor that I encounter these days I evaluate based on Vim key support first, everything else second.
In this post I'm going to take a quick look at three editors: Sublime Text, Atom, and Cloud 9 IDE. Lets get going!
Sublime
Sublime Text is one of the most popular editors today and is a very strong contender for power Vim users to check out. It is commercial closed-source native application available for OSX, Windows, and Linux. A license will run you $70 per user for unlimited installations and usages. It is extensible via Python plugins of which there are plenty these days to satisfy all your editing habits.
Atom
Atom is the new kid on the block and is being spearheaded by GitHub. It appeared out of the blue in early 2013 and at first was a partially closed source application with the core being closed and all the little bits were opened. The future of that strategy was pretty unclear and soon enough the whole thing became open sourced.
Atom in my opinion is an attempt to rebuild Sublime and so essentially it is a feature for feature clone. Unlike Sublime however, Atom is a web application wrapped in a desktop shell and runs inside a WebKit instance. In this lies its power and weakness.
Atom currently is free and open source, written primarily in CoffeeScript and also has a pretty vibrant plugin community.
Cloud 9 IDE
Cloud 9 IDE is a different beast all together. It runs straight out of the browser and is a bag full of mixed emotions. It shines in some places, completely blows your mind in other places and is pretty lackluster to the point of frustration elsewhere.
The use case for Cloud 9 IDE is pretty interesting. If you have a $200 ChromeBook and an internet connection, guess what, you could be easily developing pretty heavy weight web applications, running database and web servers, have full linux console and so on. You don't need to install anything locally at all, everything runs in the cloud.
Unzip to folder. Cloud 9 IDE is a hosted service and it's free for open source projects. If you want to have more than one private projects it's just $20 per month. Cloud 9 IDE is open source as well.
Showdown
Sublime is my editor of choice that I use fulltime. I've spent a week using both Atom and Cloud 9 IDE to get a sense for what they are capable of. I have used Atom and Sublime on a pretty big repository nearing almost 8GB in size. Cloud 9 IDE was used to edit my open source projects hosted on GitHub. I've used all three editors on a MacBook Pro retina with 16GB of RAM.
To make this a little bit more structured, lets break it down into the following categories:
- Installation
- Look And Feel
- Interface Responsiveness
- Search Performance
- Features
- Plugins
- Summary
Installation
Installing Sublime and Atom on OSX is a matter of downloading a package and running the app from it. You could be using the app in seconds. Both can also be installed on Windows and Linux.
Hosted Cloud 9 IDE requires a bit more time to get going. You can sign in into the app using your GitHub, BitBucket or a local account. Once you are in the dashboard, you can clone existing project, upload your files or create a new one using any available template.
Look And Feel
I think it's extremely important that the application I stare at 10-12 hours a day doesn't hurt my eyes. Developers of all three editors clearly agree with me as they have put in a great deal of effort into the look and feel. All three feel polished and cared for and are a pleasure to use. Little details like icons, and subtle animations leave a pleasant feel without getting in the way.
Interface Responsiveness
No matter how you shake it, Sublime is the only native application of the bunch and it's the fastest. Of course, there are limits to how performant even Sublime can be. The main GIT repo that I work in on a daily basis is almost 8GB with thousands upon thousands of files. You can definitely see the limits of Sublime's file finder here as it struggles and barely keeps up. But even with that repo, the application is fast to start and is pretty responsive when editing.
Atom has recently started using React.js for its rendering engine and is at the point where it feels almost like a native application. It's still not as responsive as Sublime. The large repository I mentioned earlier can slow Atom down pretty significantly. Turn into zip file. Of course, I realize that not everyone is working with 8GB worth of project files and this might be more of an edge case.
Search Performance
This is a huge deal for me. Because I work with scripting languages, being able to quickly find what I need is paramount and Sublime stands in its own category here, with no competition. One word comes in mind to explain its search performance:
Atom search speed isn't all that great. Even on a small project it can be noticeable with large projects taking being painfully slow. Same can really be said for Cloud 9.
How search results are presented can make a huge impact on usability and Sublime shines here with grouping matches that are close together and providing enough context of where the matches are.
Cloud 9 IDE search results are pretty similar to Sublime. My only complaint is that they matches are a bit difficult to see with the default color theme.
Atom highlights matches in a very clear way, but there is absolutely no context nor grouping of search results. Each match is shown as a separate item and it just looks like a wall of text without much context. I hope this changes in the near future.
Features
Both Sublime and Atom rely on very exhaustive list of plugins for the majority of their power features. Personally, whenever I try out a new editor, the first two things I test are the VIM keys and multi-cursor support. In particular, how the two work together. Being able to select a bunch of things and edit them at the same time is a truly great time saver. When you throw in VIM key navigation on top of that, it becomes unstoppable.
All three editors support this in one way or another, but none do it as natural and intuitive as Sublime. Only Sublime allows you to freely use VIM navigation and selection keys with multiple cursors. The moment I tried navigating or selecting with VIM keys while having multiple cursors in Atom and Cloud 9 IDE, both would give up and remove all the extra cursors, falling back to regular one cursor mode and essentially rendering this feature useless to me.
In this post I'm going to take a quick look at three editors: Sublime Text, Atom, and Cloud 9 IDE. Lets get going!
Sublime
Sublime Text is one of the most popular editors today and is a very strong contender for power Vim users to check out. It is commercial closed-source native application available for OSX, Windows, and Linux. A license will run you $70 per user for unlimited installations and usages. It is extensible via Python plugins of which there are plenty these days to satisfy all your editing habits.
Atom
Atom is the new kid on the block and is being spearheaded by GitHub. It appeared out of the blue in early 2013 and at first was a partially closed source application with the core being closed and all the little bits were opened. The future of that strategy was pretty unclear and soon enough the whole thing became open sourced.
Atom in my opinion is an attempt to rebuild Sublime and so essentially it is a feature for feature clone. Unlike Sublime however, Atom is a web application wrapped in a desktop shell and runs inside a WebKit instance. In this lies its power and weakness.
Atom currently is free and open source, written primarily in CoffeeScript and also has a pretty vibrant plugin community.
Cloud 9 IDE
Cloud 9 IDE is a different beast all together. It runs straight out of the browser and is a bag full of mixed emotions. It shines in some places, completely blows your mind in other places and is pretty lackluster to the point of frustration elsewhere.
The use case for Cloud 9 IDE is pretty interesting. If you have a $200 ChromeBook and an internet connection, guess what, you could be easily developing pretty heavy weight web applications, running database and web servers, have full linux console and so on. You don't need to install anything locally at all, everything runs in the cloud.
Unzip to folder. Cloud 9 IDE is a hosted service and it's free for open source projects. If you want to have more than one private projects it's just $20 per month. Cloud 9 IDE is open source as well.
Showdown
Sublime is my editor of choice that I use fulltime. I've spent a week using both Atom and Cloud 9 IDE to get a sense for what they are capable of. I have used Atom and Sublime on a pretty big repository nearing almost 8GB in size. Cloud 9 IDE was used to edit my open source projects hosted on GitHub. I've used all three editors on a MacBook Pro retina with 16GB of RAM.
To make this a little bit more structured, lets break it down into the following categories:
- Installation
- Look And Feel
- Interface Responsiveness
- Search Performance
- Features
- Plugins
- Summary
Installation
Installing Sublime and Atom on OSX is a matter of downloading a package and running the app from it. You could be using the app in seconds. Both can also be installed on Windows and Linux.
Hosted Cloud 9 IDE requires a bit more time to get going. You can sign in into the app using your GitHub, BitBucket or a local account. Once you are in the dashboard, you can clone existing project, upload your files or create a new one using any available template.
Look And Feel
I think it's extremely important that the application I stare at 10-12 hours a day doesn't hurt my eyes. Developers of all three editors clearly agree with me as they have put in a great deal of effort into the look and feel. All three feel polished and cared for and are a pleasure to use. Little details like icons, and subtle animations leave a pleasant feel without getting in the way.
Interface Responsiveness
No matter how you shake it, Sublime is the only native application of the bunch and it's the fastest. Of course, there are limits to how performant even Sublime can be. The main GIT repo that I work in on a daily basis is almost 8GB with thousands upon thousands of files. You can definitely see the limits of Sublime's file finder here as it struggles and barely keeps up. But even with that repo, the application is fast to start and is pretty responsive when editing.
Atom has recently started using React.js for its rendering engine and is at the point where it feels almost like a native application. It's still not as responsive as Sublime. The large repository I mentioned earlier can slow Atom down pretty significantly. Turn into zip file. Of course, I realize that not everyone is working with 8GB worth of project files and this might be more of an edge case.
Search Performance
This is a huge deal for me. Because I work with scripting languages, being able to quickly find what I need is paramount and Sublime stands in its own category here, with no competition. One word comes in mind to explain its search performance:
Atom search speed isn't all that great. Even on a small project it can be noticeable with large projects taking being painfully slow. Same can really be said for Cloud 9.
How search results are presented can make a huge impact on usability and Sublime shines here with grouping matches that are close together and providing enough context of where the matches are.
Cloud 9 IDE search results are pretty similar to Sublime. My only complaint is that they matches are a bit difficult to see with the default color theme.
Atom highlights matches in a very clear way, but there is absolutely no context nor grouping of search results. Each match is shown as a separate item and it just looks like a wall of text without much context. I hope this changes in the near future.
Features
Both Sublime and Atom rely on very exhaustive list of plugins for the majority of their power features. Personally, whenever I try out a new editor, the first two things I test are the VIM keys and multi-cursor support. In particular, how the two work together. Being able to select a bunch of things and edit them at the same time is a truly great time saver. When you throw in VIM key navigation on top of that, it becomes unstoppable.
All three editors support this in one way or another, but none do it as natural and intuitive as Sublime. Only Sublime allows you to freely use VIM navigation and selection keys with multiple cursors. The moment I tried navigating or selecting with VIM keys while having multiple cursors in Atom and Cloud 9 IDE, both would give up and remove all the extra cursors, falling back to regular one cursor mode and essentially rendering this feature useless to me.
Atom's VIM keys feel pretty lacking at the moment with basics either not functioning at all or performing in an unexpected way, which is worse in my opinion.
All three editors implement quick command access which I find indispensable. This is the best way to access all the available commands with just a few quick key strokes.
Cloud 9 IDE doesn't appear to have any support for third party plugins but its current set of features is pretty remarkable and deserve their own section!
Terminal Access
Each project comes with full shell access to a server which has a fully configured environment ready to be used with goodies like Node.js, Ruby, MongoDB, Apache, PHP and so on. WordPress template is one of the starter kits and so I was able to install and configure a development instance for npmawesome.com in a matter of minutes. The fact that it was running from my 'editor' is pretty astonishing.
Collaborative Editing
Share and edit files with others in real time. There have been some attempts at making collaborative editing work in Sublime and VIM, but I was never able to get that going successfully. Cloud 9 IDE has support for this baked in.
Debugger
The built in debugger for Node.js works as you would expect, with break points, variable inspection, and so on.
Image Editor
Finally, there's a built in image editor.
In terms of features that come out of the box, Cloud 9 IDE easily takes the cake here. I'm very impressed, and even more so by the fact that all you need is a browser to access all those amazing features. This means you can run it practically on anything with a modern browser, a $200 chromebook for example:
Summary
Node Js Ide
- Sublime is my personal preference. It's blazingly fast, relatively cheap and I can customize it to match my needs via limitless selection of plugins.
- Atom is a free alternative to Sublime that comes pretty close to feature parity, but you pay the performance penalty here. If you aren't working on giant multi-GB repositories, you will be just fine in most cases.
- Cloud 9 IDE allows you take your web development terminal anywhere where there is internet and a decent browser. If you and a buddy working on a project together, I recommend looking at Cloud 9 IDE for its amazing collaborative features.
What's next?
- Ready to develop APIs in Node.js and get them connected to your data? Check out the Node.js LoopBack framework. We've made it easy to get started either locally or on your favorite cloud, with a simple npm install.
Recently I have been playing with Node.js and for every developer, getting the perfect IDE/Editor and setting up the workspace is very important. Here's how I got my set up ready:
I am using Xubuntu 14.04.3 LTS. So the steps that I am going to share will work in any of the Ubuntu flavours.
1. Installing Node.js: Node.js is already there in the default Ubuntu 14.04 repository and the version is 0.10.25. If you need more updated version, you have 2 ways. You can either download it from the official Node.js site, or you can follow this tutorial and add a third-party repository or use nvm to get it installed. In the first case, it will not be auto-updated though. However, I chose to use the default repository version as I didn't see the point in going through all these hassle unless I specifically want a feature that is only available in the newer versions.
To install the default nodejs in Ubuntu 14.04, type the below command (or use your favourite package manager to install the package):
sudo apt-get install nodejs
2. Installing Atom editor: While this is something that is not exactly required for Node.js and Node.js can be developed with any editor, I preferred Atom for it's set of features and open source nature. To install Atom on my system, I used the WebUpd8 PPA so that I get regular updates and I don't need to build from source to install the latest one. To use the WebUpd8 PPA, use the below commands:
sudo add-apt-repository ppa:webupd8team/atom
sudo apt-get update
sudo apt-get install atom
For further information, visit the WebUpd8 site. You can also download the latest version of the software from Atom official site.
3. Configuring Atom to run Node within Atom: While you can write your code in Atom and run it from the terminal separately, I prefer to run it within the IDE itself, it saves a lot of Alt + Tab. It's not supported by default, you need to add a package to get this functionality.
Open Atom and go to Edit -> Preferences -> Install. Search for the package atom-runner and hit Install. Atom-runner will now be installed. Although you need to change the default configuration to run Node using atom-runner. The reason is that in Ubuntu, the name of the Node.js package (hence the command) is not node (it is the default everywhere else) due to the conflict with some other package, rather it's nodejs.
To update the configuration, open ~/.atom/config.cson with your favourite text editor where ~ stands for your home directory. Paste the below lines:
runner:
scopes:
js:'nodejs'
Online Node Js Ide
Do take care of the indentation. The first line of the above text should be indented a little right and the next two lines should each be indented further right.
Best Ide For Node Js
If you do the above steps correctly, you have your Atom editor ready to write some Node. Create a new file and name it to somename.js. Paste console.log(‘It's working.') in the editor and save it. Press Alt + R and it should print the output in a new tab.
That's it for now. I will be adding more contents to it as I go with Node. Let me know in the comments if you have better suggestions about Node.js development. I will be sure to take a look.
Atom C++ Ide
If you are looking into ways of tuning your Atom editor to be better suited for coding Javascript with the features like content-assist, go through this post about The Perfect Javascript Editor.