The real benefit is not in the Web IDE per se, but the fact that your dev environment is accessible from anywhere. That is the killer feature. You don't have to setup your environment more than once if you have more than one computer; you can work even with a Chromebook/iPad, and it's easily shareable with your team.
The web IDE is great if you want to make quick edits (or want to collaborate in real-time) but in most other cases, native editors have it beat.
Nitrous also provides file-sync tools which let you use your current editors with a cloud-based dev environment .
- When doing client work it's much easier to show clients what you're working on at any time. Don't need to mess around with a staging server and uploading files + DB changes etc.
- All client projects are in their own environment with their own config / env vars / DB. So say a client wants changes made 3 months down the line it's super easy to get the project back in the state it was then. On a local machine I frequently run into problems where I've updated my machine or changed config since last working with them and it takes an hour or two just to get the project going again.
- When learning new languages can just create a new project of that type and it has everything you need ready to go. Especially useful if you have a windows machine where using NodeJS / Rails is often much more painful than it should be.
Just wanted to post about why I made the switch to an online IDE because I only realised what a time saver it was for client work after I started using it.
Also coding in the browser has been a miserable experience.
It is clear that the browser environment imposes some restrictions on what an online IDE can do (restricted hotkeys, no on-machine filesystem access). Notwithstanding that, I've come to prefer the Cloud9IDE environment over local options and love being able to pick-up where I left off as I switch between computers.
There are many things I could do given the time and interest. Learning everything needed to get where I am has taken lots of time that I feel is better spent providing direct value to the product and its users vs. wondering what the 'optimal' dev environment might look like.
I tend to use vi when doing sysadmin sorts of things... but there are a dozen commands that I've relearned several times now, because I learn them, don't need them for a few weeks, and then have to re-learn them when I need them again.
As an alternative, VCS have solved the problem of picking up where I've left off in an IDE-agnostic way so I can use the tools I've grown accustomed to.
Basically that ^.
Having tried some web IDEs, I can say it's not a pleasant situation when browser crashes or hangs.
Putting aside local tools or whatever, the editor must must be available at all times, with or without internet connection. At least that's my view. :)
"Edit X from any anywhere" is a great idea, and "Every time you open the application you'll automatically have the newest version" is a great idea, but when you add them together and get "our application will run in the browser" it falls flat (still) in crucial ways.
Just basic workflow -- work on your code in the browser-based IDE, then (in the same browser, with your multiple tabs and windows) go dig up some ideas on SO, check your gmail... Now flip back quickly to your IDE. Oh -- but it's not in your dock/taskbar, or Alt-tab menu. Which of those browser windows was it in?
You can work around this by tweaking your workflow, and obviously Google in particular is working on browser apps that bridge the gap; I use Postman in Chrome, and that's a better experience. But this is more important than I think a lot of people realized.
So nobody uses emacs or vi without static analysis plugins either?
Our on-prem customers are enterprise. So a lot of WebSphere, WebLogic, maven, ant, node, Oracle DB, SQL Server, Postgres.
We also have about a dozen OEM customers that use Eclipse Che or its derivatives to create new embedded or hosted IDEs. SAP is adopting Eclipse Che at the core for building new business applications that have dev IDE built in. IBM is doing similar work with Orion on BlueMix. WSO2 is embedding cloud IDEs into their API management servers using Che.
We try to capture real user reviews, which always help. A lot of the cloud IDEs are on these sites:
Chrome store: https://chrome.google.com/webstore/detail/codenvy/lefigjbiim...
[INFO] Preparing environment to run application codejam on…
[INFO] Starting Runner @ Thu Apr 30 13:41:36 UTC 2015
[DOCKER] Step 0 : FROM codenvy/php56_apache2
[DOCKER] ---> 432686a10598
[DOCKER] Step 1 : ENV CODENVY_APP_BIND_DIR /var/www/html
[DOCKER] ---> Using cache
[DOCKER] ---> 4d541163106e
[DOCKER] Step 2 : VOLUME /var/www/html
[DOCKER] ---> Using cache
[DOCKER] ---> d5c4065956b6
[DOCKER] Successfully built d5c4065956b6
[INFO] Environment preparation done. Application codejam starting up…
[STDOUT] Starting web server: apache2.
[STDOUT] ==> /var/log/apache2/access.log <==
[STDOUT] ==> /var/log/apache2/error.log <==
[STDOUT] [Thu Apr 30 13:41:39.272766 2015] [mpm_prefork:notice] [pid 500] AH00163: Apache/2.4.10 (Debian) configured -- resuming normal operations
[STDOUT] [Thu Apr 30 13:41:39.272825 2015] [core:notice] [pid 500] AH00094: Command line: '/usr/sbin/apache2'
[INFO] Application codejam booted and reachable.
[STDOUT] ==> /var/log/apache2/access.log <==
[STDOUT] 10.13.176.166 - - [30/Apr/2015:13:41:40 +0000] "HEAD / HTTP/1.1" 200 183 "-" "Java/1.7.0_71"
If you cross-post your question at the Google group, an engineer will help you investigate. I sure hope this wasn't the machine from the C++ sample project -- that would be a silly mistake on our part!
At the beginning when everything moved around a lot it was just time-consuming to give him instruction on how to update to newer version. We kept everything on there and it is working pretty well for us.
I do most of development locally but sometimes when I am away and need something quick I do it over C9.
The only other downside is that it requires you to install a bunch of deps and an outdated version of Node.js on whatever remote server you connect it to. I wish they'd make some of that optional.
Could you share how you set this up, and how much it costs?
It's completely open source. License allows non-commercial use, if you want to be completely legit and use this for commercial purposes, you need to get in touch with them or use the hosted version.
You've probably ironed out many kinks in your dev environment, and can help them when they run into them. You run risks at alienating your interns with un-manageable errors.
> can help them when they run into them
I previously had a big reduction in questions regarding version control once I setup GitLab running on our server and a simple tutorial wiki page. We also don't have enough computers for all the interns, but have a powerful number crunching machine. We do engineering work, some students have only used MatLab. A webpage would be much easier to setup, and less hassle for me.
Maybe with time they'll workout the bugs.
EDIT: Other relevant fact is that this is all hobby development work as I am not a professional programmer. As such, I have never had the time or motivation to really create a custom dev environment of my own. Cloud9IDE gives me a great setup without any tweaking needed.
I worked at Google for a while in 2013 and they had an awesome web IDE named Cider. I wonder if that is still in use internally at Google.
This medium - html/js - is great for analysis work with lots of image-processing/plotting/reporting, etc. but very difficult to build out a full app in it because it lacks any of the normal IDE find and refactor tools. Also, the .ipynb file storage format tends to obscure finding code within directories.
Super easy to install (its all php based, very few dependencies), and for the most part "just works".
I have codiad open in the browser and usually a PuTTy window open on the server to test, run command line, etc.
We have Linux(Ubuntu) servers and a mix of OSX / Windows dev machines. Keeping Eclipse working across all of them was annoying (and explaining how to setup when a new Developer comes in). Now I just create a Codiad account, a ssh account and let them have at it.
I went down the path of attempting an "offline install" of Cloud9, but gave up after a while...it mostly assumes you have an active internet connection.
I use [codebox](https://github.com/CodeboxIDE/codebox) on a digital ocean droplet for nearly all my development. It's a simple-to-install node app, though it's not being actively developed from what I can tell so I'd really like to switch to a local install of cloud9.
I'm not sure how good it would be for a big project but it's been a pleasant experience with the few small programs I've written on it so far.
Wish they support VIM keybindings as well.
I imagine that one can upload local files to the server, but when you're saving a file or compiling, it's all being done on the server side rather than locally.