in

ASP.NET Weblogs

Li Chen's Blog

Is it time for cloud-based ASP.NET IDE?

We already have a standard IDE in Visual Studio. We also have a very innovative IDE in WebMatrix that can work with node.js and php in addition to ASP.NET. Why do we need another IDE? Well, let me first talk about the feasibility and then throw in some ideas on what we could do with it.

I have noticed CodeMirror for a long time. Recently, I have also noticed ACE on which the Cloud9 IDE is based. I was impressed that both CodeMirror and ACE supported Typescript soon after it was released. I was also impressed with the Cloud9 IDE that can debug Node.js code. All these projects have benefited from rapid improvement of the Javascript engine in modern browsers and I think that the era for very functional web-based IDEs has arrived.

So what can we do with a cloud-based IDE? Firstly, like what Cloud9 demonstrated, the code lives on the cloud. Secondly, people can collaborate. Thirdly, I think it is possible to improve experience to what we have never seen before, so let me elaborate below.

In Visual Studio, when we want to see how the ASP.NET page looks like, we switch to the designer mode but that is not really close to what we see at runtime. In a cloud-based IDE, we can see the code and how it renders side-by-side, like what JsFiddle has demonstrated. ASP.NET does not execute the code on the website directly; it first compiles the code into the “Temporary ASP.NET Files” directory and executes the assemblies from there. That makes it feasible to edit and run the code at the same time.

Visual Studio has been heavy on ORM (i.e., entity framework) and lighter on code-generation. I have been favoring code-generation over ORM. This is because with ORM we are tweaking a black box to generate desired SQL. With code-generation, we can see exactly what we get and tweak the templates when necessary. Visual Studio has limited runtime information; it gets its information either from parsing the code, or from meta-data stored in XML files. With a cloud-based IDE that is working with running code, it is possible to get richer runtime information and generate code (or scaffold) under much wider scenarios. So how do we map the server-side code to html in the browser? That is where ideas like source map could help, and we have very good tools in querying DOM already.

So I believe all the technical pieces for a cloud-based ASP.NET IDE are available.

Published Mar 18 2013, 06:54 AM by dotneteer
Filed under:

Comments

 

preishuber said:

no

March 18, 2013 1:46 PM
 

stephajn said:

HTML / javascript maybe. ASP.NET? As in MVC and Web Forms and Web Pages? No, I think there are still some things needed that wouldn't be available in a browser-only environment.

March 18, 2013 2:49 PM
 

dc said:

I think it would be neat.  A basic editor that can connect to Git/Hg/SVN/TFS.  Have it integrate with Azure as well so you can deploy with a single click.

March 18, 2013 6:00 PM
 

Ming said:

No, for me, i don't need.

Just like PHPAnywhere , ideone etc.

Does someone really push their commercial project to these cloud base IDE?

March 18, 2013 11:23 PM
 

SGWellens said:

No.

March 19, 2013 2:20 PM
 

David said:

This might be a good environment for my ex-wife to code in, but not so much for me.

March 20, 2013 6:15 AM

Leave a Comment

(required)  
(optional)
(required)  
Add