Serious question, what are the points in favour of having IDEs as web apps instead of standalones?
Serious question, what are the points in favour of having IDEs as web apps instead of standalones?
The only point in favour is that it runs on crippled operating systems like ChromeOS.
Google wants us all running Compiler-As-A-Service, Editor-As-A-Service and Debugger-As-A-Service webapps that have Google Analytics and Google Adsense running on them. So they created a crippled OS that can't run Free and Open native apps leaving the users with no choice but to use closed proprietary software services running on some other machine that they don't control
Software as a service is the least free kind of software. We should be fighting hard against it. This is an even more serious fight than the fight against local proprietary software (at least in that fight we still had control of our own data and weren't forced to upgrade to new versions).
http://www.theguardian.com/technology/2008/sep/29/cloud.comp...
The concept of using web-based programs like Google's Gmail is "worse than stupidity", according to a leading advocate of free software.
Richard Stallman, founder of the Free Software Foundation and creator of the computer operating system GNU, said that cloud computing was simply a trap aimed at forcing more people to buy into locked, proprietary systems that would cost them more and more over time.
The 55-year-old New Yorker said that computer users should be keen to keep their information in their own hands, rather than hand it over to a third party.
We need to stop building these traps. If you find yourself using cloud services, think again and consider if there is native software that you could use instead that will run on machines that you control giving you full control over the data and the code.
Some content I don't want to own (music, books, etc), some cloud services are open source (so they can live well beyond their creators) and some other services combine local and remote access (eg. github). As much as I want full control, I also want options.
Tools such as JsFiddle, CodePen, etc. are extremely limited by design. They are intended to simply demo and showcase HTML, Javascript and CSS. Codio is a fully-fledged IDE and code editor, and does a lot more. Take a look at our homepage and you'll why.
So while we can do what JsFiddle and co. can, and would be delighted if you used it for that purpose, our main goal is to get you guys to use Codio as your IDE of choice.
These types of developer tools will makes it easy for me to move between OSes and even types of devices. These types of tools will eventually allow us to work from out Tablet (maybe for a quick 20 minute editing session after dinner because you just came up with an idea how to do something) , Phone (quick a fix type/spelling error while waiting for the train), desktop (your routine daily development).... all from the same setup. This is the future I look forward to.
Granted: this type of stuff won't fly for corporate/enterprise work for a long time....
Imagine having a build script that initialized all your software licenses, and that the tools all auto-upgraded in the background. Isn't that way better? I think this is kindof the GNU Tools & apt-get dream.
I'm sure the lines between software & cloudware will blur, so shouldn't the goal should just be freedom & control. Offloading tools (as the above poster mentions) is, I agree, just a scam to get you to pay... It's like paying for iTunes just to have it auto-update without asking for your permission. And if you hate the new version, sucks for you because using a new media player involves using proprietary tools to transfer your data & account, rather than just installing a new player & pointing to the same media folder.
Check out this editor: http://www.mrdoob.com/projects/htmleditor/ https://github.com/mrdoob/htmleditor
Runs entirely client-side, you can download the files, open in a browser, and voilà, full functionality.
Apps like this are the promise of the web, of OSes like Firefox OS and Chrome OS. It's only developer imposed limitations that are to blame, much like online-only DRM in native apps...
• why have a real-time browser preview in your IDE when you can have a realtime-IDE preview in every browser you want to test in?
• access your workspace with your settings from any computer (and OS)
• you could deeplink directly to lines of code in a browser and place that in documentation or tickets to make it easier for people to reference
• real-time multi-user editing could be made possible this way
• never need to update/upgrade your IDE software as the online code can be improved seamlessly and instantly for all users
• instantly make code shareable to another person
• create and manage temporary access to specific parts of code for online users
I think most of what you are reacting to has nothing to do with the technology involved in running a web-based IDE, but rather you object to the hassles involved with running a business around providing a web-based IDE.
You could build a web-based IDE that didn't require a login, but how would it save your settings or projects? You could build a web-based IDE that didn't store or access code online and only worked from your local storage too, it would just be silly for many people to go to all that effort and not have the obvious advantages of being online as well.
Perhaps a better solution than public cloud services is a class of business software built using web technology that each user operates privately.
To see some of the use cases around why cloud IDEs are used over desktop IDEs, we have listed them on our site. https://codenvy.com/why/cloud-ide/. The early uses have been around scenarios where configuration / setup of desktop are burdensome: pair programming, hackathons, training events, or partner integrations. We have some demos with Google, Intuit, and WSO2 that show what IDE on demand might be like, but those are special case scenarios.
As for the concept of downloading the IDE itself. Some cloud vendors do offer offline mode, and packaged chrome apps which do give that very behavior. It's first inning sort of stuff, but it will be possible in the future to allow offline sync of the development experience. Some cloud providers offer both build / debugger runtimes, so downloading offline, means also having a way to synchronize the project's files, and the underlying infrastructure necessary to execute the code. In a pure Web app sense, where it's HTML / CSS / JavaScript, this is fairly easy. But if you need to have synchronized access to dependencies, libraries, or runtimes, then the challenges are more pronounced.
Thanks for the cool questions.
"Developers Spend 13 Hours/Week Administering Their Desktop.".
That seems like an awful lot, 2 days a week on "administering"? Is this real data from desktop IDE users, if so then this is clearly a huge problem. What kind of things are people spending the 13 hours on each week that is saved by moving to a Cloud IDE?
I could see overhead if developers were constantly swapping from project to project to fix bugs and each of those projects had different set ups in terms of where the source code was stored, how it was configured etc.
I can't speak for other companies/languages/setups but using one of Eclipse/Netbeans for Java with Maven and SVN/Git is pretty low overhead in terms of configuration for me. For PHP we use SVN, SublimeText and pre-defined build and deploy scripts, which also do not have many pain points.
Genuine question: where is the 13 hours spent each week?
This does have a tendency to happen in various degrees in larger enterprise environments where configuration problems of the IDE and the systems you are building become costly to maintain. The way we think about it is that organizations have invested in DevOps technologies to automate the entire release process post-commit of the code. But that once the changes make their way out into complex staging / production environments, there are config + code changes that do not synchronize cleanly back into the developer's workspace. So, as the number of commits increases, and the size of the team increases, there are many more synchronizations that need to occur to keep development systems ready for the coders.
So the time suck shows up in mysterious ways: 1) Maintenance of the IDE install, especially with Eclipse which has had plug-in versioning & interoperability challenges at times.
2) Synchronizing configurations across teams, commits, and machines.
3) Collaborative / human costs, from the time spent in having large teams figure out the best way to operate & use their development workbenches consistently.
4) The environment problem, which is partly due to the production environment configuration is not exactly identical to what can be run on the desktop, so managing that in an automated way poses time issues.
My first thought was, we already have this it's called JSFiddle. If I want to just screw around or play with a simple idea I can go to JSFiddle without signing up and just play.
That said, I think that the execution is really nice and I hope that they find a market.
I used to code RoR & when I moved to Java my mind was blown by how advanced Eclipse's plug-in ecosystem & perspective switching is. (I know I know, you can code RoR in Eclipse...)
This looks appealing, and I understand this maybe if it becomes a complete cloud dev/deployment stack for Node & the scripting languages, but outside that I wouldn't trust configurations given by a web-app company that is trying to simplify my coding life.
AWS has a learning curve & some lock-in but people delve into that world because there is so much freedom otherwise. Cloud IDE tools are just like working from the file system of a very restricted machine. A big part of software engineering is the edge case, the freedom to use your box to engineer something really unique.
Semi-Tangent I may get ripped apart for: When I first started working for a corporation I was a little uneasy about getting into a physical server, Java-based ecosystem. But after observing awhile and realizing a lot of the possibilities that this offers, I'm relieved not to have to live & die so much by the framework culture. I think Netflix is really inspiring to this end. I'll admit I haven't dug through their code repos much but the fact that they open-source things and maintain an interesting tech blog are a testament to the fact that a lot of ingenuity is still happening in the "this is MY stack" world (vs. "we need to rethink our business model to fit a pre-defined stack/framework/toolset").
I used to love Heroku as well, but lately I've been having so many 2nd thoughts. In a world of Machine Images... why trust a company that will upcharge based on "Services" (a lot of which are just pre-configured installations of open source software) rather than charging for straight resource consumption. If it were upto me I'd kindof rather keep a sysadmin on retainer to build some better images, and then maybe open source those. Except I'm sure Amazon is way ahead of me on that.
Also, scroll down their page to see their pitch.
They will enable someone to code anywhere on any computer on any OS without installation and without having to spend time on source control. This means my Chromebook can be productive and maybe even IOS android with a keyboard.
On the anywhere part, it's a very similar situation, I feel like source control it's better because in the end you don't want your code to end up on any possible computer and you have more control of what you can do.
Now its only a matter of the PC industry learn with this punch in the stomach, and really innovate; once it does it; its back on track again..
Intel board copying Arduino for instance, is showing they are learning..
Also, imagine when they start to create something like Raspberry PI but with movable parts.. where people could change its small pieces with something to give it different functionality according to the pieces used... Even if the big ones from the industry do not see that, some small player will do it.. and the PC industry are restarted with a fresh cool air
For phones its understandable, they need to be small, so storage space have to go.. but for notebooks, it doesnt make it favorable to the user; its only for the cloud computing religion sake, and to force people to put everything in the could so they can control your life..
Chromebooks/Browserbooks are traps.. we are better with PCS and normal notebooks.. and trying to replace them with this cloud-trap notebook its just silly
So, getting back to the point; You only think the cloud version of this IDE a good thing, because of the chromebook limitations. Limitations it doesnt need to have in the first place.. only for the sake of the corporation behind it, and not for the user..
And this trend was started with the loved-all-around Steve Jobs.. everybody are following.. and if this trend catch on.. we will start to see more and more.. corporation cults.. like new religions; cause our lives will become so dependent on them we are doomed..
There are many people who don't care about the asset being on a machine vs their phone. They just want the asset wherever they are. This is why there's so many successful cloud-based services like DropBox and Evernote.
Why is source code any different? (Not asking about corporate privacy/trade-secrets here, just the concept of a code file as text being shared to all your devices and thought of as an asset you always have access to).
I'm of the opinion that the sooner I can throw away the device I'm using today, and pickup my work with the next device, the better we are. Using my desktop computer here at work. Tablet on the train, etc... and then I want a new Tablet? Boom, just log into my IDE and I can continue coding ASAP. Just like logging in to email.
This wave is coming. Right now big enterprises have virtualized their dev environments into secure environemnts that you can only access via RDP. The next phase for them is offering only secured source-coded private-cloud based editing solution.
What we need its that cloud-storage and backup be a optional solution. Im against cloud storage as a obligatory condition of the digital life.. and the trendy-push for to everything-in-the-cloud movement..
Because this leads to lock-in and really fucked-up concepts of property (like the Bruce Willis case against Apple being unable to leave the tunes he bought to his daughters)
So, cloud-storage? Yes.. but only as an option; otherwise you're locked (and welcome to the neo-feudalism)
One advantage to web-based code editors is that you have it everywhere you have an internet connection. There's a problem with that too though; you need an internet connection.
(Freddy May from Codio)
But this is a good start for the indy web-developer working on certain types of projects.
(Freddy May from Codio)