When comparing Codenvy vs Jupyter, the Slant community recommends Jupyter for most people. In the question“What are the best Python IDEs or editors?” Jupyter is ranked 8th while Codenvy is ranked 18th. The most important reason people chose Jupyter is:
Because the editor is a web app (the Jupyter Notebook program is a web server that you run on the host machine), it is possible to use this on quite literally any machine. Morever, you can have Jupyter Notebook run on one machine (like a VM that you have provisioned in the cloud) and access the web page / do your editing from a different machine (like a Chromebook).
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Easy setup
Once an account is set up and the user has logged in, all that's needed to start is to pick a language, a framework and a PaaS. Codenvy also allows anonymous logins albeit with some important limitations.
Pro Powerful editor
Codenvy has a fast, secure browser-based editor that supports syntax highlighting, code completion, refactoring and more. It can be used to edit, build, run and debug projects. It even has multi-cursor support.
The layout will be familiar to most developer, especially those experienced with Eclipse, with a file explorer on the left, code on the right and tabs for builders, runners, terminal and events at the bottom.
Pro Beginner-friendly
It allows going to any box and pick up a project and work on it.
Pro Git support
Codenvy supports all Git commands through UI and Codenvy CLI.
Codenvy also integrates well with all major Git hosting providers including GitHub, BitBucket, GitLab. Sign up, sign in, repo cloning, uploading SSH keys are supported. Tutorials for integrating various providers can be found here.
Pro Partly open source
Codenvy is a full multi-user, multi-account, multi-tenant implementation of [Eclipse Che](https://github.com/eclipse/che/_ which is open source but only single-user/account/tenant. Codenvy open source projects can be viewed on GitHub.
Pro Self-hostable (priced)
Codenvy has an on-premises solution that allows running it on own hardware and behind a firewall. The service costs $300/user/year.
Pro Nice interface
Look and usability of Codenvy IDE are nice and pleasant.
Pro Easy projects sharing
Projects are share by sharing the link (public projects), adding access rights (private and public projects) and factory.
Factory allows to share projects along with build/run settings. To try run/review project recipient just need an URL. Factory also works with external git repositories so it allows share github/bitbucket/other git hosting projects. Recipient doesn't have to be registered. It also allows giving out a share button that activates the factory and counts how many times it is used.
Pro Portable workspaces
You can send someone a short JSON file and your whole workspace (projects, config and runtime) can be replicated for them in a separate container. Great for coordinating among team members.
Pro On-demand, instant-access, real-time collaborative IDEs
Codenvy "Factory" feature enables developers to create temporary IDE workspaces with full code, build, test, deploy, and collaboration functionality that can be shared with a URL. Multiple people can work in the same workspace making code reviews and teaching simpler and faster. And there's no limit to collaborators.
Factories also work with external git repositories and can be shared with not registered users of Codenvy. It also allows counting how much a factory is used.
Pro Has a fully functional free tier
Codenvy provides a fully functional free tier with 3 GB of RAM and unlimited workspaces, free and public projects and developers. Premium subscription start at $1/month and offers machines with up to 200GB of RAM. Codenvy also offers an on-premises solution that costs $300/user/year.
Pro Fantastic Java support
All Java builders, syntax highlighting, class navigator, jump to package and declaration, and JavaDoc are present in Codenvy.
Pro Can provide a custom runtime environment
Codenvy can provide a runtime environment to test and debug code. This can also be used to share work progress with a client.
Codenvy uses Docker as the runtime application and gives access to Dockerfiles allowing any environment that runs on Linux to be built. This allows using any database, reverse proxy or builder, etc. Codenvy even provides SSH access to running container in every image.
There's also a selection of pre-built environments to speed up the development.
Pro Install anywhere Docker runs
You can install Codenvy on any OS that has Docker running on it. The simple install syntax can work through proxies and even offline.
You can use this for proxy install:
https://codenvy.com/docs/admin-guide/installation/index.html#proxy-installation
You can use this for offline install:
https://codenvy.com/docs/admin-guide/installation/index.html#offline-installation
Pro Provides a terminal with root access
Codenvy offers a terminal with full root access into the machine. Since machines can be defined with Dockerfiles this gives the ability to create any custom environment for building, running or debuging and all the access that's needed to use it as a local machine.
Pro Complete build lifecycle
The IDE allows validating, compiling, testing, packaging and deploying.
Pro Integrates with a wide variety of tools
Codenvy offers first class support for code management, continuous integration, PaaS, and project management tools.
Pro Automation of contribution to GitHub projects
Codenvy provides contribution button that can be placed in Readme.md file on GitHub. It automates contribution to the Github's projects. User clicks this button and it opens a ready to run/edit version of the project in Codenvy. If a user makes changes, Codenvy takes care of everything needed for the contribution on GitHub.
- fork of the origin project on github
- add ssh keys to push to github
- commit
- push
- create pull request in the origin project
- create factory url for review of this pull
- post this factory in pull request.
Then project's owner can use posted link to code review/run project with changes.
Pro Badge to start developing in one click
You can create a .codenvy.json
containing the Factory configuration which includes what binaries to install and how to set up the IDE, may be even start the development server. Then create a badge and put it on your GitHub repository and people can start coding and may be compile and run your server with one click.
Pro Lots of built-in templates
Pro Can be used for Android development
Can be used for android development by adding Eclipse plugin.
Pro Custom build system support
Codenvy allows setting up any build system via Dockerfile. Instructions on how to do it can be found here.
Pro Has Eclipse plugin
Codenvy can be plugged into Eclipse offering choice between online and offline builds. Plugin can be found here.
Pro Developer workspace replicas
Codenvy can create a recipe for a developer workspace that includes the build and run environment configuration plus all the IDE plug-ins, syntax rules, policies and other items. Then version and store that with the code in a repository. Makes it impossible to get a code change that doesn't build and run.
Pro Quick support from staff
Pro One-click automation
Pro SSH Access
Can connect to the workspace via SSH for use with desktop editors.
Pro Provides Java debugger
Pro Includes Subversion support
Codenvy includes full subversion version control support.
Pro Web-based development allows for usage literally anywhere
Because the editor is a web app (the Jupyter Notebook program is a web server that you run on the host machine), it is possible to use this on quite literally any machine. Morever, you can have Jupyter Notebook run on one machine (like a VM that you have provisioned in the cloud) and access the web page / do your editing from a different machine (like a Chromebook).
Pro Interactive
Most IDEs require you to separately run Python to see the output of a particular piece of code. By contrast, Jupyter Notebook can evaluate Python statements inline, giving you the immediate feedback of interactive use of the interpreter while keeping your changes saved.
Pro Graphing , charting, and other math/numeric capabilities
The interactive editor is able to display complex equations, charts, graphs, etc. making this particular editor very well-regarded among data scientists.
Pro Open source
Because it is open source, you can review the source code and also propose extensions and fixes to it. It is also possible to fork the repository and make changes to it to customize it for your specific use case.
Pro Supports multiple different programming languages
Jupyter Notebook, formerly known as ipython, used to be specific to Python; however, in recent iterations, it has become capable of general purpose usage for any programming language. Thus it is possible to use this and have a consistent developer workflow, regardless of language.
Cons
Con No custom keyboard shortcuts
No possibility to create custom keyboard shortcuts.
Con No SSH, FTP mode
For example, "Code everywhere" allows using SSH, FTP as base of project. In Codenvy it's possible only through VM.
Con No Collaborative editing
At the moment, Codenvy does not have real-time collaborative-editing. But this is on roadmap, and would be implemented soon.
Con Lacks two-factor authentication
Con Slow installation by default
Trying to install with "npm install" and the server restarts before the installation. However, you can circumvent this by using npm install --no-bin-links
.
Con Non-optimistic UI, typing results in letters being sent to server and back and then they show
Con Notebook-style makes reusing functions annoying
Con Interactive usage takes some getting used to
While the interactiveness is extremely, extremely powerful and useful, it does take a little bit of work getting to a point where it is "normal".
Con First time setup is more difficult than for other IDEs
Since Jupyter Notebook really requires two programs (the server and your browser) getting things setup in a way that works for you is a little more complex than for an ordinary IDE. For example, if you run the server and edit on the same machine, creating a little wrapper script that starts the server and then launches the browser pointing to it and gives an icon to this script is a small amount of setup but is more involved than a simple installer for other IDEs. Likewise, if you do remote development, creating a URL that will lazily spawn the Jupyter Notebook server and then turn it down when it is no longer in use is also a little bit of work to setup.
Con Non-trivial security configuration for remote access
By default, the editor is only accessible from localhost; however, if you want to run Jupyter on a VM in the cloud and do your editing through a web browser on a different computer (e.g. a Chromebook), there is some non-trivial security work to ensure that it is set up in a secure manner.