前端技术双周刊-2021.7.21
JavaScript
-
Sparkplug — a non-optimizing JavaScript compiler
V8 has a new super-fast non-optimising compiler, which improves V8 performance on real-world benchmarks by 5–15%. -
如何实现一个零延迟的定时器?
很多人都知道,setTimeout是有最小延迟时间的,根据 MDN 文档 setTimeout 实际延时比设定值更久的原因:最小延迟时间中所说:在浏览器中,setTimeout()/setInterval() 的每调用一次定时器的最小间隔是 4ms,这通常是由于函数嵌套导致(嵌套层级达到一定深度)。 -
一起学规范系列 —— Object.keys() 的顺序是如何定义的?
Object.keys() 是一个我们在写代码时非常常用的获取对象属性键值对中的键列表的方法,于此同时我们会发现它返回的键数组顺序和我们申明的属性不一致。本文将基于最新的 ECMAScript® 2022 Language Specification 来看看 Object.keys() 返回的属性值顺序究竟是如何定义的。 -
深入理解 TypeScript 高级用法
初用 TypeScript 开发的同学一定有这样的困扰:代码代码提示并不智能,似乎只能显式的定义类型,才能有代码提示,无法理解这样的编程语言居然有这么多人趋之若鹜;各种各样的类型报错苦不堪言,本以为听信网上说 TypeScript 可以提高代码可维护性,结果却发现徒增了不少开发负担;显式地定义所有的类型似乎能应付大部分常见,但遇到有些复杂的情况却发现无能为力,只能含恨写下若干的 as any 默默等待代码 review 时的公开处刑;项目急时间紧却发现 TypeScript 成了首要难题,思索片刻决定投靠的 Anyscript,快速开发业务逻辑,待到春暖花开时再回来补充类型。双倍的工作量,双倍的快乐只有自己才懂。为了避免以上悲剧的发生或者重演,我们只有在对它有更加深刻的理解之后,才能在开发时游刃有余、在撸码时纵横捭阖。
Node.js
-
2021年最值得了解的 Node.js 工具
文章的灵感来源于,社群中某大佬分享一个自己耗时数月维护的github项目 awesome-nodejs 。或许你跟我一样会有一个疑惑,github上其实已经有个同类型的awesome-nodejs库且还高达41k⭐,重新维护一个新的意义何在?当你深入对比后,本质上还是有差别的,一个是分类体系粒度更细,其次是对中文更友好的翻译维护,也包括了对国内一些优秀的开源库的收录。最后我个人认为通过自己梳理,也能更好地做复盘和总结。 -
用 Rust 和 N-API 开发高性能 Node.js 扩展
N-API 也发布一段时间了,社区中有很多 Native addon 也慢慢迁移到了 N-API,比如 bcrypt , sse4_crc32 等。N-API 弥补了之前 nan 最痛的跨 V8 版本 ABI 不兼容的问题。但即使是迁移到了 N-API,编写 native addon 也有一些编写代码之外的痛点。用 Rust 替代 C/C++ 看起来是一个很美好的选择,Rust 有现代化的包管理器: Cargo ,经过这么多年的发展在生态上尤其是与 NodeJS 重叠的服务端开发 、跨平台 CLI 工具、跨平台 GUI (electron) 等领域有了非常多的沉淀。比起 C/C++ 生态,Rust 生态的包属于只要有,都可以直接用的状态,而 C/C++ 生态中的第三方代码则属于肯定有,但不一定能直接用的状态。这种状态下,用 Rust 开发 Node addon 少了很多选择,也少了很多选择的烦恼。
工程化
- swc 很好,也还不够好
这是一篇总结性文章,先抛出结论:swc 暂时还无法在生产环境使用,swc 很好,也还不够好。
拓展阅读
-
十年磨一剑,WebAssembly是如何诞生的?
创造一个编程语言最好的时间是10年前,其次是现在。从 Emscripten 到 asm.js 再到 WebAssembly,从一个业余项目到 W3C 标准,差不多是整整10年。 -
深入理解 WKWebView(基础篇)—— 聊聊 cookie 管理那些事
cookie 技术的便捷性使得它在多种场景中被广泛使用,有时候甚至存在滥用情况,对同一 cookie 实例,前端、客户端、服务端都可以轻易的进行增删改查,我们在享受其便捷性的同时,也有必要确保其被正确、可控的使用。本文将在前系列文章的基础上,继续深入 WKWebView 源码,聊聊 cookie 管理那些事,希望给大家带来一些新的视角和认知,揭开 cookie 管理的迷雾。 -
前端机器学习简史
提到前端智能化,就不得不说机器学习,因为这所谓的前端“革命”就是由机器学习/深度学习发起的,在一开始,机器学习作为人工智能的一门分支学科发展而来,主要研究的便是如何让机器具备像人类一样的学习能力。但渐渐地,机器学习从人工智能领域慢慢向基础领域拓展,由所谓的应用科学慢慢地变为向互联网一样的基础设施,然而真正的前端智能化并未如前面所说的那样简单。
> 编者注:机器学习、简史、革命,作者用词儿都很『大』,实则是一篇 pipcook 软文,不过用作学习了解也还是能有所收获。 -
100亿美金设计工具独角兽Figma,国产化的模仿者们如火如荼
这篇文章不会讲太多 Figma 的特性,而是从 Web 前端和设计工具的发展去讨论。从技术难度来说,做类似 Figma 这样的产品,要比做 Canva 这类产品难的多,举个不太恰当的例子,就好比开发 Photoshop 和美图秀秀的难度区别。而国内做类似 Figma 的产品,大概是2018年开始的。开发周期基本上也要1年-2年的时间,产品也都集中在2020年之后上线。
> 编者注:这篇文章介绍了 Figma 的发展历史以及国内4款模仿者的基本情况,并在最后给出了自己对于国内设计工具方向的预测和判断。
希达&旭光编,胖总&穆老板审