node.js是干什么的

一、Node.js简介

Node.js是一个开源和跨平台的JavaScript运行时环境。它几乎是任何类型项目的流行工具!

Node.js在浏览器之外运行V8 JavaScript引擎(Google Chrome的内核)。这使得Node.js的性能非常好。

Node.js应用程序在单个程序中运行,无需为每个请求创建新的线程。Node.js在其标准库中提供了一组异步的I/O原语,以防JavaScript代码阻塞,通常,Node.js中的库是使用非阻塞范式编写的,使得阻塞行为成为异常而不是常态。

Node.js具有独特的优势,因为数百万为浏览器编写的JavaScript的前端开发者现在无需学习完全不同的语言,就可以编写除客户端代码之外的服务器端代码。

①浏览器中的js

web api提高了操作浏览器窗口和页面的功能。例如:BOM操作,DOM操作,AJAX这些功能有局限性。例如:跨域问题,文件读写

②Node中的js

nodeAPI几乎提供了所有能做的事情

③ Node中的JS对比浏览器中的JS

浏览器提供了有限的能力,JS只能使用浏览器提供的功能做有限的操作

Node提供了完整的控制计算机的能力,NodeJS几乎可以通过Node提供的接口,实现对整个操作系统的控制。

二、Node可以做什么

①开发桌面应用程序

例如QQ、微信... 经常用的VScode就是用node开发的

②开发服务器应用程序

结构1:微型结构

 

 Node服务器要完成请求的处理、响应和数据交互、关注业务逻辑

结构2:大型结构

 Node服务器

不做任何与业务逻辑有关的事情。绝大部分时候,只是简单的转发请求。但可能会有一些额外的功能

1.简单的信息记录:请求日志、用户偏好、广告信息

2.静态资源托管

3.缓存

后端服务器

处理大型的业务逻辑

三、为什么要学习NodeJS

1..JS开发省时,省力

2. 因为nodeJS是单线程,没有线程切换的损耗,没有线程之间的竞争。

3. IO处理非常快

4. node不适合处理复杂运算,例如java可以开多线程进行并行运算

其他服务端语言(例如java,.net)能做的事情,node全部都能做。语言没有好坏之分,只有场景的适合。

node开发者就是为了寻找快速的IO处理的语言,所以选择了JavaScript


  • 关注我,后面继续发表更多底层知识哦!

  • 42
    点赞
  • 191
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值