I’ve been a ColdFusion developer for 10 years mainly because that’s where opportunities lead me. I’ve worked with a number of MVC frameworks, and have been teaching myself PHP. This is interesting to me because I have yet to make the leap to MVC with PHP. You said you have figured out what you want your site to do, and that’s an important subject to address in order to get a decent answer.
Do you envision a site with lots of varied, specialized functionality. Do you see something with a lot of content, but not dramatically differing functionality? Will there be many authors, such as the entire userbase, or just a few who you select? Is it a social networking community? A news and tutorial resource, with bookmarks and user comments? Is it a true web application, targeted at corporate users with unique business logic for the various components?
This topic seems like one that is very relevent, so I hope we get some input on it. Here’s my take on this from a 50,000’ view. Some web projects truly need to rely on a cpu intensive, persistent application server. Typically those are corporate targeted things dealing with real dollars. When money is on the line, people want to see realtime reports aggregated any way they can dream up. For something with varying degrees of static content, like articles and resources, caching is a viable alternative.
While I think that isolating business logic, data, and presentation from one another is pretty crucial, it’s a methodology that can be realized numerous ways. I think that an efficiently designed MVC architecture can usually perform plenty fast, even when implemented with conventional web scripting languages. It seems a risky endeavor to invest too heavily in a technology that requires so much specialization. One thing I like least about Ruby, and I am not real well versed on it yet, is that you are restricted to a couple particular IDEs. That’s a HUGE issue for me. I can pack up my entire PHP site in moments, and transport it to a virtually unlimited number of hosts with few issues anywhere. Including my home machine which already seems to have enough application servers running on it. Once there, or at any random computer using notepad, I can make code changes to the files on my flashdrive.
In my limited research I am so far pretty interested in Symfony, Studs and CakePHP. I guess that’s more than enough for now. Sorry to ramble on for so long, but like I said this is interesting to me.
In response to your post, just to try and keep this as on-topic as possible:
How do you interpret “support” for mod_python? I am not sure if you mean to say that Django doesn’t support mod_python, or that mod_python has been abandoned in terms of support. From my perspective it’s not a critical question, because as far as I know, both assumptions are a little refutable.
From the same link, you’ll see that you can configure Django to run using spawned FastCGI processes rather than persistent ones.
The “Mod_python Manual” manual was officially released by someone using an apache.org email address in late July: http://www.modpython.org/live/mod_python-3.2.10/doc-html/
The most recent mod_python release is dated for the beginning of August: http://www.modpython.org
BTW, Ruby on Rails is typically implemented using FastCGI too, so I don’t see it as the polar opposite of Django. http://wiki.dreamhost.com/index.php/Rails