node.js web 开发 精通_Node.js 做 Web 后端优势为什么这么大?

优势不大吧,作为用Node.js做后端项目超过四年的人来说一下自己的感受。

经历了最初项目采用node 0.10.x 版本(callback hell问题)

升级到4.x(比较短暂的一个新项目,最终没继续做)

升级到6.x(使用co + yield来解决回调的问题)

最近终于升级到10.x(可以采用原生async + await了)

先说说优点:

第一点,Node.js原生提供了单进程的I/O高并发的能力,无需开发者处理多线程之类的问题;只要能理解回调,就能开发高性能的web后端程序;另外由于V8引擎的优秀,Node.js在脚本语言里的性能是相当优秀,对于编译型的C/C++或者golang而言,也没有慢太多。

然后是语法简单,开发真的很快,而且对于web后端,传输JSON来讲,JS对于JSON的解析处理真的很爽快,Object包打天下,也不需要像C/C++,或Java那样定义结构体或类;但相对的如果项目初期没有好的规划、规范,最终的代码的可维护性非常差(所谓动态语言一时爽,重构/维护 火葬场)。就我们的项目而言,如果一个功能是同一个同学开发的那么从controller到service层一路object往下传,也没有注释,回头别的地方想要复用的话,就必须完全阅读、理解原先函数的实现,需要传哪些参数,返回哪些数据才行。

社区繁荣,但不够清晰;尽管npm已经是世界上最大的包平台了,但node并没有统一/主流的技术全家桶

比如Java,spring boot -> spring cloud基本一统天下

而Node.js无论在前端领域,还是后端领域,都是每个公司一套自己的解决方案。

再说一些额外的问题,用Node.js市面上精通这块的人非常少,你遇到了一些底层的问题,可能解决起来非常麻烦(内存泄露、V8的调优等等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值