Zero. 写在前面的话


如题,此篇目标搞懂 JS、Node 与全栈的爱恨情仇
One. JavaScript
看一张编程语言排行榜图,JS 以 62.3% 的使用率稳居第一,甚至把 Python 和 Java 都甩在了后面。
why?因为 JavaScript 是唯一能合法运行在所有人浏览器里的官方语言。JS 的语法规则规定了你怎么声明变量(let、const)、怎么写循环(for)、怎么写函数。
之前 JS 被发明出来仅仅是为了让 HTML 网页动起来。那时候的 JS 只能活在浏览器里,不能在本地运行。
TS 其实就是微软给 JS 加了个严格类型检查的增强版外壳,编译后依然是 JS。现在开发大项目基本都在用 TS,因为它能帮你在运行前就把 Bug 揪出来。
Two. Node.js(语言 vs 环境)
第二张“Web 框架和技术”的图显示 Node.js 以 31.8% 的实际使用率高居第二。很多新手会误以为 Node.js 是一门新的编程语言。
重点:JavaScript 是一门“语言”,而 Node.js 是一个“运行环境”。
- JavaScript 是一个剧本。
- 浏览器 是一个舞台。
- 一个叫 Ryan Dahl 的大神觉得这剧不能只在浏览器演。于是他把 Chrome 浏览器里最核心的解析 JS 的引擎给抠了下来,用 C++ 包了一层壳,安在了电脑的 OS 上。即 Node.js。
Three. 前端、后端与全栈
我们再来看第二张图里剩下的那些名词:React、Vue、Spring Boot、Django……这就引出了 Web 开发的三大阵营。
1. 前端
前端就是你眼睛能看到的一切:网页的按钮、排版、动画。
图二里 React (33.4%) 和 Vue.js (16.3%) ,是基于 JavaScript 语言写的前端框架。相当于买家具时送的半成品组装包,让人可以高效地拼装出一个复杂的网页界面。
2. 后端
后端是看不见的服务器和数据库。当我们在淘宝点下单时,扣减库存、生成订单、处理支付,全在后端。
图二里红蓝点都在榜的 Spring Boot (Java)、Django / FastAPI (Python)、ASP.NET CORE (C#),它们就是各个语言的后端框架。
3. 全栈
在 Node.js 诞生之前,如果我们想做一个完整的网站:
- 必须学 JS 来写前端。
- 还得学 Java 或 Python 来写后端。
学两门完全不同的语言,让人精神分裂。
但 Node.js 诞生后,格局彻底改变了。我们可以用 JavaScript 同时写前端和后端。
- 前端:用 JS + React/Vue
- 后端:用 JS + Node.js 环境下的 Express (图二中 11.9% 那个) 框架
- 连数据库也可以用 JS 友好的 MongoDB。
这就是现在极其流行的 JavaScript 全栈开发。