Python Web Framework
Python WebAppFramework/Application Server options
All the WebApp pieces - framework, config mgmt, etc. http://www.fullstackpython.com/
My experiences
My personal projects (to replace Zwiki-based WikiEngine and build new things
-
Apr'2006 - Python On Mac setup, start Python Paste
-
May-July'2006 - Rhubarb Tart
-
Aug'2006 - play with Medusa, decide that's a little too minimalist for my taste.
-
Sept'2006 - consider Phillip J Eby implementation of WSGI (and Python 2.5 switch), decide I'm spinning my wheels, will return to Rhubarb Tart
-
Oct'2006 - read some more, decide Rhubarb Tart is for other scenarios. Looking at Selector with Python Paste.
-
Feb'2007: Robaccia
-
2012: try Django For Simplest Thing, then Pyramid For Simplest Thing, settle on Webpy For Simplest Thing
Work - Living Independently - 2003-2007
-
Zope v2
-
DTML is awful
-
ZPT is even worse
-
having code stuck in ZODB drives me nuts (and never got around to File System products, etc.)
-
-
our senior developer started working with Rhubarb Tart, ran into some speedbumps and wasn't thrilled with level of community of support
-
considered Django
-
went with CherryPy
Why go with anything thicker than WSGI? Bill De Hora noted ETag support is just one example; there are so many things frameworks like Rails/Django do ranging from architectural patterns around Application State management, to URL design, to testing, to template dispatching, to result pagination, right down to table coloring that the cumulative effect on productivity is startling.
note from when starting up Living Independently work
I'm going to be building some webapps used by both employees and (retail) clients. I want to use Python to build them. What should I use? Data Store will be PostgreSQL.
Some criteria for consideration:
-
time/cost to launch (2 models? 1 to start, 1 to "do right"?)
-
flexibility (low Cost Of Change): because things will change
-
extensibility (from direct sales to institutional, distribution, etc.)
-
close to writing pure-Python: easy Unit Test, documentation, debugging, CVS use, etc.
-
Template System that doesn't make me nuts
-
-
easy creation of role-based security; decent/easy form/page templating (usable by designer not programmer?); Web Services support for integrating with apps of various vendors
-
low priority: performance under high load. Load won't be high. But performance should be good at low load!
Some options:
-
Zope: v2 smells like a pain, esp for building custom non-CMS objects. v3 ain't ready yet. But maybe ZPT and a forms product make it OK?
-
Bruce Eckel and Jon Udell still think it's the best choice.
-
see Zope page for notes from Jeffrey P Shell (who thinks that WebWare's "servlets" model is non-Python-ic.
-
Template System: ZPT or DTML
-
-
CherryPy http://www.cherrypy.org/ One of the main characteristics of CherryPy is that it works like a compiler: You write source files, compile them with CherryPy and CherryPy generates an executable containing everything to run the web site (including an HTTP server).
-
Twisted Matrix: seems overly focused on network protocols, which doesn't seem that important for my needs.
-
- PTL/Python Template Language embeds HTML inside Python code
-
Les Orchard:Caffinate: used Twisted Matrix and Cheetah
-
Karrigell http://karrigell.sourceforge.net/
-
others: Albatross, Jon Py
-
mini-frameworks?
-
overview from WebWare crowd http://www.webwareforpython.org/Papers/Templates/
Some opinions:
Edited: | Tweet this! | Search Twitter for discussion