初识nodejs

2016-07-27  本文已影响42人  Chentt的技术博客

以前听同学说nodejs,即可前端又可后台,让我以为nodejs像是javascript下一种衍生的语言,后来了解到不是这样。

nodejs不是像jquery一样的一种框架,也不是库,nodes是一个让javascript运行在服务端的一个平台,nodes让javascript可以运行在浏览器之外,实现强大的伸缩能力,来自v8的javascript引擎让 nodejs的jit(just-in-time即时编译)速度可以媲美在本地跑代码,而且node内建http服务器,不用像PHP等还要实现搭建一个apache的服务器。

使用nodejs可以做什么?

自行百度。

进一步了解:

1.异步式i/o与事件驱动

这是node的最大特点,传统的多线程模型是为每一个业务逻辑提供一个系统线程,通过系统线程切换来弥补同步式i/o调用时的时间开销。而node则采用的是单线程的异步请求方式,避免了繁琐的上下文切换,node在执行过程中会维护一个事件队列,程序在执行时进入队列循环,等待下一个事件的到来。每一个异步i/o请求完成后会被推送到事件队列,等待程序进程进行处理。

node的异步机制是基于事件的,磁盘i/o,网络通信,数据库查询,都以这种方式请求,返回的结果由事件循环处理。

(但是我看科技文章看到有程序员吐槽过node的callback),一旦深层嵌套,很难理清。

不过node提供一些第三方模块解决办法,比如async,jscex,eventproxy等,这里不作深究。

上一篇下一篇

猜你喜欢

热点阅读