node.js是什么技术(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
关注我 ,后面继续发表更多底层知识哦!创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!