What are the advantages / disadvantages of a Cloud / Web based IDE?

I am writing this because DevConnections in Las Vegas is happening. Visual Studio 2010 was released and now I have this 3GB beast installed on my machine. (I admit it has some nice features.)

However, despite the installation being monopolized on my computer resources, I began to want my IDE to work more like Google Documents (instantly available, accessible anywhere, readily available, collaborative, naturally, version).

Several google (and StackOverflow) searches led me to:

I am well aware that the IDE is missing a lot of what exists in VS 2010. However, this is not my question. Instead, I'm wondering what benefits a web IDE might have? Assuming the company is investing time in creating missing features, what's the downside?

+2


a source to share


4 answers


Benefits:

  • The code is available anywhere on the internet.
  • Simple exchange mechanisms.
  • Simplified assembly mechanism
  • Many modern IDE features available (autocomplete, syntax highlighting, etc.)
  • Modern browser required

Disadvantages:



  • The code is only available if an internet connection is available.
  • A modern browser is required (this may be an issue in some corporate settings).
  • Simplified assembly mechanism
  • At the mercy of the latent gods
  • No built-in debugger
  • No choice of version control
  • No clear backup
  • There is no clear way to completely remove the source code from the vendor's servers.
  • No support.
  • There is no choice of a server maintenance schedule.
  • There is no control over the features and tools of the IDE or environment.
  • You need to trust the security and privacy of the provider.

As you can see, many of its advantages are also potential disadvantages. Therefore, I find that using a browser based IDE is very project dependent.

However, IMHO, I don't think browser-based IDEs have enough features or provide enough necessary services to replace desktop IDEs in most modern enterprises.

+6


a source


It's just that devils come in here and list the disadvantages:

Disconnection!

The fact that you don't really have any software - if you stop paying your monthly bills, you won't be able to access it anymore, but you can continue to use the offline installed products after the initial payment.

Large / valuable projects can be awkward if their source code is not hidden on the network they control - one hacked account and their primary IP address is on the network.

Limited extension ecosystem - with online services, there is usually control over it, for example, with facebook, but no one says what features they might include



Force update - large corporations are still running .net 2.0 (only .NET has arrived). They can be slow, and forcing them to use the latest and greatest version of the app can be too fast for them.

Subject to bugs - some people have personal rules, for example, they do not apply to software v1. If you always have the latest version, you expose yourself to the blows of performance bugs (security updates are a different category for feature upgrades, but with desktop software, you can isolate your vulnerability and address your own reasons for upgrading)

Interoperability - your app may be running with another app - they may not be able to keep up with the release rate of the main app and interoperability functionality may lag while other developers play catching up.

Centralized point of failure - no control over backups, redundancy, etc. - in the hands of the developers of this service.

Personally, I find cloud services very convenient and over time I have a laptop, a desktop and a work computer, and my friends have computers, and it becomes a difficult task to synchronize data between lots. At this stage we are still dealing with toy applications on the Internet, but hopefully in a few years time Silverlight will put a big dent in it.

+2


a source


Network inheritance is less functional than native application. Also, how do you compile and test your code? No sane web host would let outsiders compile, run, and test their code on their servers.

0


a source


Besides being "ubiquitous" (note the quotes), you get the "advantage" of editing your code on the server. As such, you can skip many of the deployment steps required for many server side applications today. There's ease of code editing as you edit a blog, but it can also be a scourge. You still need a way to separate development from production.

However, if you use Blog or many CMS applications, millions of people use "Web IDES" every day, so obviously they are applicable for specific applications. I can tell you that there are times when I want a bug fix in a deployed application to be as easy as clicking the Edit button.

0


a source







All Articles