When comparing Spacemacs vs AWS Cloud 9, the Slant community recommends Spacemacs for most people. In the question“What are the best JavaScript IDEs or editors?” Spacemacs is ranked 10th while AWS Cloud 9 is ranked 13th. The most important reason people chose Spacemacs is:
Spacemacs combines the Emacs platform (with the full power of the Emacs plugin ecosystem) and the Vi keybindings (via EViL), all in the same box.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Combines the best parts of Vi and Emacs
Spacemacs combines the Emacs platform (with the full power of the Emacs plugin ecosystem) and the Vi keybindings (via EViL), all in the same box.
Pro Simple but powerful configuration architecture
At the heart of Spacemacs, the configuration layers group packages configuration into semantic units that can be toggled on and off. The architecture is simple but powerful, allowing the user to easily manage configuration dependencies between hundreds of packages.
Pro Community-driven configuration
Spacemacs is the biggest community-driven Emacs starter-kit.
Pro Above average documentation quality
Documentation is mandatory for each new configuration layer and can be accessed directly within the editor in Org format.
Pro Cross-platform
Emacs runs on Gnu/Linux, Mac OS X, and Windows.
Pro Completely configured out of the box
Stuff like version control, file management, good default theme are all configured out of the box.
Pro Mnemonic and consistent keybindings
Space-lead key bindings are organized in mnemonic namespaces. For instance, buffer actions are under SPC b
, file actions are under SPC f
, project actions are under SPC p
, search actions are under SPC s
, and so on. Keybindings are consistent across the whole distribution thanks to a set of conventions.
Pro Can be controlled fully with the keyboard
There's no need to reach for the mouse again since Spacemacs can be fully controlled with keyboard.
Pro Gradual learning curve
Evil package is a first class citizen and Spacemacs embraces it from day one. Evil package allows Vim users to be productive very quickly while still allowing regular Emacs users to use Spacemacs.
Pro Remote file editing
Files can be edited in Spacemacs remotely.
Pro Great note-taking and agenda mode built-in
Allows for great organization applications that can be saved in future-proof format, plain text, can be integrated with org, LaTeX, markdown, HTML, Literate Programming and be committed to source control.
Pro Offers a number of practical features
Spacemacs has some great features for taking notes, tracking to-do lists, and tracking time.
Pro LaTeX support
LaTeX allows for auto-completion, syncing, and more.
Pro Manage many code bases easily
Pro Daemon support
Has great daemon support, which can mitigate the issue of slow startup.
Pro Can work in terminal mode
Sometimes you only have terminal access, over ssh or something.
Pro Great CFEngine support
Syntax highlighting and org-babel extensions.
Pro Great support from the community
The community surrounding Spacemacs is very active and there is a welcoming gitter chat for users to ask questions.
Pro Lowers the risk of RSI by using the spacebar as leader
Spacemacs got its name from the fact that it is uses the space bar as a default leader key. The key was chosen because it is easy to press and to hopefully lower the risk of RSI.
Pro Fast-paced development
New functionalities and fixes are added to Spacemacs every day, while release cycles are short.
Pro Easily extended with community plugins
Pro Works well with Common Lisp
Pro Manage R files easily
Pro Great Clojure support
Pro Excellent support for Elixir programming language
Elixir layer which uses the Alchemist package is the best way to edit Elixir code out there.
Pro Full terminal access
Cloud9 gives full terminal access to home directory. In their hosted Linux Ubuntu environment it has sudo powers. No UNIX commands have been blocked - npm, ifconfig, chmod, chown, tar, etc work. All commands can be accessed and any package can be installed.
And if the terminal is used when using Remote SSH feature it connects directly to the server and runs the commands on that server.
Pro Capable editor
Cloud9 uses their own editor called ACE. Besides the basics, it covers most important advanced code editor features such as code folding, converting cases, auto-completion, code analysis and refactoring, regex search and offers easy access to relevant documentation.
It also gives access to the CLI, has support for Vim and Emacs keybindings, includes multiple cursors and zen coding mode that removes all distractions and allows focusing on code.
Pro Great documentation
Cloud9 has extensive, well-organized documentation at docs.c9.io.
Pro Enables real-time online collaboration
An important feature of Cloud9 is the real-time collaboration ability. It allows pairing programs or perform code reviews really easily as well as simultaneously text chat.
Pro Integrates with AWS
Prior to being part of the AWS Toolchain, AWS integrates deeply with CodeStar and AWS Lambda, allowing you to build serverless architechtures.
Pro Offline editing
By installing and running a client application that syncs the local file system and cloud storage Cloud9 can be run locally. Great alternative for situations when the Internet connection is unreliable.
Pro Can be hosted on own server
Since Cloud9 is an open source project with source code available on GitHub, it can be run as a self-hosted solution on own hardware and behind a firewall.
Pro Git & Mercurial support
Git and hg commands can be run in the command-line, the same way as in a local terminal. There are also built-in add-on services for GitHub, BitBucket and GitLab.
Pro Runs any language
The runner has built-in functionality fo Apache, Node, Python, Ruby, Ruby on Rails, Go, CoffeeScript, Julia, Mocha and Shell script, but any other language can be used by creating a runner for it.
Pro Desktop application is available
Prior to the Cloud9 core source code being released, an Alpha version of a desktop version can be built from the source which is based from NW.js. Instructions can be found here.
Pro SSH Workspace
Allows you to connect directly to your external server via SSH. Modifying files directly on your server using a cloud based editor allows you to have the portability of the a cloud based workspace with the control of your own server (including complete DNS control).
Pro Debugging with breakpoints for NodeJS server side JavaScript
Breakpoints allow specifying a stopping points in the execution of the application. When these breakpoints are hit, the application will stop executing and give the ability to examine data such as local variables, run commands and control the execution flow of the application.
Pro Ability to clone multiple repos in one project
Cloud9 provides one free private workspace. However, I can host multiple projects there by cloning as many repositories into the root project directory, thanks to the full access terminal.
Pro Package manager
Similar to package managers for the desktop, Cloud9 also includes their own package manager, c9pm, which allows adding new software from a list of available utilities.
Apt-get can be used in the project's workspace terminal to install/update/upgrade software. Composer, Bower or any other utilities of choice can be installed to manage dependencies and packages.
Pro Provides with a simple way to deploy apps
Cloud9 allows quickly deploying apps via CLI. There are instructions on how to deploy to Azure, CloudFoundry, OpenShift, NodeJitsu, Modulus and Heroku. For example, all hosted environments have Heroku's toolbelt installed by default so all heroku commands are available from the get-go.
Pro Provides with own runtime environment
Cloud9 can connect to a dedicated VM to provide a powerful Ubuntu runtime environment in the cloud using Docker. Apps can be either run from the run panel where a selection of runners is provided or from a terminal.
Pro Support for most databases
In addition to launching a server to run code, Cloud9 will also host a database to develop against. Support for MySQL, PostgreSQL, MongoDB and SQLite.
Pro Browser testing support
Cloud9 integrates with Sauce Labs a browser testing suite that allows previewing the app in any desktop or mobile browser.
Pro Provides with a simple way to deploy apps
Cloud9 allows quickly deploying apps via CLI. There are instructions on how to deploy to Azure, CloudFoundry, OpenShift, NodeJitsu, Modulus and Heroku. For example, all hosted environments have Heroku's toolbelt installed by default so all heroku commands are available from the get-go.
Cons
Con Can be quite glitchy at times
Spacemacs combines many packages from many different authors that were never designed to work together. Sometimes they interact in unexpected ways, and things randomly break as one package interferes with another's features. This combined with frequent package updates and necessary customization by selection of layers and packages, can make these glitches hard to reproduce. It takes a lot of emacs know-how to fix these problems. Fortunately there is a very active community willing to help with these problems, but it might take a while.
Con Complex learning difficulty
You must be familiar with either Vim or Emacs. In addition, you should be familiar with the unique features of Spacemacs. The Layer concept of replacing Emacs settings is still difficult and abstract compared to modern editors.
Con Functionality layers of complicated configuration
To configure Spacemacs, settings for Emacs/Evil/Spacemacs may need editing. It's not always clear which need to be changed or how to change settings globally: sometimes hooks are needed, other times Spacemacs provides options.
Con High CPU and unresponsive at times
There are occasions when Spacemacs would suddenly consume a LOT of CPU and then other times would become completely unresponsive. This instability took place only 6 months or so ago. Restarting Spacemacs can fix it for a while but perhaps this issue is already fixed in newer versions.
Con Relative low startup time
Although configuration is heavily loaded, the starting time of Spacemacs is usually between two and five seconds. Emacs can be run as a daemon though which reduces the client's startup time to a few milliseconds. Still not as bad as other editors though, especially Electron based ones like VSCode or Atom.
Con Lacks subdomain options
Building an app that needs subdomains is impossible.
Con Free plan asks for credit card details
Free plan requires you to provide a credit card due to the nature of Cloud 9's "Free Workspaces" to be relatively abused. According to the developers, this is the only way to prevent such.
Con Part of Amazon Web Services
While the c9.io site is still up and running, Cloud9 is exclusive for AWS Customers only, and you pay the AWS Compute pricing when you use Cloud9.
Con Lacks a built-in Java builder and runner
While there is no built-in Java builder or runner currently, C9 has provided instructions on how to set them up. Instructions can be found here.
Con Does not accept New Registrants on c9.io Anymore
As being acquired by Amazon Web Services as part of AWS Cloud9, the c9.io service won't accept new sign ups.
Con Terminal will not work on Windows (Cloud9 SDK)
The terminal package does not work on the Cloud 9 SDK in Windows because it cannot find an appropriate unix shell. This might be a recurring bug undergoing fixes.