Cloud Zone is brought to you in partnership with:

A dedicated writing enthusiast who enjoys fishing and camping when not writing some tech stuff. Eugene has posted 6 posts at DZone. You can read more from them at their website. View Full User Profile

IDE in a Cloud: A Tribute to Cloud Fashion or Imminency of IDE?

12.28.2012
| 7849 views |
  • submit to reddit

Cloud-mania was something that many people thought would never affect their lives, but it actually did. Gone are the days of huge movie and music collections that all of us had stored on hard drives and DVDs. Gone are docs attached to emails. It’s all readily available in the cloud now. It’s there, and you only have to reach out your hand. News things come to make outdated stuff history. Yet, for many people it’s extremely difficult to dump old junk for the sake of something new. So, what am I driving at?

It looks like cloud IDEs are one of such new things that programmers are afraid to dive into, but intuitively feel they will go for them sooner or later. At least I made such a conclusion, having traded a few words with my brother, who has been coding for living since 1999. And what a surprise it was to hear something like “I am skeptical about all that cloud stuff, at least when it comes to IDE”. Well, I have no doubts that Eclipse rules. But I was surprised with such an unambiguous and unappealble statement from a person who switches from C++ to Android development in a few days and always looks for new horizons and business opportunities. My curiosity got best of me, and I gave him a call. So, below is a confession of a die hard programmer and my attempts to take him to the Light Side of the Force.

IDE in a browser does not fit my coding “world view” right now

So, you are skeptical about IDE in a browser. Don’t keep it to yourself. Pour it on me!

Well, a programmer is a lazy human being. If something works just fine, you’d better not fix or improve it. There’s a tried and true mechanism. What reasons should make me try something new, invest much time into learning this new cool thing and break all possible deadlines?

So, this is like “I don’t know if it’s good but I don’t want to try it” thing?

Yes, I’d say so. Coders rarely want to feel stupid, and that’s how many of them might feel when they first get to an online IDE.

Wow. It looks like you really mean it!

Just think for a second! Who wants to be Internet dependent? Well, yes, it’s difficult to find a place without an Internet connection these days, but the connection is not always fast and reliable, especially if I am on the road. Even if I have a good connection, I am in Europe while the IDE server is in the US, so there’s no way you escape latency. I don’t think there’s much comfort in working with such an IDE. On top of that, IDE uses javascript that loads my laptop making it less responsive. I am sometimes too sensitive to those kind of things. You know what mean?

Yes, absolutely! So, there’s not a single chance that you will someday “take a risk” of switching to a cloud IDE?

There are no risks or compromises. I just want everything to work perfectly. If I choose a cloud IDE I’d choose the one where I can easily switch from PHP, CSS and Java Script to Android and iOS development. I would love using an extremely responsive cloud IDE with instantaneous functions. Now, those things look rather like Google docs with 1-2 sec delays after each action.

I have 4 computers that I use daily

But, hey, there should be something good about cloud IDE?

Oh, yes, I am not trying to demonize the recent cloud trends. For example, I use 4 computers, all with different OS. When one of them kicks the bucket, it takes the entire day to set up an Ubuntu machine. Needless to say, this is the worst day of the month for me. So, being able to access your projects from any PC or laptop is a great idea, and maybe having 4 machines will no longer be a real necessity. I think the world’s not ready for a total transition to a cloud right now. Let’s confer offline IDE its right to exist. It’s not outdated that much. Besides, many of my fellow-coders want to see a real perspective behind cloud IDE or better to say its inevitability. I am not a moustached Pete, but can’t see this happening tomorrow.

Phew! Looks like there are still grounds for hope?

Yes! A cloud IDE is perfect for web applications. Yet, unfortunately, development of an app for all platforms and devices is so time-consuming and full of underwater rocks that development of several apps for various platforms seems an easier path to take. I can bet that sooner or later web apps compatible with all platforms and devices will become reality. And those will be the golden times for online IDE. I am thrilled to see this industry developing, so good luck guys. I’ll cross my fingers for you!

************

That’s where the conversation ended, and that’s what made me write this blog post to ask coders and IT folks, what they think of cloud IDE. When chatting with my coder brother I purposely refused to speak in favor of Exo IDE which I have an honor to represent. I did it for the sake of "test integrity" so to say. Well, it’s better late than never. So, here are top reasons to use web based IDE, Exo IDE in particular:

  • No installations, no plugins, no registration routines. To join Exo IDE you need your Google or GitHub account. The registration procedure does not take long, probably a few minutes. If you have doubts, welcome to https://cloud-ide.com/ and click on the Google icon to register.
Here's a short presentation of a project creation wizard

  • A wide range of supported programming languages. Currently, Exo IDE supports Java, PHP, Python, Ruby, HTML, JavaScript,CSS and this list is surely about to expand in future. Android and iOS SDK are on their way too. Moreover, users are likely to benefit from code autocompletion and error marking features.
  • A full range of Git operations, including interaction with remote repositories. Clone your GitHub repos within seconds! You can create branches and even invite GitHub collaborators. By the way, you can invite people from your Google contact list to collaborate on your projects right from Exo IDE. Real time collaboration is coming soon.
  • PaaS deployment. You can easily deploy your apps to AWS Elastic Beanstalk, AppFog, Cloud Foundry, CloudBees, Google App Engine, Heroku and OpenShift. Moreover, you can update your apps right from Exo IDE to see changes almost immediately.
For example, in the below video you can see how easily an app is deployed to GAE

  • Debug your apps online. Yes, you can debug apps in the cloud. Set breakpoints, modify variables or step through your code. On top of that, JRebel support is offered. What do you think about changing your code and seeing these changes in apps within the runtime without redeploying your applications?
  • All your projects are hosted in one account and you can access them anytime, from any PC, as long as you have an Internet connection.
Instead of a conclusion

Progress of cloud IDE (not just Exo IDE mentioned above) reminds me of something from my personal experience

·  My father-in-law seems to never admit that a car with AT is convenient. He needs to shift gear not to control the engine and get the most of it, save gas or something. He just got used to it.

·  When I finished this blog post I realized I never let my wife dump my old Panasonic CD player that was an acme of perfection back in 2003. I never use it but I can’t let anyone dump it.

Let new things enter your life, folks! Merry Christmas and a Happy New Year!

P.S. By the way, you can check out new Exo IDE features at the company blog.

Published at DZone with permission of its author, Eugene Ivantsov.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)