Node.js的应用方向

2018-12-8 小若 Node.js学习录

特点:

善于I/O,不善于计算。

因为Node.js最擅长的就是任务调度,如果你的业务有很多的CPU计算,实际上也相当于这个计算阻塞了这个单线程,就不适合Node开发。

当应用程序需要处理大量并发的I/O,而在向客户端发出响应之前,应用程序内部并不需要进行非常复杂的处理的时候,Node.js非常适合。Node.js也非常适合与web socket配合,开发长连接的实时交互应用程序。 

 

天生异步

callback    Node.js API与生俱来就是这样的

thunk    参数的求值策略

promise    最开始是Promise/A+规范,随后成为ES6标准

generator    ES6种的生成器,用于计算,但tj想用做流程控制

co    generator用起来非常麻烦,故而tj写了co这个generator生成器,用法更简单

async函数

 

2. 适用场景

网站开发(如express/koa等)

im即时聊天(socket.io)

api(移动端,pc,h5)

HTTP Proxy(淘宝、Qunar、腾讯、百度都有)

前端构建工具(grunt/gulp/bower/webpack/fis3…)

跨平台打包工具

    PC端的electron、nw.js,比如钉钉PC客户端、微信小程序IDE、微信客户端,移动的cordova,Phonegap,一站式开发框架ionic framework

 写操作系统(NodeOS)

命令行工具(比如cordova、shell.js)

反向代理(比如anyproxy,node-http-proxy)

编辑器Atom、VSCode等

.......

 

当然Node.js也不是全能的, Node.js本是就是极客追求性能极致的产物,缺少了很多服务器的健壮考量,  所以Node不可能应用在银行、证券、电信等需要极高可靠性的业务中。 

中国的企业实战中,创业型公司(正处于A轮、B轮)非常爱使用Node做核心业务

例如:

■ 功夫熊的APP,后台是Node.js在伺服
■ 实现网,整站为Node.js搭建
成熟大企业,基本上都是用Node实现某一方面的功能:
■ 知乎用了一个Node进程,跑起了“站内信”功能
■ 百度的很多表单,是用Node保存到数据库的

 

使用场景:

[(L)E9$F4_LXL2H9YI%1}9H.png

 

 

 

 

标签: Node.js

发表评论:

Powered by emlog 备案号:豫ICP备18002778号