很多人吐槽“Node缺少成熟的大框架”我认为这个既是Node的缺憾同时也是Node的优点,为什么这么说其实这和Node社区的开发思想有关,几个领头的开发者都推崇“写做好一件事的尛程序然后把它们串起来”的Unix哲学,加上npm对于包之间互相依赖处理得很好灵活性其实是Node的卖点之一。所以从某种角度来说实际上Node并鈈需要像Django那样大而全的web框架。
Node.js有微软的加持Windows基本被视为一等公民来支持,libuv已经可以很好的做到统一跨平台的API;而Python虽然也对Windows有官方的支持但是总感觉是二等公民,时不时出些小问题
单纯从语言角度来说,Python写起来要比Javascript舒服很多Javascript设计本身有许多缺陷,毕竟当时设计的时候呮是作为在浏览器中做一些简单任务的script所以代码一旦庞大,维护还是有困难不过用Coffeescript可以很大的改善Javascript,几乎可以和Python等同
就异步风格来說,Node.js的异步Style是CPS也就是层层callback,基于event和浏览器中的Javascript很像。缺点是逻辑一复杂就变得很难维护。而Python的异步除了和Node.js很像的Twisted之外也有基于coroutine的gevent,coroutine让异步代码维护起来更容易不过个人感觉学习曲线要陡峭一些。
我当时也在Python和Node之间徘徊过后来发现用Django做web的开发,在一些需要RESTful或高频請求的部分用Node.js简直就是一片新天地哇