【第三十六期】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
大家好,我是童欧巴。欢迎来到本期的前端食堂技术周刊,我们先来看下上周的技术资讯。
技术资讯
pnpm 发布了 v7.0.0,带来了大量的更新。如:不再支持 Node.js 12
、pnpm run <script>
脚本名称后的所有命令行参数都会传递给 argv 等等,更多细节请前往如上链接的官方 release 页面查阅。
Node.js 12 是最后一个非 ESM 版本,目前处于生命周期结束状态,这意味着 Node.js 对 ESM 的支持达到重要里程碑。
在四月份,Chrome 101 和 Firefox 99 稳定版发布。
Chrome 101 中包含了更容易让人类使用的 hwb() 颜色函数、以及 Priority Hints 资源优先级加载控制。
Firefox 99 中包含 Navigator.pdfViewerEnabled,用于指示浏览器是否支持 PDF 文件的内联显示。
VS Code 发布了四月更新,此次更新亮点包括:
- 资源管理器文件嵌套
- 「设置」里的编辑器搜索过滤器
- 括号对高亮着色
- 切换嵌套提示
- 拖放以创建 Markdown 链接
- 提升插件作者的开发者体验
- 新的 Rust 语言指南
React 官方决定出手解决原生 Hook 的短板,这篇文章这两天被疯狂转发,我也在文中给出了一些补充。如果想要了解详情,大家可以前往阅读。
Firefox 将在 102 版本中支持 Import Maps,它允许我们控制导入模块时获取哪些 URL。如果你还不了解 Import Maps,文中也给出了提案地址,请放心食用。
下面我们来看技术资料。
技术资料
又一份前端状态调查报告,来自 125 个国家,共 3703 份调查,还有 19 位前端技术专家分享他们的想法并对调查结果发表评论。
这篇文章作者以自身多年的开发经历还原了 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
读完后你会发现前端框架的发展潮流也是一个圈儿,兜兜转转一大圈后才感叹,还是前后端一体好。
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。
这条链接是 Hacker News 上大家对这一问题的探讨。有一条回答欧巴认为比较靠谱,简要整理如下:
-
首先,供应链攻击在所有开源生态系统中都存在,何况 JavaScript 的生态系统规模比其他任何生态系统都要庞大,所以即使是向包中注入恶意代码的小概率事件也可能会经常发生。
-
其次,拿 Python 对比,因为经典问题“依赖地狱”的存在,导致 Python 维护人员在添加新的依赖项时要三思而后行,以免给用户带来“依赖地狱”的问题。但 Npm 包的维护者没有这样的限制,在某种程度上,更好的开发体验导致了整个模块的生态系统“太好了”。
PS:解释一下“依赖地狱”,在 Python 中,如果你有两个依赖 A 和 B,它们又依赖于不同版本的 C(@1.0.0、@2.0.0)。那么你就遇到“依赖地狱”的麻烦了,因为 Python 只能安装一个版本的 C,而 Npm 会帮你分别安装 C 的两个版本。
Jest 作者的最新系列文章,并且配套视频,内容绝对硬核。
除此之外,他还写了《从零构建 JavaScript 测试框架》、《重新思考 JavaScript 基础架构》等系列文章。
好文推荐
下面来看一下好文推荐,本周推荐的好文是:
其他信息
- Prisma 为 Rosetta Stone 筹集 4000 万美元
- Logseq 获 410 万美元融资,加速开源神经元知识管理系统增长,构建新世界双链知识图谱
- RustConf 2022 CFP
- ESLint v8.15.0 released
- Vue.js devtools 发布到 Edge store
- Nuxt 3 RC 2
- pnpm 文档翻译项目进度
- Felix Krause 将他的“一生”放入一个数据库中
好了,以上就是本期的食堂周刊,观众老爷们如果觉得还不错,一键三连是对食堂老板最大的支持。
你的前端食堂,吃好每一顿饭。我们下期见。
潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。
潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。
https://tinyclouds.org/javascript_containers
RD 最近发了个文,去探讨 JavaScript 容器的问题。如果后端确实能分裂成纯业务逻辑层和非业务逻辑层,那中间的业务层,无论是前端还是后端,用一种语言开发,效率肯定是最高的。就算市场行情好,技术的发展也会朝着效率更高的方向发展。只不过,市场行情不好,对工作效率的要求会更高,也算是一种推动力。
也许过几年,对程序员的需求是对各类 worker 有了解,而不是对 linux 有了解。云计算就真成水电煤了。
潮流是个圈,兜兜转转又回来了,实际上也可以用当前市场行情来看, 互联网加速内卷,各行各业不好受,大公司头部公司裁员,那相应的提升竞争力只能从技术上着手,一个又会前端又会后端的人明显比只懂前端的人吃香,对公司而言一个人干了两个人的事情,岂不是更好。
https://tinyclouds.org/javascript_containers RD 最近发了个文,去探讨 JavaScript 容器的问题。如果后端确实能分裂成纯业务逻辑层和非业务逻辑层,那中间的业务层,无论是前端还是后端,用一种语言开发,效率肯定是最高的。就算市场行情好,技术的发展也会朝着效率更高的方向发展。只不过,市场行情不好,对工作效率的要求会更高,也算是一种推动力。 也许过几年,对程序员的需求是对各类 worker 有了解,而不是对 linux 有了解。云计算就真成水电煤了。
“任何可以用 JavaScript 编写的应用程序,最终将用 JavaScript 编写。” — Jeff Atwood