[prog] Python web applications
jennyw
jennyw at dangerousideas.com
Thu Apr 14 18:04:22 EST 2005
The PyWebOff sounds like a great resource!
Here are some of my thoughts in addition ...
When thinking about making web sites using Python, Zope immediately comes to
mind. However, writing Zope applications is more than just programming in
Python. Zope is more of an application server that it is a lightweight
framework. A lot of the development that people do in Zope isn't just
Python, but also things like Zope Page Templates
(http://zpt.sourceforge.net/). For example, Plone -- a CMS based on Zope --
has a lot of parts to it besides Python code. I find that it's kind of hard
to get started with Zope -- there's a lot to learn, and it's a bit much if
you have a simple application in mind. This isn't necessarily a bad
thing -- I think ZPT is brilliant, I love that Zope comes with an
object-oriented database backend that provides access via Web pages, DAV,
ftp, and XML-RPC. I'm also a big fan of Plone, and it wouldn't have been
possible without Zope. However, it can be a steep learning curve, and if
you want to write a relatively simple application to start with, it's not
something I would recommend. If do you decide to get into Zope, it seems
the most popular book is "Zope Bible". I don't think there are any super
recent books on Zope out right now -- there will be a few coming out on Zope
3, but Zope 3 isn't compatible with Zope 2.x, which most applications are
built on. If you're interested in content management systems, Andy McKay's
book on Plone is more recent and also talks about Zope in addition to Plone
(my main interest with Zope is Plone, in case you haven't guessed!).
There are a whole lot of frameworks available, but I don't think any one of
them is preeminent, nor do I have much experience with them. In fact, most
of what I know about them I've read in relationship to Ruby on Rails.
There's even an attempt to create a RoR-like framework in Python -- it's
called Subway (http://subway.python-hosting.com/) and is an attempt to
combine several existing Python products into a full stack development
environment. "Full stack" simply means including all the pieces you need
for development - templating, object-relational mapping, Web services, etc.
(many Python frameworks deal with only one piece; Zope provides all of that,
plus a whole lot more).
Of course, if you want to see the results of your work quickly, and don't
mind branching out beyond Python, I strongly recommend you take a look at
Ruby on Rails (http://www.rubyonrails.com/). One of the best things about it
is that you can get a functional database driven Web application in just a
few minutes. This is great for encouraging incremental development -- you
get started with something very simple, very quickly, and build your
application by adding parts and making changes a little bit at a time.
Jen
More information about the Programming
mailing list