When comparing AWS Cloud 9 vs Neovim, the Slant community recommends Neovim for most people. In the question“What are the best JavaScript IDEs or editors?” Neovim is ranked 3rd while AWS Cloud 9 is ranked 13th. The most important reason people chose Neovim is:
NeoVim was a complete rewrite of Vim, with new features added and underlying issues resolved thanks to the Vim code base. The keybindings and configuration are the same as Vim, so the switch can be pretty simple.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
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.
Pro Still Vim but with upgraded features and some issues fixed
NeoVim was a complete rewrite of Vim, with new features added and underlying issues resolved thanks to the Vim code base. The keybindings and configuration are the same as Vim, so the switch can be pretty simple.
Pro Better integration with external tools
The core text editor is "headless", meaning it's detached from the user-interface so other programs can hook into it. This enables better integration with IDEs and browsers, where "Vim mode" has typically been a poor substitute because it was a partial rewrite or a partial port at best. One of the advantages of Vim has always been ubiquity and Neovim makes it even more ubiquitous.
Pro Powerful plugin model
Vim plugins have always been useful, but tied to specific languages. Neovim's architecture provides better separation between plugins and the core product, so that plugins are completely flexible and can be written in any language.
Pro Built-in terminal emulator
This avoids the user having to make any installations.
Pro UI Agnostic
The core functionality is handled apart from the UI, meaning that Neovim can be embedded into any other GUI system, such as Atom.
Pro Async plugin execution
Pro Active development community
Pro Opens a 3Gig Text File in a few seconds
Not many editors can open such a large text file so quickly.
Pro Fast and light on memory usage
New neovim editor instance starts instantly and you can have multiple editors open at the same time, because id does not require a lot of memory to run.
Pro Easier to pick-up than ever
Don't believe it? Try typing vimtutor in your command line right now.
Pro Work in TUI (Text User Interface)
Neovim can work on terminal, on a remote server over ssh.
Pro Modern code base
As a refactor over Vim, Neovim has greatly improved its code base. For example, some functionality is handled by libuv, the same code base that powers Node.js.
Pro Comes with some good configurations out of the box
Some typical configurations most of VIM users make are default in Neovim.
Pro Even more powerful since 2019, because of additions such as vim-coc, TabNine, fzf, skim
Vim gets stronger every time command-line tools get stronger. This isn't even it's the final form.
Pro Config file is where it should be
I don't like having dotfiles or dotdirs in my homefolder unless they're needed. Configs should be in the .config
dir in their respective folder.
Pro Built-in file-explorer and ability to make splits and edit multiple things simutaneously.
This makes editing multiple files at once, moving code around so easy.
Pro Treesitter and LSP
Pro Terminal mode is very convenient for testing code in a split window
Cons
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.
Con Poor feature discoverability
Con High effort to customize
A lot of time and effort is put in to make it specific to your needs.
Con Requires Brain Mode Switching
When editing in vim, you have you use the vim keys; when editing in every other window on your PC, or in Word or Excel or other application, you need to use the standard system key combinations. Learning the vim combinations can actually make you SLOWER at everything else.
Con Consume brain energy for editing that should be used for logic
Text editing in vim can be great once you've learned it, but it requires thinking about combination of commands. In other editors, you don't have to think about how to delete this part of code. You just think about how to implement a feature, what is a good design for this code. Even after you get used to using vim, it still requires your brain for editing.
Con Ambiguity in extensive documentation
Con Limited cross platform support
Neovim is not available for many legacy platforms
Con Split the VIM community
Moolenaar to be blamed for. If he opened up the development for vim to other bright minds, no fork would have happened. As it is mostly compatible with vim, it is not such a big issue.