Could a single web framework popularize Python?
Ian Bicking
ianb at colorstudy.com
Tue Oct 7 16:13:15 EDT 2003
On Tuesday, October 7, 2003, at 07:10 AM, Alex Martelli wrote:
> Gilles Lenfant wrote:
> ...
>>> to be the most popular. Then, there's Twisted, which is (I'd say) the
>>> dominant/most popular general-purpose networking framework for
>>> Python.
>>
>> Twisted is *not* a web publishing framework. It's a low level protocol
>> framework, in the same family of packages as Medusa.
>> Or I missed something :o)
>
> Twisted comprises both lower and higher levels. E.g., see
> http://www.twistedmatrix.com/services/twisted-advantage
> and I quote:
>
> """
> Publish a Web Site
>
> The twisted.web webserver is a scalable, small-footprint web server
> that's
> easy to configure. It's efficient enough to serve a high-traffic
> website,
> completely dynamic and reconfigureable on the fly, and simple enough to
> configure that you can have it set up and running in just minutes after
> you've downloaded it.
> """
Twisted is more like Apache or mod_python than a web framework. Woven
is a framework built on top of Twisted, and the closest thing to The
Twisted Web Framework.
Working directly with Twisted is like writing Python CGI scripts.
Sure, it works, but it's not a "framework". Of course, you can build a
framework on top of it (and you probably will be accident if not
intention).
It gets confusing, though, because Twisted is both a specific program
-- the Twisted server -- and a collection of tools and ideas, as well
as an execution model (asynchronous) that becomes a defining aspect of
Twisted. Woven's architecture is strongly influenced by the
requirements of asynchronous programming. So while there's nothing
keeping other frameworks from working on top of Twisted, Woven is one
of the few (only?) that would really be Twisted style. And of course
Woven is the only real framework included with the Twisted distribution.
--
Ian Bicking | ianb at colorstudy.com | http://blog.ianbicking.org
More information about the Python-list
mailing list