Online IDEs – perspectives?
Join the DZone community and get the full member experience.
Join For FreeThe software development domain constantly introduces area-specific innovations, one of them being the creation of online IDEs - development environments that can be accessed from the web browser, without the need to install specific client software. At this time those few that are present on the arena have very limited functionality, although even at this time offer great opportunities for aspiring and professional developers.
So, why do I think that there is a niche for online IDEs and those will find their users?
1. Platform-independent
Online run just as a regular web page – from a web browser. The most we
could probably expect is the need to install a third-party plug-in for
the web browser (like ActiveX or Silverlight) to display the contents.
And that’s it. All the code compilation, linking and debugging can be
made in the cloud (on a remote machine). This means, that the
platform-dependent layer is slowly becoming transparent, allowing
developers to create their software on a platform, where initially the
language is not supported. Another example would be that the client
machine is a bit “slow” to allow the developer to work with a regular
IDE, and here is where its online analog takes a strong position, making
the development possible at different levels. The developer won’t have
to worry about hardware anymore.
2. Accessibility
The online IDE can be accessed from any place in the world, just a few
clicks away. So, you won’t have to carry that 12-project solution with
you to every single trip to a different town, city or country. This also
means that you don’t have to worry about storage.
3. Easier collaboration
Major projects are made in teams, and usually there is additional
software needed to setup a team development environment. When all the
code is stored on a remote server and the development environment is
accessible to everyone, it is very easy to collaborate in the framework
of a specific project. All you will ever have to worry about is the
server configuration for teamwork.
4. Upgradeability
This mostly refers to the developers of online IDEs, but I also decided
including it here. It is much easier to upgrade/patch a product on a
single machine rather than distributing a service pack to thousands of
clients. People want to work with stable, bug-free software on any
level, and a single upgrade in a single location could be the first
step. Also, whenever a new SDK or framework appears, the developers most
likely start working on upgrading their machines, sometimes more
painful because of compatibility issues, sometimes this is a
less-painful process. However, with a single instance of the development
platform running remotely it will be much easier to add the needed
features without the fear of messing up the whole development
environment.
Although online IDEs have several benefits, there are also drawbacks.
One of them being the code security. Not many developers are willing to
let their code “live” on a remote machine that is not controlled by
them. Mainly because of the possibility of data loss - this already
happened before in several cloud services. And in most cases the vendor
of the service takes no liability of the consequences.
But there is one
more thing – any piece of code that is created in the online environment
becomes visible to the developer of the IDE and the team managing the cloud itself.
And generally, no privacy policy is going to protect you from that. Therefore, working with private code or code that is not intended to be
used in public/commercial applications is unsecure.
At this time online IDEs run only in several places, however, I would
expect that soon there will appear commercial and free distributions for
corporate and third-party use. No matter how this turns out, it is
definitely interesting to watch this field develop and grow.
Opinions expressed by DZone contributors are their own.
Comments