in .NET, Rails

When PHP makes sense

I have been looking into development frameworks for a web based software product. I want the product to be able to be installed on a variety of platforms, including Windows server with IIS. First I was looking at creating the app in ASP.NET and make it run under Mono. Unfortunately I can’t find an MVC framework for ASP.NET that works the way I want. Ruby on Rails has really lowered the threshold of what I can put up with in the form of configuration and learning curve. Damn you DHH and your rapid web framework:-)

Ruby on Rails runs happily on Linux and in Java environments thanks to JRuby. It does not work well with IIS yet (until IronRuby is here I guess). There is, however, interesting work being done in the RORIIS project (also see Dorje McKinnon’s Set up Rails on IIS blog post). The only problem I have is that I have heard a lot of reports where Rails under IIS isn’t working properly and that the RORIIS bundles several components that Windows server managers may find scary.

Django and Turbogears does not seem to work well under IIS either. For Django, the PyISAPI is required and apparently it hasen’t been actively developed for a while leading to bugs in the latest version of Django (you also have to run Python 2.4 instead of 2.5).

Turbogears seems to be close to work on IIS. Only problem is that it requires a reverse proxy filter that hasen’t been actively developed since 2005 which makes me wary about using it.

So, looking at Symfony, the Rails inspired PHP framework, I am beginning to wonder if that would be the best choice right now. The installation instructions for Windows/IIS seem straightforward. Symfony recommends the commercial ISAPIRewrite filter (lite version os free). For IIS7 it looks like Microsoft is stepping up to the plate with a decent Fast CGI module. Performance seems to be adequate too.

So, right now, Symfony/PHP seems like a decent choice for this app if I can live with the intricacies of PHP. Who would have thought…

  1. I’ve been going through my feed backlog, and I ran across your posting. There is a nice MVC framework for .NET modeled on Rails called Castle. It’s worth keeping in mind if you ever have to do any other .net stuff.

  2. If you’re looking for a good, lightweight (albeit temporary) PHP framework while you’re waiting on compatibility with IIS, check out CodeIgniter. I’ve used it on several sites using IIS with good success. Plus it takes a lot of the headaches out of flipping between Linux and Windows boxes.


Comments are closed.