何时使用Tornado,何时使用Twisted / Cyclone / GEvent / other

问题:

哪些框架/库将是构建现代多用户Web应用程序的最佳选择?我希望有一个异步网络服务器,这将允许我轻松扩展。
什么解决方案将使最棒的表演 / 扩展性 / 最有用的框架(易于使用和易于开发)?
如果它将提供良好的功能(websockets,rpc,流媒体等),这将是巨大的。
每个解决方案的优缺点是什么?

回答:

Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design”。如果您正在构建类似于电子商务网站的内容,那么您应该可以与Django一起使用。它会让你的工作做得很快。你不必担心太多的技术选择。它提供从模板引擎到ORM所需的一切事情。对于您构建应用程序的方式,这将很有意思,这是很好的如果你问我。它拥有所有其他图书馆最强大的社区,这意味着可以轻松获得帮助。
Flask is a microframework for Python based on Werkzeug, Jinja 2 and good intentions”。当心 – “微型薄片”可能会产生误导。这并不意味着Flask是一个半烤库。这意味着烧瓶的核心是非常非常简单的。不像Django,它不会为你做任何技术决定。您可以自由选择任何模板引擎或ORM,让您愉快。即使它默认配备了Jinja模板引擎,您随时可以自由选择。据我所知,Flask可以用来编写API端点(RESTful服务)。
Twisted is an event-driven networking engine written in python”。这是一个高性能引擎。其速度的主要原因是被称为延迟。扭曲是建立在延期之上的。对于那些不了解的人来说,它是通过异步架构实现的机制。扭曲非常快。但不适合编写常规的webapps。如果你想做一些低级网络的东西,扭曲是你的朋友。
Tornado is a Python web framework and asynchronous networking library, originally developed at FriendFeed. By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user”。Tornado站在Django和Flask之间。如果你想用Django或Flask写一些东西,但如果你需要更好的表现,你可以选择Tornado。如果它是架构正确的话,它可以很好的处理C10k问题。
Cyclone is a web server framework for Python that implements the Tornado API as a Twisted protocol”。现在,如果你想要的东西几乎与Twisted一样好,但是很容易编写传统的webapps呢?问你好旋风我喜欢Tornado。它有一个非常类似于Tornado的API。但问题是社区相对较小。 Alexandre Fiori是回购的唯一主要顾客。
Pyramid is a general, open source, Python web application development framework. Its primary goal is to make it easier for a Python developer to create web applications.”我没有真正使用金字塔,但是我已经阅读了文档。从我所理解的,金字塔与Flask非常相似,我认为您可以使用金字塔,无论哪里Flask似乎合适,反之亦然。
:欢迎要求审查任何其他框架!
来源:http://dhilipsiva.com/2013/05/19/python-libraries-django-twisted-tornado-flask-cyclone-and-pyramid.html

Code问答: http://codewenda.com/topics/python/
Stackoverflow: When to use Tornado, when to use Twisted / Cyclone / GEvent / other

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

+ 23 = 28