Microsoft has made a number of interesting moves over the last year, from open sourcing the .Net framework to natively including php in the new windows 2008 server. Does this mean that .Net is dead?
Well, it may not be dead yet, but it’s on life support. When you take in the two above items and add the disaster that was Vista, IE rapidly dwindling market share ( down to 65% ) and the coming explosion in mobile technologies driven, of course, by the iPhone, .Net has lost it’s appeal.
In it’s inital form, when run with IE and the framework on both the server and the client, the theory of a unified environment was a good one. It held promise and seemed a good way to balance the work between the server and the clients. However, MS has run into significant difficulties in adoption and major issues in convincing customers to recode major applications using .Net. Many just don’t want to do the work again, no matter what the gains in performance or managability.
And on the competition side, many changes in the last few years, the growing adoption of other browsers and operating systems have also had an effect on .Net as they either don’t use the framework if the browser is on Windows, like Firefox or Chrome, or it’s nit available at on when running on a Mac or Linux box.
But those events pale in comparison to the coming mobile revolution led by the Apple iPhone. MS has been left behind in that arena, WinMo is losing traction to Andriod and the other Linux flavors and developers are not seeing WinMo as much of a viable platform with the visibility of the iPhone and Android.
So what does this mean? With a losing market on the client, .Net is relagated to the server. With that, does the framework offer anything to make it a more viable option than other technologies? I may be going out on a limb, but I don’t think it does. The inclusion of PHP as a server side language proves that. PHP is one of the most widely used langauages in the world, and it’s dominance on the LAMP platforms couldn’t be ignored by MS any longer.
So when this is taken into consideration with other options like J2EE, there are a lot of choices for running server side code on the window platforms. Java and PHP have one other significant advantage over .Net, they are truly portable languages, you can pick them up and move them to anywhere. Java may need to be recompiled for the new environment, but PHP is simply interpreted on the new systems and is portable into many environments.
So lets look at langauges themselves. Object oriented? All of them are, C#, PHP and Java. Extendable? Ditto. Lots of free libraries and functionality? Here’s where PHP and Java really shine. The Windows ecosystem really favors letting comapanies create and sell add-ons. This raises the cost of entry in doing business with MS as a backbone of the systems. That along with the cost of the tools to develop ( even though there several free ones ) for .Net make using MS technologies such an expensive proposition when compared to the myriad free tools available to develop for the other langauges. Not to say that all the tools are free, Zend charges a pretty penny for the Zend IDE, but it is a bloody good tool. There many free Open Source tools like Netbeans, Komodo ( which has both free and paid versions ) or the various flavors of the excellent Eclipse based IDEs like Aptana Studio.
So are .Net’s days numbered? I think so. Windows still suffers the same basic flaws that the previous generations have, poor security being one of the main things. I just don’t think that .Net would survive a new operating system, which MS is working on. No one knows when it might be released, but it makes no sense to keep it.
So long .Net. It’s been fun.
Posted in:
on the job
by
Bastien /
Tags: dotnet microsoft web development languages
No Comments