使用 Node.js 的优势和劣势都有哪些?

有大公司用吗?
关注者
4113
被浏览
408279
优点:
1. 异步事件驱动,单进程线程,占用服务器资源少,高并发支持好,虽然单进程,但可以通过官方的 cluster 模块开启多个实例充分利用多核CPU的优势. 节约了服务器的资源,同时又能达到理想的状态
2. 入门简单,非常适合做 单页程序 + RESTfull API,Worktile就是采用Angular JS + Node.js实现的SPA,基本上完美配合。
3. 我觉得Node.js也非常适合动态网页web开发,虽然官方没有提供像Apache 和 Tomcat 这样的网页服务器和JSP这样的动态创建网页的技术,但是有很多优秀的第三方模块可以使用, 用 express mvc框架 加上你喜欢的模板引擎(ejs,jade,dot ),感觉还是很棒的

缺点:
1. 异步编程的缺点往往就是到处callback,代码不优雅,但是可以通过一些第三方的同步模式的模块进行弥补
2. 不适合做企业级应用开发,特别是复杂业务逻辑的,代码不好维护,事务支持不是很好。

有人说debug成本高,这要取决于你使用什么开发工具了,推荐webstorm,可以对Node.js程序进行单步调试

另外,Node.js也可以独立做操作复杂的后台服务,所以想怎么玩就怎么玩,一切代码尽在你的手中,我也是今年刚接触Node.js,入门快 简单 带给我的是惊喜。每种开发语言都有他的优势和劣势,作为码农,强烈建议没事学学Node.js,我公司的产品 Worktile 让工作更简单 就是采用Node.js 开发的,性能和稳定性都还不错