Wednesday, April 8, 2009

ASP.NET MVC is the last gasp

I started web development with open source as long as 10 years ago. Then it was PHP on an Apache server and I've continued through PHP 5 creating everything from mySQL databases to custom frameworks and CMS. Not too long ago, a new client project required ASP.NET technology, so I learned how to use .NET too. Here are some pros and cons.

Pros: Lots of documentation. Large developer community. Many adopters in the corporate realm.

Cons: Several. One particular blog I found nailed the issue. It's a matter that parallels the PC vs Mac debate. In more abstract terms, it's a question of

Goal-Oriented vs Process-Oriented

Stripping away the layers of good arguments on all sides, I have found Microsoft solutions tend to favor process over goal orientation. That's not good for independence and it's not good for speed.

A specific example.
You're a developer intent on deploying a web application quickly using whatever tools are best.
With Apache and PHP, the process is contained discretely within the server environment.
With Windows and .NET, there is a ripple effect requiring the expertise of the IT department. You need to know all about system permissions, a great deal about SQL management. Really, lots of peripheral management issues come to drag your process to a crawl.

That aside, there are a lot of smart people using .NET, and I'm interested in learning more about quick ramp-ups for .NET solutions. I'm a fan of Visual Studio's GUI and the xml DataSet system in .NET. I only wish they were quicker to adopt the DRY principles of RoR in their framework.

Since most of my clients fall into the small to medium category, unless they are running 100% enterprise solutions, I recommend a PHP or RoR orientation.

I will still be looking at .NET MVC resources to see what they've done to address quicker CRUD deployment. It begs the question, what open-source solution will Microsoft roll out years after the competition next? That is why edgy developers tend toward Apple and Open Source.

No comments: