学习Node.Js | 青训营笔记

132 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 21 天

过年期间因为拜年,和亲戚朋友相约游玩,笔记停更了很长一段时间,今天补一篇学习nodejs的笔记,青训营的这门课是由字节跳动的资深前端欧阳亚东老师讲授的,他本人也是字节nodejs方面的研发工程师。

Node.js简介

简单的说 Node.js 就是运行在服务端的 JavaScript。

Node.js 是一个基于 Chrome JavaScript 运行时建立的一个平台。

Node.js 是一个事件驱动 I/O 服务端 JavaScript 环境,基于 Google 的 V8 引擎,V8 引擎执行 Javascript 的速度非常快,性能非常好。

Node.js的应用场景

老师的视频中列出了三个比较重要的应用场景:

一、

nodejs.png

前端工程化,从课程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,单线程和跨平台。