Geekhyt/weekly

【第三十六期】2022-05-08

Geekhyt opened this issue · 3 comments

美味值:🌟🌟🌟🌟🌟

口味:羊汤烩面

本期周刊视频版已在 B 站【前端食堂】同步发送,如果有喜欢看视频的堂友可以移步 B 站 进行观看。

本期摘要

  • pnpm v7.0.0
  • Node 对 ESM 的支持达到重要里程碑
  • 四月份登陆浏览器的新功能
  • VS Code April 2022
  • React 官方团队出手,补齐原生 Hook 短板
  • Firefox 将在 102 中支持 Import Maps
  • State of frontend 2022
  • JavaScript 框架的四个时代
  • 为什么 Node.js 比 PHP 更容易受到供应链攻击?
  • 从零开始构建 JavaScript Bundler

大家好,我是童欧巴。欢迎来到本期的前端食堂技术周刊,我们先来看下上周的技术资讯。

技术资讯

  1. pnpm v7.0.0

pnpm 发布了 v7.0.0,带来了大量的更新。如:不再支持 Node.js 12pnpm run <script> 脚本名称后的所有命令行参数都会传递给 argv 等等,更多细节请前往如上链接的官方 release 页面查阅。

  1. Node 对 ESM 的支持达到重要里程碑

Node.js 12 是最后一个非 ESM 版本,目前处于生命周期结束状态,这意味着 Node.js 对 ESM 的支持达到重要里程碑。

  1. 四月份登陆浏览器的新功能

在四月份,Chrome 101 和 Firefox 99 稳定版发布。

Chrome 101 中包含了更容易让人类使用的 hwb() 颜色函数、以及 Priority Hints 资源优先级加载控制。

Firefox 99 中包含 Navigator.pdfViewerEnabled,用于指示浏览器是否支持 PDF 文件的内联显示。

  1. VS Code April 2022 (version 1.67)

VS Code 发布了四月更新,此次更新亮点包括:

  • 资源管理器文件嵌套
  • 「设置」里的编辑器搜索过滤器
  • 括号对高亮着色
  • 切换嵌套提示
  • 拖放以创建 Markdown 链接
  • 提升插件作者的开发者体验
  • 新的 Rust 语言指南
  1. React 官方团队出手,补齐原生 Hook 短板

React 官方决定出手解决原生 Hook 的短板,这篇文章这两天被疯狂转发,我也在文中给出了一些补充。如果想要了解详情,大家可以前往阅读。

  1. Firefox 将在 102 中支持 Import Maps

Firefox 将在 102 版本中支持 Import Maps,它允许我们控制导入模块时获取哪些 URL。如果你还不了解 Import Maps,文中也给出了提案地址,请放心食用。

下面我们来看技术资料。

技术资料

  1. State of frontend 2022

又一份前端状态调查报告,来自 125 个国家,共 3703 份调查,还有 19 位前端技术专家分享他们的想法并对调查结果发表评论。

  1. JavaScript 框架的四个时代

这篇文章作者以自身多年的开发经历还原了 JavaScript 框架的发展历程,并划分出了四个时代。

  • 远古时代:无框架
  • 框架初期:Backbone.js、Angular 1、Knockout.js、SproutCore、Ember.js、Meteor.js
  • 以组件为中心的时代:React.js、Vue.js、Svelte、Polymer.js
  • 全栈框架:Next.js、Nuxt.js、Remix、SvelteKit、Gastby 和 Astro

读完后你会发现前端框架的发展潮流也是一个圈儿,兜兜转转一大圈后才感叹,还是前后端一体好。

众里寻他千百度,蓦然回首,那人却在灯火阑珊处。

  1. 为什么 Node.js 比 PHP 更容易受到供应链攻击?

这条链接是 Hacker News 上大家对这一问题的探讨。有一条回答欧巴认为比较靠谱,简要整理如下:

  • 首先,供应链攻击在所有开源生态系统中都存在,何况 JavaScript 的生态系统规模比其他任何生态系统都要庞大,所以即使是向包中注入恶意代码的小概率事件也可能会经常发生。

  • 其次,拿 Python 对比,因为经典问题“依赖地狱”的存在,导致 Python 维护人员在添加新的依赖项时要三思而后行,以免给用户带来“依赖地狱”的问题。但 Npm 包的维护者没有这样的限制,在某种程度上,更好的开发体验导致了整个模块的生态系统“太好了”。

PS:解释一下“依赖地狱”,在 Python 中,如果你有两个依赖 A 和 B,它们又依赖于不同版本的 C(@1.0.0、@2.0.0)。那么你就遇到“依赖地狱”的麻烦了,因为 Python 只能安装一个版本的 C,而 Npm 会帮你分别安装 C 的两个版本。

  1. 从零开始构建 JavaScript Bundler

Jest 作者的最新系列文章,并且配套视频,内容绝对硬核。

除此之外,他还写了《从零构建 JavaScript 测试框架》、《重新思考 JavaScript 基础架构》等系列文章。

好文推荐

下面来看一下好文推荐,本周推荐的好文是:

  1. Lerna 停止维护后,Monorepo 工具该怎么选?

  2. WebAssembly vs JavaScript

其他信息

好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。

你的前端食堂,吃好每一顿饭。我们下期见。

潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。

潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。

https://tinyclouds.org/javascript_containers
RD 最近发了个文,去探讨 JavaScript 容器的问题。如果后端确实能分裂成纯业务逻辑层和非业务逻辑层,那中间的业务层,无论是前端还是后端,用一种语言开发,效率肯定是最高的。就算市场行情好,技术的发展也会朝着效率更高的方向发展。只不过,市场行情不好,对工作效率的要求会更高,也算是一种推动力。
也许过几年,对程序员的需求是对各类 worker 有了解,而不是对 linux 有了解。云计算就真成水电煤了。

潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。

https://tinyclouds.org/javascript_containers RD 最近发了个文,去探讨 JavaScript 容器的问题。如果后端确实能分裂成纯业务逻辑层和非业务逻辑层,那中间的业务层,无论是前端还是后端,用一种语言开发,效率肯定是最高的。就算市场行情好,技术的发展也会朝着效率更高的方向发展。只不过,市场行情不好,对工作效率的要求会更高,也算是一种推动力。 也许过几年,对程序员的需求是对各类 worker 有了解,而不是对 linux 有了解。云计算就真成水电煤了。

“任何可以用 JavaScript 编写的应用程序,最终将用 JavaScript 编写。” — Jeff Atwood