[Baypiggies] Python Application Servers
Ben Bangert
ben at groovie.org
Fri Dec 2 01:49:42 CET 2005
On Dec 1, 2005, at 3:48 PM, Sebastian Jayaraj wrote:
> With all these emails concerning the language wars one of the things
> that caught my attention was Turbogears as an application
> framework. Can
> anyone who has worked with python app servers make some
> recommendations
> as to how these compare - TurboGears, CherryPy, WebWare, Twisted, Zope
You'd prolly want to separate those more first, in this case by how
many decisions were just made for you.
Full-stack framework (Everything decided, from templating, ORM, to
layout style):
- TurboGears
- Django
Template languages:
- Myghty
- Cheetah
- ZPT
- Kid (used in TurboGears)
(prolly more I missed)
"Controller" framework in MVC:
- CherryPy (used in TurboGears)
- Myghty
- Webware
- Aquarium
- Quoxiote
ORM (Object Relational Mapper):
- SQLObject (well established, used in TurboGears)
- PyDO
- Durus (I think I spelled that right)
- SQLAlchemy (aiming to be the Hibernate of the Python world, still
beta software)
TurboGears uses the CherryPy session object, Django has its own
template language, session stuff, and ORM. There's also a Django
addon to support ZPT.
> My needs
> 1. Security & Session mgmt
> 2. Easy database acccess/mgmt
> 3. ability to integrate with third party programs (C, Java)
> 4. ability to integrate with custom Python libraries
> 5. XML-RPC support
> 6. Active development and community support
> 7. Robust enough for a production environment
> 8. Rapid development capability (unlike the steep curve one encounters
> with Zope)
>
> Incase you have come across anything else that worked well please feel
> free to let me know.
Some of these tools are more tailored for certain environments.
Django comes out of box with a very slick admin interface for your
database models, thats production ready for use by staff. Obviously
that comes with the assumption that your database is mainly content
management of some sort and you have a 'staff' to use it. Django also
has batches of 'generic views' which makes a lot of common object
viewing stuff quite easy and quick.
TurboGears also now has a database model browser, sort of like
Django's and development work on both projects is proceeding rather
quickly.
I personally use Myghty, and our corporate website (parachute.com)
has been running Myghty for close to a year now. Myghty makes very
few decisions for you, so its expected that you know what you want
(MVC? page-driven? etc.). Myghty is probably one of the most
documented Python web frameworks and template languages I've come
across, though Django and TurboGears are making great strides in this
area as well. I mention more things about Myghty on my blog at
www.groovie.org.
If you want the decisions made for you on how to solve the problems
you mentioned, I'd suggest Django or TurboGears as they both have
everything on your list of needs. Though I'm not sure how robust they
are as they're both quite 'new', while the Django people will always
point to sites 'using Django' that have been up for 2 years, the
codebase has undergone so much development lately that those sites
haven't actually been running the code you'd be installing.
Hope that helps,
Ben
More information about the Baypiggies
mailing list