It seems like there's a new web/cloud IDE every month. Codenvy, Cloud9, Koding, Nitrous, Codebox, etc. Has anyone shifted their development environment to one of these successfully for a decent size project?
Co-founded Nitrous (but no longer part of it) so take my opinion for what it's worth.
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 [1].
There are 3 other reasons that I use a Web IDE now (started using Cloud9 about 9 months ago)
- 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.
Full disclosure: I now work for Cloud9 (wish I could edit this into the above post but HN won't let me now). I wasn't asked to post these points and the reason I recently applied for a job there was because I enjoyed the product so much.
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.
On both points, that is the exact opposite of my experience doing Node.js/Javascript/CSS/HTML in Cloud9IDE.
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.
I only program as a hobby. Cloud9IDE and other cloud services have let me build a site / service that is ranked in the top 9k globally (per Alexa) without having to fuss about this sort of thing.
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.
An intelligently-designed IDE is still going to be far easier for anything but constant, everyday use -- the learning curve of "start using this with context menus, then gradually learn the shortcuts for the things you do most often" is really far better than "everything is key shortcuts -- keep these cheatsheets next to you."
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.
> Also coding in the browser has been a miserable experience.
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. :)
Heck, even email in a browser still is rough going, and I'm using a webmail interface Google has been working on for ages now, in Google's own browser -- but I still write most of my emails in a native mail application.
"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.
I tried using my laptop to edit a document I had saved on Google Docs on the train once. Docs was unusable with a cellular connection. I didn't get to edit the document and now I post on the internet about it at 3am.
These sorts of issues are quickly going away. While it is true they have not been entirely eliminated, there are some architectures rolling out that should eliminate them. There are a couple technology problems various teams are trying to solve. First is that the editing experience has to be local fast. The new Monaco project coming out from Microsoft soon is an adaptation of Atom that is getting to near desktop editing speeds, including aspects related to Content Assist that require processing of large files in near real time. The second is internet connectivity. Increasingly, the editors that are being embedded in the browser will have transient services that can co-locate within the browser, enabling continued editing / saving even while the connection is offline. These technologies, as they mature and the edge cases are ironed out, should work to improve this concern.
Founder of Codenvy. There are 400K projects built on Codenvy hundreds of on-prem cloud installations. When we look through the saas project types, about 60% are Java and the rest are scripted language types. When we poll our saas users, most of them are in teams of <10 or working as individuals (students). Project types typically include student projects, web development projects, open source contributions, and virtual labs (setting up a complex dev scenario for sales, marketing or other purposes with factories).
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:
Sorry you ran into an issue. It looks like the machine that you grabbed to run your project on is one that is attempting to launch an Apache server. So, given your c++ project, you probably need another machine to launch.
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!
I have one pretty big project on Cloud9. The main reason is that I can assist designer whenever he needs any help.
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.
I built a decent sized Meteor app a while ago on Nitrous, but started running out of memory on their free tier after a while. I recently switched to Codeanywhere, which I'm still evaluating. My main reason for using a cloud IDE is because I am a Windows user and I wanted to build something on the latest version of Meteor without needing to start up a Linux VM or Vagrant box.
I got into C9 to develop on a Chromebook but found it simple and functional enough to use in general. I only use it with remote servers so the size of the project doesn't really matter. It might if you want to collaborate with a bunch of people all live editing through C9's collaboration feature, but I haven't tested that.
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.
Yup, I have Cloud9 installed locally on my own server. All my coding is done through it. Fast, easily accessible over VPN, and complete control. Love having multiple terminals open right up on my server in the IDE and just flip through them using tabs.
This looks great, it could be a good tool for setting up dev environments for student interns. Not sure how well the C++ is. Their documentation [1] doesn't list how to install privately, nor is the pricing for private setups clear.
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.
Why would you use anything other than "standard" dev environments for student interns?
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.
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.
Not _most_, but I do a decent amount of development through Cloud9 on a Chromebook. I'd intended to install Ubuntu on it, but actually because of C9 I've not needed to. It's also proven invaluable for assisting people; the ability to spin up a fresh new C9 VM to collaboratively debug a project has been very useful.
The Pebble Web IDE is actually really pretty good! I generally don't use them, but for Pebble it was easier, as it offers direct deployment, complication toolchain etc.
I really like their UI and deploying over the web - that was like magic. But I was having a weird issue with loading images in Pebble.JS at first. I came back a week later and the image load worked just fine under the same conditions. They're still in early stages, but it's an awesome platform.
Plunker (http://plnkr.co) is a site in the top 9k globally (per Alexa) and was developed exclusively in Cloud9IDE (http://c9.io).
I have several computers that I use at different times and being able to switch computers without friction has been the a major boon to productivity. I also love the IDE itself. For someone doing node.js work (in pure javascript), the built-in tools are fantastic.
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.
All coding, note taking, writing, and drawing happens in Lively Web (http://lively-web.org) for me. It comes with a shell and nodejs integration as well as a websocket-based messaging systems that allows to integrate all sorts of different backends, e.g. Clojure (https://cloxp.github.io).
I am using cloud9 web IDE for all my projects. I am a full stack web developer and I use it daily. I never used actively their vm feature but I connect through ssh all my development servers on cloud9 so I can easily manage my projects from any computer. I am very satisfied by their service and there is no turning back now.
The title is not very clear. I only knew it meant web based IDEs as it mentions Cloud9. I can see why some may think it is a question about modern day Dreamweaver.
IPython notebooks run in the browser, but (usually) don't use a remote server.
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.
At our office a lot of the development takes place on computers not connected to the internet, on a separate network. I installed Codiad (http://codiad.com/) on our dev server a year or so back. Recently it has taken off and a couple other guys are using it. I've slowly migrated from Eclipse + Remote Systems Explorer to Codiad.
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.
How long ago did you attempt to install Cloud9? It's recently been updated (~2 months ago) to the new V3 which is much easier to install and run offline (https://github.com/c9/core)
I work primarily in Clojure and Python. I haven't found anything that lets me interact with project/virtualenv repls yet, let alone have reasonable completion/documentation lookup. I use crouton from my pixel2 so I can run spacemacs. I'd be open to suggestions.
I've used Cloud9, Nitrous, and currently messing around with Codenvy, and a few others that were very lacking. My favorite so far is Cloud9, which has a ton of useful features. Nitrous is second but lacking features such as code beautify which is annoying.
I used Koding.com and c9.io extensively but got really frustrated when they were down or slow due to high usage, so just got my own $5/mo box and began doing it there.
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 always found the cloud IDE's hard to work with. Mostly because of speed, and mostly because they are forcing all the tools (terminal, editor, etc) to live in one browser window.
I used terminal.com the past few weeks. It had a couple quirks that were easy to get used to. It was stable until this last weekend where it was very slow and timing out the entire weekend. Sent them a tweet and support email on Saturday, they finally tweeted me back on Tuesday. Kind of frustrating but it is a fairly new service. I'm hoping that services such as Nitrous and C9 are much more stable since they've been around a bit longer. I guess I'll find out...
Terminal is neat, but I've had my instance fail to start twice and I never got a response from help@terminal.com. Ended up having to wait a few days each time for it to start working again.
I'm not a developer; the closest I get is managing a few web servers for clients on the side. That said, if I were I'd spin up a Vultr or Dropbox instance and use something like Codiad[1], that way I could have complete control of the back end.
So far I've stuck to Eclipse, but I wonder about using one for Scala.js (which I'm planning on using for my next personal project) just because of the toolchain and because it seems like it could make the edit-test cycle shorter. Is there anything out there with integrated Scala.js support?
I used Cloud9 for a while. The lag from typing on my keyboard to showing up on my screen became pronounced that I stopped using the service. I was on the free tier. I can see the appeal, but the execution of this service was too poor for me to use. Perhaps in the future I'll try again.
Was this log in terminal or in editor? While there is some lag in terminal because of network latency (same as with normal ssh connection), i never saw any lag in the editor, so it must be some bug triggered by specific browser/os version, did you try contacting their support about this?
What I like with Codenvy is the native support of Docker
Also now with meter based pricing, I only pay for what I use and most of the time the free tier is enough for my personal work
We have a few web2py projects at work and I find that the built in IDE/debugger works just fine and is less of a hassle than Pycharm although a lot less robust 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.
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 [1].
[1] http://docs.nitrous.io/v1.0/docs/nitrous-sync