Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I like @Glyph response. Twisted is very comprehensive, rich python framework. Twisted and Tornado have a very similar design. And I like this design very much: </p> <ul> <li>it's fast</li> <li>easy to understand</li> <li>easy to extend</li> <li>doesn't require <em>c-extensions</em></li> <li>works on PyPy.</li> </ul> <p>But I want to highlight <em>Tornado</em>, which I prefer and recently gain popularity. Tornado, like Twisted, uses callback style programming, but it can be inlined using <code>tornado.gen.engine</code> (<code>twisted.internet.inlineCallbacks</code> in Twisted).</p> <h3>Codebase</h3> <p>The best comment is from <a href="http://cyclone.io">http://cyclone.io</a> site. <em>cyclone</em> tries to mix Twisted and Tornado because:</p> <blockquote> <p>Twisted is one of the most mature libraries for non-blocking I/O available to the public. Tornado is the open source version of FriendFeed’s web server, one of the most popular and fast web servers for Python, with a very decent API for building web applications.</p> <p>The idea is to bridge Tornado's elegant and straightforward API to Twisted's Event-Loop, enabling a vast number of supported protocols.</p> </blockquote> <p>But in 2011 <code>tornado.platform.twisted</code> was out which brings similar functionality.</p> <h3>Performance</h3> <p>Tornado has much better <a href="https://web.archive.org/web/20140916094802/http://casbon.me/what-will-pypy-do-for-your-website-benchmarki">performance</a>. It also works seamlessly with PyPy, and get huge gain.</p> <h3>Scalability</h3> <p>The same like Twisted. Tornado has <code>tornado.process</code> and a lot of rpc services implemented on top of it.</p> <h3>Functionality</h3> <p><a href="http://pypi.python.org/pypi?:action=search&amp;term=tornado">There are 71</a> Tornado based package, compared to 148 Twisted's and 48 Gevent's. But if you look carefully and compute median of packages upload time, you will see that Twisted ones are the oldest, then Gevent and Tornado the freshest. Furthermore there is <code>tornado.platform.twisted</code> module which allows you to <strong>run code written for Twisted on Tornado</strong>.</p> <h3>Summary</h3> <p>With Tornado you can use a code from Twisted. There is no need to use cyclone which only <em>twists</em> your code (your code becomes more messy).</p> <p>As for 2014, Tornado is considered as widely accepted and default async framework which works both on python2 and python3. Also the latest version 4.x brings a lot of functionality from <a href="https://docs.python.org/dev/library/asyncio.html">https://docs.python.org/dev/library/asyncio.html</a>.</p> <p>I wrote an article, explaining why I consider that <a href="http://rz.scale-it.pl/2013/01/25/tornado___the_best_web_framework.html">Tornado - the best Python web framework</a> where I wrote much more about Tornado functionality.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload