好文章
web component 解耦 JS 框架
这是 Web 组件将比 JavaScript 框架更长寿 姐妹篇,主要讲述 web component 可以极大的跟 JS 框架解耦。你可以不用任何框架开发 web component,也可以用任何框架开发 web component ,并将这个 web component 运行在任何框架中。
这篇文章采用了比较极端的例子,一个 web component 集合了 四种框架,并最终运行在了 React 框架中。是一篇不错的 web component 开发思路文章。
让我们通过构建一个来了解现代 JavaScript 框架是如何工作的
作者眼中的现代 JS 框架是指后 React 时代的框架,比如 Lit、Solid、Svelte、Vue 等等。
这些框架有着相同基本思想:
- 使用反应性(例如信号)进行 DOM 更新。
- 使用克隆模板进行 DOM 渲染。
- 使用
<template>和现代 Web APIProxy,使上述所有操作变得更加容易。
这篇文章通过逐步编写了一个最小的可运行的,并且符合上述思想的 JS 框架。这是一篇很不错的原理学习文章。
React
连锁反应
Dan 的 overreacted 博客时隔两年终于更新啦!
文章影响深刻的,浅显易懂的讲解将 JSX 转换成 HTML。
<p> 标签、<i> 标签是能够被浏览器识别的,但是当我们编写一个组件叫 <Greeting>,需要我们翻译成浏览器能懂的标签。
function translateForBrowser(originalJSX) {
// 省略各种复杂的情况
// return html element
}
Dan 通过这篇文章实现了这一个 translateForBrowser 的函数。
你认为这个函数可以运行在什么地方呢?运行在客户端?服务端?还是别的地方?
React 技巧:快速、适合且有趣
这是微型 React 路由库 wouter 的作者的文章,总结了开发优化一个库的技巧。
包含了 cloneElement、memo、useEvent、useSyncExternalStore 等 API 的问题,和使用技巧。
JS 运行时
编写高效 NodeJS Docker 镜像的复杂性
通过编写高效的 NodeJS docker 镜像可以节省 80% 的构建时间和镜像大小。
这篇文章介绍了通过选择合理的 node 基础镜像、多阶段构建、缓存依赖项、清理依赖关系移除不必要的依赖等多种方式,效果显著。
2024 年你应该使用 Bun、Node.js 还是 Deno?
在性能测试中,Bun 胜出,在管理内存和 CPU 密集型任务的表现突出。适合需要快速高效的项目。
在社区的比较中,Node.js 胜出,拥有庞大生态和成熟的社区。合适需要强大的社区三方库支持的项目。
在安全性方面,Deno 胜出,Deno 以安全性为首要任务,除非明确授权,否则限制文件和网络访问。合适需要首先考虑安全性的项目。
总之没有银弹,根据项目的需要选择。
V8 比以往更快、更安全!
V8 引入了叫 Maglev 新的中间层优化编辑器,引入了 Turboshaft 顶级优化编译器的新架构,优化了 Oilpan(DOM 对象的分配器)速度更快,还有 JS 的新功能,WebAssembly 更新,WasmGC 等等。