Over at Web 2.0 Central, Reg has an interesting post on the Top 13 reasons to CONSIDER the Microsoft platform for Web 2.0 development. I especially liked the disclaimer. Not that I question Reg’s objectivity, but it sounds like Microsoft showed him a pretty good time. Maybe I’m just jealous 🙂

This seemed like a good topic to get me back into the blogging spirit. Since I’m working on a Web 2.0 app (NetworthIQ) using the Microsoft platform, I’ve got some thoughts on the subject.

1. Free Developer Tools.

Over the last month I’ve been migrating NetworthIQ from 1.1 to 2.0 using the Express editions. We signed up for the Empower program thinking it was the greatest thing ever. All the Microsoft software you want for a few hundred bucks a year. How can you beat that? Well, you know what they say, if it sounds too good to be true, it probably is. The catch is you have to build an installable application, then make an effort to get certfied by Microsoft, among other requirements. A public web site, even one you charge for doesn’t make the cut. We could build an installable client app or something to satisfy the requirements, but that’s too much of a distraction, and frankly, after spending the last 18 months doing it at my day job, I don’t like (building or using even) installed apps very much. Now, since we’re disciplined about separating work from side-company, we need to use our own tools. Free is about all we can justify right now, so the express versions fit the bill perfectly.

Going from full Visual Studio to express isn’t the most fun, but it’s a workable solution short of switching platforms. My issues with it are:

  • Being limited to a single web site solution sucks. we have to run two IDEs, using VC# express for our non web code (domain, data layers, etc.). App_Code was just too full and I didn’t see an easy way to embed NHibernate xml files into the generated assembly.
  • The debugging is a pain since you can’t just attach to a process.
  • The publishing options are lacking and the Web Deployment Projects don’t support express. However, we still have the power of MsBuild, so that one’s not too big of a deal.

However, I am really enjoying ASP.NET 2.0, and am starting to become really productive with it (it helps that I’m now doing it at the full-time job as well). VWD Express satisfies me enough for now. Plus, based on what I’ve used for PHP development it’s pretty darn good (I don’t know enough about developing/debugging tools for Rails to comment at this time).

2. Free Database

I haven’t spent a lot of time with SQL Express, but I am happy it’s free and it’s definitely aimed at MySQL. Competition is a good thing.

3. Microsoft Atlas makes AJAX easier.

I spent some time with Atlas at work over the last few weeks, developing a proof of concept app for the project I’m on. I wasn’t too impressed. To me, it’s buggy, bloated, and poorly documented. But, I do like the Web Service proxying that makes it easy to get data back and forth. I know it’s a long way from release, but for me, it’s not usable yet.

4. Microsoft doesn’t HAVE to get ALL of your business.

I don’t see many if any LAMP shops using Atlas.

5. Microsoft solutions can scale.

It’s definitely reassuring to know MySpace is using .NET. But, why does it look like they’re still using ColdFusion? Are all 1.5 billion page views on .NET?

6. Microsoft pricing is flexible.

This will be the breaking point for us I think. If and when we have to start scaling, are we going to want to pay the Microsoft tax for Windows and possibly SQL Server licenses? It remains to be seen, but there’s a reason we’re playing with Rails.

7. Ray Ozzie

Not a factor for me. Maybe I’m ignorant, but I haven’t even bothered learning about SSE and Live Clipboard. Should I?

8. Robert Scoble

I like Robert and have read him for a long time. He even posted about NetworthIQ. I agree that he’s doing a lot of good for Microsoft.

9. Being based on the Microsoft platform doesn’t limit your acquisition options.

Glad to know :-). But seriously, I wouldn’t pick a technology for this reason. Pick something that you can build a great product with, FAST.

10. Microsoft wants to be a part of the community

Ok.

11. Microsoft employees aren’t evil.

I’m definitely not a rah-rah Microsoft developer. I hate IE (ok hate is a strong word, perhaps saying I prefer firefox is better), and most of the Live.com stuff is crap. But, I like ASP.NET and I know there are people working hard there and reaching out to be better. Scott Guthrie comes to mind as someone doing great work for ASP.NET.

12. Microsoft has good development resources

For getting up and running this is pretty true. However, there are ongoing wars between the RAD (everything’s declarative) camp and the non RADs. Just hope you don’t get caught between the two when trying to figure out a good solution to a particular problem.

13. Microsoft speeds web application development

Ahh yes, this is the clincher for me (for now). Sometimes ASP.NET can be terribly frustrating and feels like it’s getting in the way when you want to do something simple. It produces crappy markup at times that is difficult to control, and you have to constantly be aware of ViewState (page size) issues. But, in the end, once you get up to speed, it’s a nice framework.