前端技术双周刊-2021.8.4
JavaScript
-
精读《默认、命名导出的区别》
从代码可维护性角度出发,命名导出比默认导出更好,因为它减少了因引用产生重命名情况的发生。但命名导出与默认导出的区别不止如此,在逻辑上也有很大差异,为了减少开发时在这方面栽跟头,有必要提前了解它们的区别。本周找来了这方面很好的的文章:export-default-thing-vs-thing-as-default,先描述梗概,再谈谈我的理解。 -
看懂复杂的 TypeScript 泛型运算
当尝试阅读一些用 TypeScript 开发的库的源码时,可能会被各种尖括号包裹的复杂泛型运算搞的晕头转向。本文的目的在于对泛型中的常见关键词和用法进行介绍,并且尝试用一定数量的例子来方便理解泛型。 -
Optimizing JavaScript Standard Library Functions in JSC
拿 Function.prototype.toString() 举例说明在 JavaScriptCore 中如何优化标准库函数。
CSS
-
CSS 进阶之熟悉又陌生的 content
在开发中遇到类似清除浮动、小图标、替换内容等场景时不可避免会遇到 content 属性,一般就是网上找下解决方案,甚少细究到底,在看《CSS 世界》这本书时看了下 content 章节,今天这里就详细介绍下 content 的使用机制。 -
Compat 2021 mid-year update: Flex gap everywhere
Chrome 在2021年3月联合其它浏览器厂商启动了一项叫 Compat2021 的计划,旨在消除 Web 开发的五大兼容性问题,它们分别是 CSS flexbox,CSS Grid,position: sticky,aspect-ratio 和 CSS transforms。这篇文章描述了到目前年中的进展情况。
拓展阅读
-
WebView2 and Electron
对比 WebView2 和 Electron -
利用机器学习通过网页预提取技术加快网站加载速度
页面加载时间是网站用户体验最重要的决定因素之一。研究表明,更短的网页加载时间会直接增加网页浏览量、转化率,提升客户满意度。现在使用 TensorFlow 工具就能利用机器学习建立强大的解决方案,帮助网站缩短页面加载时间。在本篇文章中,我们将展示一种端到端的工作流,涉及从 Google Analytics 获取网站导航数据并加以利用,以及训练一种能预测用户下一步操作的自定义机器学习模型。 -
React Native 新架构
React Native 迎来重大架构升级,性能将大幅提升。Facebook 曾在 2018 年 6 月宣布了大规模重构 RN 的计划和路线图,整个的重构目的是为了让 RN 更轻量化、更适应混合开发,接近甚至达到原生的体验。具体包括以下几个方面:1)改变线程模型。UI 更新不再同时需要在三个不同的线程上触发执行,而是可以在任意线程上同步调用 JavaScript 进行优先更新,同时将低优先级工作推出主线程,以便保持对 UI 的响应。2)引入异步渲染能力,允许多个渲染并简化异步数据处理。3)简化 JSBridge,让它更快更轻量。 -
Chromium 内核 Layout 模块学习
Blink 是整个 Chromium 代码仓库中的渲染内核的实现。为什么要学习 Blink 的 Layout 模块?一方面可以增加对底层原理的理解,另一方面通过学习最复杂的 Blink 的排版引擎,了解通用的排版引擎的设计思路。 -
三种前端实现VR全景看房的方案
1. 使用 WebGL 3D 引擎 three.js. 2. 使用更轻量的 3D 引擎 css3d-engine. 3. 使用所见即所得的全景 VR 制作软件 pano2vr. -
汉字笔顺动画 C 端实现& B 端原理
目标是只要对于给定的字体文件(WOFF, OTF, TTF )以及需要的字形(汉字,字母 or 其他各国的语言),就能产出与之对应的笔顺动画数据。是对开源项目 makemehanzi 的实践。 -
Let’s Build a Simple Database
一个简易数据库开发教程,帮助大家理解数据库的一些内部机制,包括数据存储格式、数据从内存到硬盘转移的时机、索引数据如何格式化、如何回滚事务性操作等等。 -
2021 最酷网页设计指南
翻译原文:Coolest 25+ Web Design Trends In 2021, that’ll rock the world -
An incomplete list of skills senior engineers need, beyond coding
高级工程师依赖的不完全技能列表
开源产品
编辑:希达 审阅:胖总&Mr.Q&三水清