Monday, February 02, 2009

Problem for Microsoft

Do a little web searching for top Web 2.0 sites for 2008. You might have to adjust your search params to include social media or what not, but go ahead and search.

Once you have a few list up, go through them, and see hot many of them are using ASP.Net.

1? Maybe 2?

Not good. ASP.Net is awesome for creating internal enterprise-based web applications. It isn't getting that much steam, it would appear, with the innovative crowd that is bringing new web apps to the masses. This in turn means that up and coming developers, who may not exist in the enterprise sphere (yet), see only sites using PHP, or Ruby, or something else. A rational choice for this next wave of developers will be to go with what the big boys (at least of what they can see of the big boys from their vantage point) are using, and it isn't ASP.Net.

I'm in a similar position right now. I do all ASP.Net/C# dev at work, but for an upcoming personal project I'm thinking of ditching ASP.Net for at least the web component of the project. Why? It is just to much. The last web site that I built where I was exclusively focusing on solving client problems, while not having to learn how to implement technical solutions on the fly, was written with simple classic ASP. With ASP.Net it seems like you really need to be at a guru level before you can quit worrying about the how-to's and focus elusively and the why's and what is best questions. Even though I use ASP.Net all the time at work, I don't feel like I'm at the guru point yet. Classic ASP was simple, but it did what I needed without me having to think to much about it. I miss that.

Now I'm looking at PHP for the web component (I will probably stick with MS SQL Server for the db). I'd have to learn it, but it looks like the basics of PHP are really, really simple, something I can probably sit down and master the basics of (data in, data out, data on the page) in a few days. That sounds really appealing to me right now. My project isn't about learning how to do something, it is about providing something. I want to get into the providing a solution rather then learning how to provide a solution as quickly as possible with the minimal about of head aches. Plus I want to right code and have once it works to be able to sit for the next 10 years without worrying about it. PHP is going on version 6 right now, but from what I understand version 1 code will still run under PHP 6 (though this might not be 100% the case, I imagine minimal tweaking would be needed). Classic ASP is pretty stable, but who knows how long that will be around. With .Net, Migrating say from version 1.1 to version 4.0 (when it comes out) would be nightmare, and would require investments into MS server tech and developer software.

So, is ASP.Net a fit for public web applications? The big boys don't seem to think so, probably for some of the reasons I alluded to above, and for Microsoft, that is a problem.

No comments: