比如阿里云,百度云,都直接提供 node.js 的支持。
但是我觉得 node 的代码面对大规模的时候,实在有点不好维护吧。 而且,基于事件的模型,面对逻辑负责的应用,那开发者多郁闷啊。
node 据我了解应该是适用于实时应用,比如聊天工具,api 等。
那么大家在实际中真的有用 node 干过什么吗? 我有时候觉得还不如默认支持 Ruby 好呢。
抱着支持的越多越好的心态做这件事的。
Ruby 很难支持的,那么多 C 库.. 谁知道某个 Gem 就编译不过了.. 相反 Node, Java 之类的就好支持多了。
我们实际天天都在用 nodejs... asset 编译时就用了 node 上面跑的 uglifyjs 和 coffee-script. 没用在服务器上而已。
我只用过 google appengine, cloud foundry 和 heroku, 都能用 ruby. 虽然 appengine 支持的 ruby 只能是 jruby, 但它上面肯定不能跑 node, 最近说会支持新语言但我猜是 rust 或者 dart, 不会是 node. 你说的云服务我都没用过,估计他们的决定是因为人群因素而不是技术因素吧,另外要做到 heroku 十分之一左右的功能,至少得招个 挺 会 ruby 的,他们公司应该有会的,但对应云产品开发团队似乎是没有。
不过这类服务问题是,只能面向没有 linux 知识或者没时间/没人配服务器的低端用户,终究没 vps 性价比高。支持 nodejs 确实挺符合市场规律的 ...
配置 C Extension 其实也没什么技术含量,能把一些有名的项目跑起来。
然后就挨着填就好了:
https://devcenter.heroku.com/articles/python-faq#can-i-require-modules-with-c-extensions
其实貌似都没什么难度.. 我觉得还是用户群的关系吧.. Ruby 毕竟只是前 10 边缘而已... 而且事儿又多..
NodeJS 有 Javascript 的用户群撑一下?
nodejs 适用于 soft real time, api 请求,game,聊天这类应用都比较适合;之前 linkedin 黑 ruby 其实就是把作为 api 服务的 ruby framework 替换成了 nodejs 服务,nodejs 天生 io 非阻塞 而 api 请求大部分时间浪费在 io 等待上,自然性能提升明显,不过这多少有点拿 node 长处比 ruby 短处的嫌疑。
个人比较看好 nodejs 的发展;原因有几个 1,群众基础好,这个自然不用说 2,有商业公司鼓吹,joyent,另外微软为了最广 windows azue 也做了大量工作 3,异步 io 自然要比 php,ruby,python 等更有发挥空间 4,社区特别活跃,很有 ruby 当初的赶脚