node.js跟tornado怎么比?

nodejs tornado by Xudong Zhang @ 2015-10-21 21:54:01

都是异步非阻塞框架,除了一个js写一个python写,还有些啥差别,那个比较好?


我觉得主要的差别是生态环境的差别吧,由于js天生的异步特性,需要的各种接口库都不用担心异步支持的问题,数据库啊,缓存啊等随便选随便挑。

但是对于tornado就没这么好的命了,绝大多数的库在设计的时候都不是异步的,要知道并不是选一个异步的框架就非阻塞了,你所选的库什么都得是异步的,比如http client就只能用自带的异步的httpclient而不能用reqeust之类的,比如如果你直接sleep 2这是阻塞的,你得用gen.sleep 2,还有特别是数据库的接口库的选择,都得尽量选异步的。

总之,对于IO相关的操作应选用异步库,但是CPU密集型的就无所谓啦。

目前来看,由强大的V8支撑加上js的特性,node.js的人气和生态系统应该还是强大些,但是我个人一直是对python比较熟,因而比较喜欢用tornado,另外语言框架都是工具而已,怎么用熟使其发挥作用才是最重要的。

by Xudong Zhang @2015-10-21 22:06:19.146 +0800 CST


我来回答

Markdown格式技巧

  • 行尾添加2个空格或者添加一个空行就能换行
  • 斜体: *hello* 或者 _world_
  • 加粗: **hello** 或者 __world__
  • 代码块: 添加空行,然后代码缩进4个空格
  • 特殊字符: 用\避免转义;\*就是*本身
  • python: `__name__`可以以代码形式输出__name__
  • 一个简单的例子

切换到移动版