专栏名称: 前端外刊评论
最新、最前沿的前端资讯,最有深入、最干前端相关的技术译文。
51好读  ›  专栏  ›  前端外刊评论

为什么想用 Node.js?

前端外刊评论  · 公众号  · 前端  · 2019-08-13 09:01

正文

请到「今天看啥」查看全文


经过这几年的发展,前端普遍进入了技术深水区, 只会Web页面开发已经难以满足企业需求,Node逐渐成为了刚性技能


但有些人在业务上还没有使用过Node,想用老板也不同意。能够创造价值,提升效率的东西老板没有理由说不吧? 下面将从4个角度分析为什么一定要用Node?


先了解什么是中间层


在翻看很多技术文章时,大家都提到“中间层”,在很多大型企业中,Node确实承担了“中间层”的角色,那么,Node为什么被广泛的应用在“中间层”呢?


要回答这个问题,先来陈述下什么是中间层。


通常我们把Web领域分为客户端和服务端,也就是前端和后端,这里的后端就包含了网关,静态资源,接口,缓存,数据库等。而中间层呢,就是在后端这里再抽离一层出来,在业务上处理和客户端衔接更紧密的部分,比如页面渲染(SSR),数据聚合,接口转发等等。


以SSR来说,在服务端将页面渲染好,可以加快用户的首屏加载速度,避免请求时白屏,还有利于网站做SEO,他的好处是比较好理解的。 那么对于数据的聚合,接口转发来说,这样做有什么意义呢?


用Node的4点意义


01

业务驱动

Node有个突出的优势, 他的开发者可以是前端


前端对于页面所需要的数据有更好的理解, 每个页面要用到哪些接口,每个接口要用到哪些字段前端是最清楚的。再加上实际业务开发中,前端页面需求经常会发生变化,需要修改字段或者数据结构, 所以对接页面的这部分接口由前端直接开发非常合适,可以显著的减少沟通成本。


02

架构需要

面向用户的接口由Node中间层负责以后,真正的服务端可以专注于提供基于领域模型的对内接口,做微服务。


比如可以基于Goods模型,提供所有商品相关的接口,基于Users模型,提供所有用户相关,当一个接口需要商品+用户信息时,由Node分别查询组装。从整体业务代码维护角度来说,变得更容易,不会因为业务发展使得每个接口都异常繁杂。


03

性能满足

如果仅仅是架构层面的需求,需要有一个中间层来沉淀业务,那用Java,PHP也可以做到,为什么说Node更适合做呢?


因为Node天生异步!


众所周知,js是一门单线程语言,所以N ode在实现的时候,需要借助libuv来实现异步。

如图所示,libuv为Node提供了线程池,事件池,异步I/O等能力。 正是因为其中网络I/O的异步能力,可以让Node做接口聚合时,能够更高效的异步并发处理。


04

成本较低

Node使用js开发,只需要学习简单的api,前端开发者就可以无障碍使用,学习成本很低。


而且,Node具有活跃的社区和丰富的模块池,拥有很多现成的功能实现,框架方面,也有成熟的koa,express等基本框架和egg等二次封装框架,可根据需求选择上手也比较方便。


如果你想要进阶自己的Node技能,现在可以免费领取网易云课堂的进阶课程。

课程四大主题


扫码免费领取

前端进阶系列直播课

微信:weizhuanye066

8.12-8.18前端进阶课程安排

1. 架构 《全网独播:价值千万金融项目前端架构实战

  • 如何使用开闭原则降低代码依赖

  • 架构中用什么思维把业务和功能分离

  • 零基础玩转面向扩展的程序设计


2. 技能 《从两道网易面试题,分析JavaScript底层机制

  • JavaScript的作用域

  • JavaScript的引用类型

  • JavaScript的Event Loop


3. 架构 《RESTful架构在Node.js下的最佳实践

  • 什么是RESTful风格

  • 原生Node.js下实现RESTful

  • Express框架实现RESTful


4. 实战 《一线互联网企业如何初始化项目:做一个自己的Vue-cli

  • 大公司也是直接用Vue-cli生成项目吗?错

  • 探究做一个脚手架工具的原理

  • 实例搭建一个自己的Vue-cli


5. 架构 《思维无价,看我用Node.js实现MVC

  • 什么是MVC框架

  • 为什么我们要用MVC框架

  • 基于Node.js实现MVC框架


6. 实战 基于中介者模式的深度解耦之应用实战

  • 中介者模块的介绍

  • 利用中介者模式对代码进行解耦

  • 中介者模式的应用场景


7. 实战 前端高级实战,如何封装属于自己的js库

  • jquery入口函数底层与原理

  • 从底层分析extends方法原理

  • 封装属于自己的js库









请到「今天看啥」查看全文


推荐文章
最搞笑笑话王  ·  谁家媳妇编的,太有才!
8 年前
中科院物理所  ·  脑洞问题:月球到底几岁?
8 年前
坦桑尼亚华人百事网  ·  坦桑尼亚每日简讯05.05周五
7 年前