I'd love to see someone build an IDE that lives locally but syncs up to a cloud service so I can pull everything back down to a different machine and work there. I think you could actually do this with Docker, where your "IDE" would not be an editor, but a virtual system with the code, the database, a web server, the right version of Python/Ruby/foo, dependencies, etc., and you could use whatever editor you wanted. As you worked, the app would use Docker to save the state of the world and push it up to the server. It seems like this would get the benefits of cloud IDEs but still provide the low latency and flexibility of working locally. I don't have the time or expertise to build it, but I hope someone will!
One of the nice things about TFS is the whole shelving things, it doesn't pass the tests yet, but you want to switch machines, makes it a lot easier than having some personal branch / patch set etc.
Codebox will soon be distributed as a Desktop app as well (it can run perfectly well on Desktop right now but is not packaged).
That's a nice idea, and Codebox could do that, Codebox.io actually users Docker behind the scenes by the way. So those VMs could be moved to the desktop as well.
Open up and issue on GitHub and let's talk about this.
+1 to this suggestion! Something that feels as seamless as Dropbox would make my dreams come true. And even better if it could sync to different providers of my choosing, e.g. Dropbox, Google Drive, etc. etc.
I sometimes wonder, can cloud IDE's will really be able to replace traditional code editors like Sublime Text, Vim, Emacs.
I really like the idea of cloud IDE's, but practically it's difficult to bring the entire development environment on cloud/browser, and even more difficult when switching from Vim.
Anyways, I really appreciate the efforts you are putting in this project. Congrats guys/gals, job well done.
What advantage do you see versus just the ability to edit remote files (which has been around for decades) or sync local files with a server (a.k.a. "cloud storage")? Why suffer the UI limitations (solvable), latency (not solvable), and unreliability (not solvable) of having your development environment sitting on a server somewhere?
I find my self writing code in VIM via ssh using tmux and works fine. You can do pretty much everything on CLI, so I don't see how this is a substitute for VIM when all you need in order to write VIM/emcas code is a remote (secure) shell.
That said, vim is not an IDE, although many prefer (me included) prefer it over an IDE.
I have the same reservations. There are a few notable developers who have blogged in the past abut using Nitrous [1] as their primary development environment, so I'd like to say it's possible.
I wonder though if something like Vim.js [2] couldn't start to get closer to making this a practical tool for my workflow. Between that and having offline support / native app to use, there'd certainly be a lot of benefits. Ultimately though, I think the #1 thing it'd come down to is lag; if there's lag (like ever, including trying to launch the program, when I'm offline, or while I'm typing), it can't be my primary development environment without constant annoyance.
Codebox will actually be released as a desktop app as well. And I think that's going to be pretty important to have a truly hybrid IDE that runs both on the desktop and in the cloud.
And what's particularly nice is that the cloud IDE and desktop IDE can share 95% of their codebox.
As a result you have an IDE built with web technologies (JS, HTML, CSS, NodeJS) that can run virtually anywhere (desktop, public/private cloud) and you can iterate quickly thanks to the nature of web technologies.
I was confused for a moment at the app name as I thought this referred to the excellent CodeBox application[1]; I thought maybe that app had been evolved into a full IDE.
Codebox & Cloud9 share some similarities (IDE's built with web technologies).
However we have a big emphasis on modularity, ease of use. We have a Desktop app (linux/mac) coming in the pipes.
Our cloud version has offline support (so you can code even when the network cuts).
And a handful of other things. For example our hosting platform supports stacks (swappable VM images), that allow us to provide our clients with tailored environments to suit their needs (languages & frameworks they use).
Overall Codebox & Cloud9 are both interesting projects. And the Cloud9 team has definitely built some interesting stuff as well.
It might be worth noting that some of the key components used by Codebox are actually developped by Ajax.org (the Cloud9 team) like the ACE code editor component and the vfs system.
Thank you for keeping your source open. Interesting to poke around in the internals.
Seems like a cool project, but you might want so consider changing the name, given that CodeBox has been around for years: http://www.shpakovski.com/codebox/
I signed up at codebox.io and when I go to "Start editing" a test box that I created, I get a HTTPAuth login box. Not sure what to enter here, but my codebox.io password doesn't work.
I thought that maybe I had missed a dialog box with a user/pass, so I went to delete my test box and create a new one. But nothing happens when I click the delete button for my one box.
2) I created a new "public" box with a python stack
3) Clicked "start editing"
The app says "PREPARING YOUR WORKSPACE" and then asks me for a password (via http auth.) If you're asking for my github password, you're not going to get it... Then again, you probably aren't, so I'm clueless as to what to put there.
yeah, same problem here, I'll check back on it later. Either way, nice idea, I like the idea of online/offline. it'll be tough to steal me away from emacs/evil mode though :)
Definitely interested in contributing, going to get this up on a VM tonight and try and get to grips with how it works. What's the best way to get in touch with you?
Error: HTTP ERROR 200: Error: connect ECONNREFUSED at errnoException (net.js:770:11) at Object.afterConnect [as oncomplete] (net.js:761:19) ERROR: Loadfire does not know how to handle that request
I like the idea of cloud IDE, but I just don't know if they are as flexible as I want them to be, like with adding tools and packages or connecting to staging databases via VPN.
is there a way to run this on a local machine. from the root, I run "node index.js" and nothing happens. from /core/cb.server, I run "node main.js" and nothing happens.
I installed by cloning and cd into repo, ran npm install.
I did not do "npm install -g codebox" because I wanted all the files in a specific directory. Therefore, I'm not using the codebox command that is supplied in the readme. I wanted to start it by running 'node __somefile__'
npm ERR! Unsupported
npm ERR! Not compatible with your version of node/npm: loadfire@1.3.4
npm ERR! Required: {"node":">=0.8.0"}
npm ERR! Actual: {"npm":"1.1.4","node":"0.6.12"}
enjoyaol@serveur:~/codebox$ uname -a
Linux serveur 3.2.0-55-generic #85-Ubuntu SMP Wed Oct 2 12:29:27 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
A lot of things are being improved as we speak. We've got a Desktop bundled IDE in the works (Linux/Mac) and I've been working on some more advanced completion and language integration for C/C++, Java and .Net.
So expect this to evolve quickly over the next few weeks. And obviously now that it's open source anyone can help improve the project :)
The only time I see this is when installing a command-line utility of some kind. For instance, if you install express with -g you can generate an app skeleton.
Installing libraries globally would be a problem, but it doesn't seem like this is what Codebox is doing.
If you don't want global state you could use a VM?
It's global because it is not per project. For example, I don't want to install a tool in every folder that I might happen to use it in. (Or bother setting paths and symlinks)
I really tried to give this a shot but it fell down spectacularly.
1. NPM install failed.
2. Registering for an account with github failed the first time.
3 Creating a workspace failed.
4. 'Start Editing' is now asking for a password.
This is not a great first showing for a concept as critical as an IDE. I was genuinely excited to try this but cant trust this until it bakes for a few more months.