Inspired by the recent burst of activity on this list, I have decided
to share some
impression ;)
I have some experience with the following Web frameworks:
- Zope 2
- Twisted
- Quixote
- CherryPy
Zope 2 is the one I use at work, and the one I hate the most.
Twisted is better, but the Web part (I mean Web2, livepage,
etc.) is too experimental, too complex, too little documented, etc.
Quixote is good, but nobody is using it.
CherryPy is the nicest to use: I really like this 'Hello World'
program that was just posted on comp.lang.python.
import cherrypy
class HelloWorld:
@cherrypy.expose
def index(self):
yield "<html><body>"
yield "Hello world!"
yield "</body></html>"
cherrypy.root = HelloWorld()
cherrypy.server.start()
In my opinion, an 'Hello World' program should not be more complicated
than that. I came to Python because it makes easy things easy,
and because it allows rapid development. I want a Web framework
that follows the same philosophy.
I did some simple things in cherrypy, but I am worried. It seems to
me that it has been very fragile in the past and possibly it is
fragile even now. However, it has progressed a lost in the last
two years, where Quixote has remained nearly static. OTOH, there
was nothing to improve in Quixote, whereas there was a lot to
improve in CherryPy.
The thing I do not like about CherryPy is the usage of threads.
I like Twisted deferreds philosophy, but I think a lot of people
will not use it because of its the excessive complexity for simple things.
Today I wrote a small module (<50 lines) to make Twisted look like CherryPy
and to get the CherryPy 'Hello World' to run. It is cheating, since it
does not provide the full CherryPy functionality, but it gives the
essential. Unfortunately, in order to write it, you have to spend
ddomr time in order to understand how Twisted works :-(
I think the authors of Web frameworks should realize that a lot of people
doing Web development (including myself) are not Web developers: they have
other things to do and just want to spend as little time as possible on the
Web issues. CherryPy authors realized that, so they have a lot of success,
even they are not necessarily using the best technology.
Just another case of "worse is better" :-/
_______________________________________________
Quixote-users mailing list
[email protected]
http://mail.mems-exchange.org/mailman/listinfo/quixote-users