Node.js 做 Web 后端优势为什么这么大?

亲测可用,若有疑问请私信

传统的Node.js做web开发优势不明显但是在Serverless时代Node.js做web开发未来会成为行业主流并且目前的发展趋势来看未来会成为中小公司的偏前台应用开发场景取代php/java的首选解决方案。为什么?

  1. 传统的Node.js做web开发优势不明显。虽然我们可以用前端擅长的JS去写后端逻辑并且让前后端开发语言统一掉,这是非常美好的事情。但是大家会发现实际传统的NodeJS开发在中大型项目上成功案例不多,即使在阿里大厂也仅仅是做中间层或者一些长尾应用上使用而已。其根本原因在于:NodeJS的后端开发群众基础和生态太弱,远没有php和java群众基础和生态强大,在php和java主导的后端项目中硬插入一个NodeJS开发不伦不类很鸡肋。其次传统的后端开发追求DevOps而NodeJS仅仅是Dev而对于Ops而言缺少php和java成熟的运维体系坑点很多。这两点的严重制约导致传统的NodeJS的web开发只能是小众开发。
  2. Serverless的出现尤其是FaaS的出现颠覆了我们对后端的开发理解一下子让我们部分后端开发场景直接从DevOps时代进入到OnlyDev&NoOps时代,在所有的开发语言中目前现有的技术体系只有NodeJS的运行环境与FaaS的底层运维模型完美匹配度最好,这也是为什么FaaS场景下NodeJS已经成为第一开发语言的背后的深层技术原因之一。个人与阿里云FaaS团队关系很好经常进行一些技术交流,今年2月份曾经与他们交流的时候非常好奇到底第一到什么程度,当时我得到的数据是80.34%的阿里云FaaS函数都是NodeJS写的函数。曾经与腾讯云FaaS团队的同学也交流过,他们给的经验数据也是差不多的。所以,Serverless的出现尤其是FaaS云产品的逐渐普及,使得NodeJS的web后端开发的运维问题彻底根除掉了,推动了NodeJS在web后端开发领域的普及率的提高。
  3. FaaS虽然一定程度上解决了NodeJS的运维问题,但是FaaS的周边配套目前业界不成熟离真正的业务上期望的NoOPS还有一定距离。国外诸如zeit等团队,国内阿里云和腾讯云等大厂都在布局类似的工作,预计两三年内NodeJS的FaaS运维开发体验几乎能做到平民化小白都能玩得转,进一步推动NodeJS的服务端开发普及度。
  4. Web后端开发行业历史已经有20年之久了,Web后端开发要解决的业务问题抽象20年了并未发生多大本质性的变化,如果我们要解决的问题域是不变的20多年的前人不断地总结相互借鉴一定会形成对特定领域问题的普遍共识的最佳实践解法而基于这些解法所得到的软件框架应该都是大同小异的。事实上,大家很容易发现各种语言的java、php等优秀的web开发框架的设计都是趋同相似的主要是语法表达和语言特点上的差异性而已,尤其是偏前台的后端开发场景各种语言web后端开发框架设计的同质性最高。传统的NodeJS的后端web开发框架还是比较弱的远不如java和php功能强大,但是你会欣喜的发现前端界开发群体的创造力真的很赞,有人模仿java的hibernate做出了typeorm这样的数据库orm方案,有人模仿优秀的php开发框架laravel做出了类似的nodejs开发框架adonisjs,在阿里内部见过有人模仿spring-boot做出类java风格的nodejs新框架,按照这种趋势发展下去相信不出三五年左右时间NodeJS领域也会诞生出类似php和java的强大web应用开发框架,进而弥补目前NodeJS在web开发场景缺失强大应用框架的问题,这又会进一步推动NodeJS在web后端开发领域的流行度。
  5. NodeJS做web后端开发相比与其他语言的显著优势就是前后端一套语言技术栈是统一的,在加上目前Serverless的流行度,这最终导致的是做同样的事情企业用人成本的显著降低尤其是小企业小项目研发。曾经参加过一次腾讯云的serverless分享上提到,startup企业serverless云产品使用是唯一最正确的技术选型,如果这个结论是正确的再结合上面的80%数据结论,这意味着未来80%的小企业项目都会是使用serverless nodejs开发模式,这是一次不小的市场机遇。另外,大家也可以从招聘网站上php职位日趋下降而nodejs职位日趋上涨,这也可以间接感受到这种未来技术趋势的变化。过去一年我曾经工作关系帮助阿里云的一个5人左右研发规模的小客户组建serverless开发团队并且试点基于阿里云serverless架构做业务,后端与运维研发成本相比与之前别人给他们推荐的php研发成本整体降低大约40%左右,平均每月人力成本节省2万左右,一年合作下来研发人力成本节省将近30万,而他们的服务器费用因为流量不大一直保持在1000元每月左右。由此可见,Serverless上NodeJS做web后端开发的显著价值。
  6. 尽管现在NodeJS的web后端开发周边生态仍然不如php和java强大,但是大家要知道商业社会都是逐利的,Serverless上NodeJS做web后端开发带给企业显著的研发人力成本降低会让技术决策者在更多的项目上去使用,有更多的人去用了有付费需求了自然而然会有更多的周边配套产品或开源项目产生,逐渐丰富配套的周边生态产生正向反馈循环,Serverless NodeJS的web后端开发流行度会更高。微软战略布局收购github,创新typescript,发力vscode,布局azure云上开发生态,很明显可以看出微软这样的曾经的windows开发者企业霸主期望在前端领域重新恢复霸主地位并通过NodeJS去抢占被Java和PHP抢去的开发者,有微软这样的巨头在背后给JS生态圈撑腰,何愁未来NodeJS的web开发生态不会繁荣呢!!!
  7. 任何技术都不是万能的都有场景适用性,NodeJS做web后端开发仅仅只是适合做业务应用维度的偏web前台开发的后端工作,理论上可以取代所有php现有功能,但是无法取代复杂场景的java web后端开发20年经验沉淀积累的各种分布式高并发搜索和大数据等领域的关键技术实现,同样的也无法取代高性能分布式网络go/c++等场景的后端开发,同样也无法取代大数据和人工智能和运维相关的python后端开发,...。在serverless时代的研发模式,伯克利大学Serverless学者曾经给Serverless给出一个非常有趣的定义Serverless = FaaS + BaaS,未来传统web后端开发语言会承担BaaS维度的各种服务开发并形成一个类似npmjs的服务市场,未来绝大多数的web应用开发都是用NodeJS上web开发并将应用部署到各种云厂商的FaaS上,以前我们的前后端分界点在前端页面开发还是后端http接口开发,未来我们的前后端的分界点是写一个web应用还是开发一个BaaS服务,未来不会再有纯粹的前端程序员而是职场升级为web应用开发工程师,大量市场上的php程序员和部分java web开发程序员都会被淘汰转行成为web应用开发工程师提升前端界的整体后端能力水平。
  8. NodeJS做web后端开发未来的终极发展形态到底会是咋样?下面的内容仅供大家参考不一定正确,这仅是个人从事Serverless NodeJS web开发工作研究的一点对于未来技术趋势的猜想。过去20年web应用开发得益于html与browser的web开发标准的存在让我们觉得现有的开发模式很好,但是serverless的出现就好像就是一个新的browser技术,阿里云和腾讯云等云厂商都是serverless超级browser实现商,未来我们的大部分的web应用都是跑在各种云厂商云端serverless"浏览器"上,而JS借助于Node实现了前后端一体化应用语言,FaaS与微前端等概念的出现似乎都是在暗示着web应用开发方法将会迎来一次新的技术变革,而NodeJS web后端开发未来如何更好的与现有的前端开发模式融合的实践,未来可能会催生出类似html的新一代serverless时代的web应用开发标准。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值