Bitbucket Embraces the Cloud IDE
blog.codeanywhere.com
blog.codeanywhere.com
APL, Asterisk, C, C++, Cobol, Java, C#, Scala, Clojure, CoffeeScript, Common Lisp, CSS, D, diff, ECL, Erlang, Gas, GitHub Flavored Markdown, GO, Groovy, Haskell, Haxe, ASP.NET, Embedded Javascript, JavaServer Pages, HTML, HTTP, Jade, JavaScript, JSON, TypeScript, Jinja2, LESS, LiveScript, Lua, Markdown (GitHub-flavour), mIRC, Nginx, NTriples, OCaml, Pascal, Perl, PHP, PHP(HTML), Pig, Plain Text, Properties files, Python, Cython, R, reStructuredText, Ruby, Rust, Sass, Scheme, SCSS, Shell, Sieve, Smalltalk, Smarty, SmartyMixed, SPARQL, SQL, MariaDB, sTeX, LaTeX, Tcl, TiddlyWiki, Tiki wiki, VB.NET, VBScript, Velocity, Verilog, XML, XQuery, YAML, Z80
My current solution to needing to develop on multiple machines is to keep an external SSD with me that has a Linux VM development environment. It's inconvenient in certain ways, but I have a completely customized environment & toolchain that's reproducible and reliable anywhere VirtualBox is installed.
I would be interested in a cloud solution, but the JetBrains products are so amazing and so I would be hesitant to migrate even with how clean this solution looks compared to mine.
* Always up-to-date * Always available on any machine (in theory) * Built-in accessibility (if designed properly) * Less of a security risk to local machine
Of course, that's not to say there are no disadvantages ...
C9 felt rather clunky to use :/
As a for-example, the initial Visual Studio .NET IDE releases were horrible and most people I know who did Windows development in that time-frame stayed on VS6 for quite a long time after it was officially obsolete.
- requires Internet to work (Internet is not electricity yet, + I'm personally opposed to putting things on-line that don't have any reason to be there)
- you don't control updates (what 'georgemcbay said about VS 6.0 + devops hell when you don't get to control your dependencies)
- current web apps suck at customization (I can't imagine having my Emacs in cloud)
- as the IDE goes to cloud, so does the file system, thus seriously crippling usability (closely tying data to applications is one of the stupidest things that came out of SaaS trend)I haven't used the one in the OP but I do use http://mbed.org/ for embedded development. There you can use a tickbox to import someone else's library code into your project (or you own, of course) and track/import any modifications of it.
When it launched there were fears about lock in, but you can export it to an offline GCC environment any time.
Find someone slightly younger and they'll share stories of using notepad and loosing whole projects because their desktop hard drive failed.
While today we have a distributed source control system, powerful desktops and powerful servers. I too fail to see the logic on moving back to running a thin client for development.
So yeah, why?
I see cloud IDEs as a product of a few years ago when "everything is going to the web." Today "everything is going to mobile" so you're seeing similar attempts to force fit everything into that model.
The only rationale I can see for a cloud IDE is fine grained real-time collaboration features that work easily everywhere, but in practice I've rarely wanted such a thing. Having more than one person typing on the same source file is just obnoxious. Another use case I can imagine is people who are total nomads, but then again a Macbook Air or similar tiny laptop is pretty portable.
I think the biggest drawback to an online IDE is the development box itself. Are you comfortable developing with just 256mb - 1024mb of RAM? For some web apps and low-CPU projects, this may be fine. Otherwise, you're going to lack that processing power and speed.
- they spin boxes for you.Imagine you want to try that new tech without installing virtual box or vagrant on your computer,well that's how I started learning go.Integrated multi-user programming.
- You can do peer programming easily or if you are doing some tutoring you can see what the student is typing and correct it.So 2 people can work on the same files at the same time,...
- cloud9 editor has good performances,integrates well with git,github and co.
- You can preview web projects online directly(start a server,go to a url and see the result...),
- SSH login into you own box or server and remote file editing with.
Now does it have "intellisense" or autocompletion or refactoring tools for Java,C# and Co? no. But it does a good job at editing scripting language files.
The appeal here is really, quick editing or quick experiments.It's a bit like js fiddle,it's a code playground.
And it's opensource(at least the previous version was).