技术周报· Bun:比 Node.js 快三倍的新 JavaScript 运行时

6,398 阅读4分钟

编辑推荐

Bun:比 Node.js 快三倍的新 JavaScript 运行时

Bun 是采用 Zig 语言编写的高性能“全家桶” JavaScript 运行时,官方称其为“all-in-one JavaScript runtime”,它原生实现了数百个 Node.js 和 Web API,包括约 90% 的 Node-API 函数(本机模块)、fs、path、Buffer 等,并且可以直接运行 TypeScript 文件。

根据官网测试截图,其 React 的服务器端渲染速度是 Node 或 Deno 的三倍以上,值得关注。

可能改变前端工程化未来的特性:ESM Loader Hooks

ESM Loader HooksWebpack Loader 类似,只不过对文件树的解析、遍历是由 Node.js 原生支持的 ESM 规范(而不是打包工具)确定的。通过定义不同 loader,就能在不使用工程化工具的前提下,对项目中各个 ESM 模块进行处理。

深度阅读

小程序不让用 JS 解释器?那我再肛一次鹅厂

只要满足以下两个条件,那么从根本上禁止热更都是无稽之谈:

  1. 宿主语言如果图灵完备的话,那么宿主语言就可以实现任何其他图灵完备的编程语言;

  2. 你可以把一切能够从得到不同输入,并且产生不同结果的程序都称之为解释器,无非就是它表达能力的强与弱、是通用的还是专用的区别而已,所以这个界限是非常模糊的。

硬件加速中的“层”和层叠上下文中的“层”,是一个东西吗?

这篇文章是关于浏览器渲染中“分层”与硬件加速的,我会讲清 :

  1. 什么是硬件加速?

  2. 合成层的“层”与层叠上下文的“层”是一个东西吗?

  3. 层爆炸、层压缩是什么?

  4. 都说要减少回流、重绘,怎样利用硬件加速做到?

如何坚持写技术博客?

为了能长久地坚持写博客,不让写博客成为一件麻烦事而丧失了写作的动力,需要做一定的工作来破除阻碍我们坚持写博客的障碍:排版规范化、选题系统化、维护简单化。

案例+图解带你一文读懂Canvas🔥🔥(2W+字)

自从HTML5提供 Canvas 标签以来它就彻底颠覆了Flash的地位,到如今Flash基本已经淡出了人们的视线。那究竟canvas 强在何处呢?接下来我们将深入了解一下。

外文精选

Serverless Introspection Is Not Just For Machines

There is a fundamental shift between thinking about UI layouts and interactions to the architectural and infrastructure based thinking that comes when working with Serverless

3 Ways to Build Micro-Frontends in 2022

The idea of micro frontends is simple: To distribute a monolith. It draws ideas from microservices, and tries to make the concept work for the frontend.

实践应用

前端 · 单元测试 · 初窥

按照不同的角度,可以划分出多种分类方式,下面列举了常见的几种:

  • 按照程序执行状态:静态测试、动态测试
  • 按照算法实现和系统结构:黑盒测试、白盒测试、灰盒测试
  • 按照程序执行方式:人工测试、自动化测试
  • 按照验收阶段:单元测试、集成测试、系统测试、验收测试

实际的测试过程或者测试工具会交叉融合多种分类方式,比如某个测试工具通过自动化的黑盒测试动态服务于系统单元。

如何将传统 Web 框架部署到 Serverless

目前原生的 Serverless 开发框架还比较少,也没有那么成熟,另外主流的 Web 框架还不支持直接 Serverless 部署,但好在是现在国内各大云厂商比如阿里云、腾讯云已经提供能力能够将我们的传统框架以简单、快速、科学的方式部署到 Serverless 上,下面让我们一起研究看看它们是怎么做的吧。

一文详解Proxy与Reflect

Proxy 可以捕获 13 种不同的操作,而每种操作都会有一个对应的 Reflect API,这就使 Proxy 对象可以方便的调用对应的 Reflect 方法来完成默认行为。

利用噪声构建美妙的 CSS 图形