这是我参与「第五届青训营 」伴学笔记创作活动的第 21 天
过年期间因为拜年,和亲戚朋友相约游玩,笔记停更了很长一段时间,今天补一篇学习nodejs的笔记,青训营的这门课是由字节跳动的资深前端欧阳亚东老师讲授的,他本人也是字节nodejs方面的研发工程师。
Node.js简介
简单的说 Node.js 就是运行在服务端的 JavaScript。
Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。
Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。
Node.js的应用场景
老师的视频中列出了三个比较重要的应用场景:
一、
前端工程化,从课程ppt中可以得到这张图,从中可以看出前端的一些技术的迭代发展,其中的一些技术就需要搭配nodejs使用,或是使用nodejs使JavaScript的代码跑在其他环境中。
二、
web服务端应用,字节的产品中就有如头条搜索,西瓜视频,懂车帝这些使用了nodejs,这里老师还提到了nodejs的一些优点如:
学习曲线平缓,开发效率较高
运行效率接近常见的编译语言
社区生态丰富及工具链成熟(npm,V8 inspector))
与前端结合的场景会有优势(SSR)
那么现状就是竞争激烈,Node.js有自己独特的优势。
三、
跨桌面端应用,这个名字乍一听很陌生,其实程序员使用的vscode就是使用nodejs结合Electron实现的,此外还有slack,discord,zoom,字节的产品有飞书,飞连等,其中飞书在体验后,我认为是一款功能齐全,并且流畅的应用,这也侧面说明了nodejs的优势。
Node.js运行特点
Node.js最为主要的三个特点分别为:异步I/O,单线程和跨平台。