views:

671

answers:

5

I'd like to get back into some web development after primarily working on native applications, and I'm looking for advice on how to set up my web development "stack" on my local Mac. Ideally I'd like a setup that is easy to setup and maintain, but remains flexible and extensible.

In particular, I plan to use Python, so mod_python is a must.

I'm familiar with a few options:

but I don't really know the pro/cons of each, and there are probably other options that I'm not aware of.

What setup do you prefer, and what are its advantages and tradeoffs?

+5  A: 

For pure development in Python, I'd look into the django project. I've found it to be a nice mix of functionality and flexibility. You can even deploy django applications to Google Apps with some fiddling.

By default, django comes with a light-weight web server (I believe implemented in Python) that runs on a default OSX build. They walk you through deployment with Apache and mod_python farther down the line.

This is what I would develop in, if I had choice of language.

Jack M.
Be careful about using Django for Google App Engine... GAE doesn't have a "normal" database backend, which tends to be a problem for 90% of web projects. That's not to say it can't be done, but you definitely should be aware of the issues. If databases aren't an issue, +1 for Django!
Kevin
I've found that you can make the GAE BigTable implementation work very well. You just have to take yourself out of the world of relational databases. If you treat it like an OODB instead, it becomes really powerful.
Jack M.
+2  A: 

If you aren't attached to Apache, you could setup a Django stack on a Mac.

How-To for MacPorts, Python, MySQL, Subversion, Django on OS 10.5

EndangeredMassa
A: 

My current setup is mod_wsgi and Apache 2.2.9. I downloaded both from their respective sites. After a fairly quick compile on my MacBook Pro I was up and running.

There are MySQL build tutorial at HiveLogic if you want MySQL.

I had to compile some of the extensions for Apache manually as they weren't compiled into HTTPD and they werent built as shared modules (DSOs) either. On Solaris they all got compiled as DSOs, not sure why this is different.

BrianLy
A: 

I prefer to use MacPorts as much as I can because for the most part it's brain dead simple to install modules. The caveat is that your modules are installed in non standard directories /opt/. You just have to keep this in mind.

TonyLa
A: 

Checkout web2py! I think u will apreciate it. It as a miriad of qualities that are better read about in their website. But you can forget about the stack for a while and just start coding since evrything is integrated and just works. you don't even need configuration files ;-)

BTW did I mention it's fast flexible, easy to learn, etc... You can tell I love it !