前端周刊第二十七期
前端周刊发表每周前端技术相关的大事件、文章教程、一些框架的版本更新、以及代码和工具。每周定期发表,欢迎大家关注、转载。
如果外链不能访问,关注公众号「前端每周看」,里面有解决办法
大事件
Bun:一个令人兴奋、快速的新 JavaScript 运行时—— 厌倦了 Node?厌倦了德诺?绝不。但新的挑战者出现了。Bun 面向“浏览器之外”用例,围绕 WebKit 的JavaScriptCore构建,而不是 V8。一些显着的特点:
❝❞
包括它自己的捆绑器、转译器和任务运行器。 有前途的表现。 已经支持很多 Node 和 Web API。 你可以使用 npm 包。 适用于 macOS(x86 和 Arm)、Linux 或 WSL。
bundlejs: Online npm Package Bundler and Size Checker ——一个在线工具,可以对项目进行 treeshake、捆绑、缩小和压缩(gzip 和 brotli),并显示它们的权重。
如何不阻塞浏览器:要点——如果您看到文章或工具谈论从“主线程”中删除代码并想知道为什么这很重要,那么这就是您的入门读物。它涵盖了事件循环、Web Worker、异步调度以及它们如何发挥作用。
文章
国际象棋引擎:从零到一 — 这是对我认为不会特别有趣的东西的有趣介绍。chessboard.js和chess.js使实验变得容易。
React 状态管理的新浪潮 — 无论如何,这不是一篇快速的文章,但提供了一个全面的概述,以及状态管理世界的一些历史和观点以及一些可用的选项。
使用 htmx 和 Hyperscript 重新构想前端 Web 开发 — 有趣的是,开发人员可以选择不编写 JavaScript,但仍然可以生成有用的前端。
“我如何使用 Next.js 和 Tailwind 构建软件代理网站” — 如果您想了解其他开发人员如何以最和平、最优雅的方式工作,这个(相当长的)视频适合您。
使用 XState 简化您的全栈应用程序 — 状态管理是需要一段时间才能真正进入的事情之一,特别是在通常与它们不相关的开发领域,但为了降低系统复杂性,这样做是值得的(以预先增加更多代码为代价)。
如何使用 React 18、Vite 和 Netlify 函数构建、测试和部署 Bookstore 应用程序 — 将各种现代工具汇集到实际目的中,包括在后端使用无服务器功能的在线应用程序。
Vue 3 中使用 Vuelidate 的简单表单验证 — 毫无疑问, Vuelidate是一个验证库。
框架发布
Node 14.20.0 (LTS) , 16.16.0 (LTS) & 18.5.0 (Current) Fuite 1.6 – 用于在 Web 应用程序中查找内存泄漏的工具。 oclif 3.1 – Node.js 开放式 CLI 框架。 Notion SDK for JS 2.0 – 官方 Notion JavaScript 客户端。 Tabulator 5.3 - 交互式表格和数据网格控件。 Preact 10.9 – 向 React 18 的新钩子问好(除了useId)。 Perspective 1.5.1 – 通过 WebAssembly 进行快速数据可视化。
代码和工具
Big Calendar 1.x:一个类似 GCal/Outlook 的 Calendar React 组件: 使用 flexbox 来提高响应能力。
PocketBase: A Backend in a Single Binary:一个有趣的项目,可以在许多场景中取代 Firebase。它是用 Go 编写的,但最终充当前端 JavaScript 应用程序的后端。它使用 SQLite,您还可以获得一个内置的管理仪表板,其中包含文件和用户管理。
ProtoScript:Protocol Buffers 运行时和代码生成工具:运行时比 Google 的要小很多,并且代码生成器生成惯用的 JavaScript,并带有 JSON(反)序列化器和 TSDoc 注释。
Deprank:使用 PageRank 查找代码库中的重要文件:PageRank是一种通常与 Google 过去如何对网页进行排名相关的算法,但这个想法可以适用于在任何类型的链接项目集中对事物进行排名,如此处所示。
tsParticles:用于页面的粒子、五彩纸屑和烟花:创建可自定义的粒子相关效果以在 Web 上使用。使用常规 2D 画布获得广泛支持。
Amplify UI for React 现已全面推出: Amplify是一种将各种 AWS 服务捆绑在一起的子平台,使它们更易于用于前端和移动项目。其中一部分是Amplify UI,一个直接连接到 AWS 云的 React 组件的集合(可以使用 Vue 和 Angular 变体)。
Wayne:它就像 Express.js,但在 Service Worker 内部:具体来说,它是一个在 Service Worker 内部使用的路由库。