Nick Malik asked “what is the Rails “answer” on the Microsoft platform? If we don’t install Ruby, do we use Rails on JS or is there a Rails version we may want to put up ourselves?” I guess it depends, what is the Rails “question”?
On the one hand, the question could be “What’s the best way to run Rails on Windows?” I think the short answer to that is IronRuby. In the wake of the IronRuby announcement, John Lam wrote that “Nobody would take our implementation seriously if it doesn’t run Rails.” Somepeople question the DLR’s teams ability to ship a compatible version of Ruby without looking at the source, but my money is on the DLR team. (Of course it is, I’m a kool-aid drinker!)
On the other hand, maybe the question is “can ASP.NET evolve to be more Rails-esque?” I think it’s starting to, slowly. Rails at it’s core is a Model View Controller web app pattern (aka Action Pack) combined with an Active Record data access pattern (aka Rails’ Active Record). Certainly, nothing stops you from using a similar approach with ASP.NET. The Castle Project has an ASP.NET implementation of MVC (aka MonoRail) and Active Record (also called Active Record). But I assume Nick’s more interested in what ships natively in the platform to compare to Rails.
On the data access side, I think LINQ to SQL is a a compelling alternative to the various Active Record implementations. It’s not an implementation of the Active Record pattern, it looks more like a Table Data Gateway patten. Also, it’s not DRY like Rails Active Record, but I think that’s more of a function of dynamic vs. static languages. Castle Active Record isn’t DRY either. But once you get the hang of the slightly funky syntax (the from clause is first so you can get intellisense) I find LINQ very easy to use. Certainly, building Query Objects is a snap.
On the web app framework side, the story isn’t so pretty. The agile folks like MVC because it’s easier to test (among other reasons – see update below). Apparently, there’s an ASP.NET MVC framework that’s “in the works“, but AFAIK no one has seen or heard anything about it since the MVP summit. Jeffrey Palermo was impressed with what he saw, but I guess everyone else has to reserve judgement until it gets a little more public.
UPDATE – in the comments, Jeffrey Palermo points out that he likes MVC “mostly because it separates concerns of controlling screen and rendering the screen. It makes the application more maintainable and keeps the code easily changeable.” Point taken. I didn’t mean to imply that testability was the only virtue of MVC.