602 期 - 关于编写 JavaScript 代码的一些诀窍
本期看点:本期看点:本期为大家带来了现代 Web 应用程序设计模式与关于编写 JavaScript 代码的一些诀窍等优秀文章。点击本期周刊查看更多精彩文章!
编辑:liu-jin-yi、LaughSun0513、Levi
🔥 本周热门
Astro v1.0:基于 Islands 的前端框架 — 尽管 Astro 相对年轻,但它目前已经产生了很大的影响,它拥有广泛的用户群体,以及得到几乎所有其他框架或开发工具的支持。v1.0 引入了新的图像和图片组件、MDX/Markdown 支持和 SSR 构建。👇🏻 首页
Fred Schott
Patterns.dev:现代 Web 应用程序设计模式 — 这是一本免费的书,你可以下载 PDF 格式或在网上阅读。本书介绍了很多基础知识,从不同风格的渲染或导入资源的工作方式到性能优化和案例研究。有很多东西值得研究,而且背后还有一个很棒的团队。
Lydia Hallie, Addy Osmani, and Others
快讯:
-
TypeScript v4.8 现在已经进入候选发布阶段。 本次更新详情可点击 🔗 了解。
-
🔒 GitHub 提议使用 SigStore 作为用户和工具验证 npm 包出处的一种方式,以此来提高安全性。
-
▶️ 最新一集的 TC39er 播客 采访了 Bloomberg's 的 Robin Ricard,他因为在 Records 和 Tuples 提案方面的工作而为人所知。
-
Lizz Parody 向我们介绍了在 JavaScript 代码中支持类型注释的提议。
版本发布:
- Playwright v1.25.0 – 浏览器远程控制和运行工具包。
- Lerna v5.4 – 在一个仓库中为多个 JS 项目构建系统。
- Fastify v4.4 – 快速、低开销的 Web 框架。
- NodeBB v2.4 – 基于 Node.js 的论坛软件。
- Color.js v0.4 – 颜色转换和操作库。
- Jayson v4.0 – 用于 Node.js 的 JSON-RPC 客户端/服务器。
- vite-plugin-eslint v1.8 – Vite 的 ESLint 插件。
- Faker v7.4 – 生成大量虚假数据。
- COBE v0.6 – 5KB WebGL 地球库。(演示)
- html-to-image v1.10 – 从 DOM 节点生成图像。
- Juice v8.1 – 将 CSS 样式表内联到您的 HTML 源代码中。
📒 教程与趣事
关于编写 JavaScript 代码的一些诀窍 — 编写尽可能简洁的代码可能是不符合预期的,因为你的同事可能会觉得无趣,而且构建过程会把你的代码压缩掉!但是你想要尽可能少的字符,同时可以容忍一些混乱的话,这个想法其实蛮有趣的,需要全面考虑一番整体逻辑,这个过程本身也是一个学习经验 (灵感来自于《节约字节的技术》这篇文章 )
Ciprian
Andy Sellick (GDS)
如何在 Node.js 中使用多线程 — 一个关于 Node 如何使用线程,以及你在工作中什么时候会在 web 应用中使用 worker 线程的实用指南。
Stanley Ulili (for DigitalOcean)
▶ Record 和 Tuple: JS 中的不可变数据结构 — JSNation 2022 的讲座,探讨了目前在 TC39 中推进的一项提案背后的动机 。
Robin Ricard
用 Three.js 建立稳定的流体模型 — 有很多关于数学,着色器的知识
Misaki Nakano
Bun 会超越 Node 吗? — 一场关于 Bun 和 Node 辩论。
Tomas Fernandez opinion
Joe Boyle
🛠 代码与工具
Grex:可将提供的示例生成为正则表达式 — 这个 Demo 非常有趣。Grex 是一个基于 Rust 的 JavaScript 项目的改进版本,通过使用 WebAssembly 可以将其在 JavaScript 中调用。虽然它并不完美,但是可以给你提供生成正则表达式的灵感。代码仓库。
Peter M. Stahl
Cloudscape:AWS 的 React 组件设计系统 — 专为 Amazon Web Services 构建,这里有的 66 个组件 都带有 AWS 特色的设计和最佳实践。 示例。
Amazon Web Services
Million v1.12:快速、小巧的虚拟 DOM 实现 — 该库专注于性能和交付,压缩后小于 1KB,如果您在构建自己的框架时不关注具体的 VDOM 实现,或者只是为了减小体积,可以考虑 Million。把它想象成 React 的 API 和 Svelte 的编译器的结合体。
Million
React Rating:简易的打星评级组件 — 基于 SVG、没有外部依赖。可以通过 示例 来看看是否能获得你的 ⭐️⭐️⭐️⭐️⭐️
Simone Mastromattei
Size Limit v8.0:JavaScript 的性能测算工具 — 计算运行 JS 应用程序或 lib 的实际“成本”来保持对性能的关注并在出现问题时及时报错(例如在 CI 中)。支持 ES 模块和 Tree-Shaking。
Andrey Sitnik
svg2pdf.js:基于浏览器的 SVG - PDF 转换器 — 这里可以在线试用来了解它可以做什么。
yWorks GmbH
brotli-wasm:Brotli 压缩算法编解码器 — 通过 WebAssembly 支持 Node 环境和浏览器。
HTTP Toolkit
Grakkit:Minecraft 的现代 JS 开发环境 — 通过 GraalVM 将 JS 与 Minecraft 结合。
Grakkit Project
React Colorful v5.6:React 的轻量颜色选择器组件 — 很棒的修改主页颜色的示例。
Vlad Shilov
Giampaolo Bellavite
string-left-right:查找给定索引左侧或右侧的非空字符
Roy Revelt
😮 本周惊喜
如果您有几分钟的空闲时间, ▶️ 这段近期来自 Demo 场景竞赛的获奖 Demo 视频 特别令人兴奋。
该代码是在 2022 年编写的,但在使用 CGA 图形的 1981 年 IBM PC 上运行,如果您的年龄足够大,才可能用过这样的机器,他们设法从中挤出来的东西真是令人惊讶。正如一位评论者(Jeff Haluska)所说:“我已经编程了大约 25 年,Area 5150(作品名)让我质疑我所知道的关于计算机的一切。”