为什么Node.js适合在企业应用而Rails不是?

来自Reddit的一条讨论:Why has node been so well adapted in the enterpris,综合讨论中回复原因总结如下:

1.Node.js适逢Paas普及了,服务实现解耦,其工具开发堆栈稳定易于理解,Node赶上了好时机,有良好的生态系统。

2.Rails试图做一切,当你启动rails应用时,总是缺省假设当前场景是直接对数据库进行读写操作,而同时,它又不不是真的合适用于API-only组件,这使得它很难适合架构中最高端或最低端两个层次。

3.使用Rails,最好你能使用缓存,否则难于扩展底层设施,当然,这对于Node也是同样,不能做CPU繁重的操作,但是Node很通用,适合做企业前端,而前端大部分工作是等待其他服务的数据,也就是IO-bound,注重IO通讯。

4. Ruby对于C#/Java/Javascript的人来说是"funny-looking"/"foreign-looking" ,虽然这不是好理由,但是人们有时愿意使用看上去熟悉的解决方案。

5. Rails旗舰应用特点是大规模的MVC CRUD,而Node是针对需要实时事件的特殊应用。Node能够在现有系统中加入实时能力,而Rails需要重新开发整个系统。

6.如果我开发一个Web服务,我当然使用Node,而Rails有许多附加的并不需要的玩意。当然看看性能比较就找到理由了。

7.因为大量的人都熟悉Javascript,Ruby社区非常Rails中心化,所以除非你跟上Rails节奏,你就很难借鉴社区知识;异步事件驱动让人们产生共鸣;还有人们愿意前后端使用同样的语言。

8.Rails大部分应用是整体性monolithic(铁板一块)的,很难模块化,它很适合快速项目原型。(Node天生是微服务,是微服务的倡导者和大规模践行者,模块化的)

相关Nodel文章:
Node.js最佳实践
Node.js编程之道
十个Node.js开发最容易犯的错误