前端技术周刊 2018-09-17
前端快爆
- Chrome 69 的更新带来了一个 URL 展示上的 bug:子域名将被吞掉,
www.
和m.
都一样消失于地址栏中。?
点评:脑海中浮现出设计师和工程师争 URL 展现的场面……更新到 Chrome 69 的最新版即可修复此问题
- Chrome 意欲实现
img
标签上的 ElementTiming API,结合 Paint Timing API 可用于更细致的性能数据监测。?
点评:性能数据监测走向更细腻和更自动化,相对应的优化方法还是粗糙且人工的,这是一个前端可以深挖的方向
- React 16.5 发布,相对于 16.4,此版本追加了与 React DevTools Profiler 的联动,修正了大量 API 的细节问题。?
点评:16.5 没有 16.3 的新生命周期方法、16.4 的生命周期方法细节修正那么刺激,缝缝补补又三月
- Github Gist 上出现了一行足以让你的 iOS 或 macOS 重启的 CSS,该攻击的核心为使用一个
backdrop-filter
包含足够深、占用面积足够大的 div,此方式可以耗竭设备资源,并导致内核恐慌。?
点评:只限于 WebKit 系列的浏览器,Chrome 对
backdrop-filter
的支持需要打开实验性功能开关
- 第一届在深圳的前端艺术家沙龙于上周结束,探讨了 CSS Houdini、多端统一框架、前后端同构业务实战、表单与国际化等议题,相关 PPT 已放出。?
点评:里面有你的丝姐哦
瑞士军刀
- Ant Design Pro 2.0 发布,此版本加入了四个全新的页面、多种布局方式来丰富 pro 的使用场景、脚手架从 roadhog 切换到了 umi2,并加入一个设置抽屉。?
- luma.gl 是由 Uber 团队开源的 WebGL 2 可视化基础库。
- Svgurt 是一个将位图转化为矢量图的工具。
- Momentjs 可以算是现在用途十分广泛的工具包了,但它十分大,gZip 之前有 329k,我们可以用 80k 的 date-fns 或 7k 的 dayjs 替代。
- Npm 开源了实验性项目 tink ,它可用来自动安装和校验项目依赖包,且不用把内容下载到项目 node_modules 文件夹中。?
点评:官方声明里明确提及不要期待它能和任何已有项目兼容,所以就不用自己去试着
npx npm/tink
了
专题:V8
本期由社区大牛 justjavac 为我们带来 V8 专题。V8 是一个由 Google 开发的开源 JavaScript 引擎,被 Node.js、Atom、VSCode、Deno、Electron 等软件依赖。这个月恰逢 V8 的十周年开源纪念,2008 年 9 月 2 日,V8 与 Chrome 在同一天宣布开源。早在 2006 年,Lars Bak 和几个朋友就开始在他家农场里办公,并成功开发出地球上速度最快的 JavaScript 引擎。
介绍
进阶
- 理解 V8 的字节码
- JavaScript 为什么快
- V8 内存浅析
- V8 Object 内存结构与属性访问详解
- 手把手测试你的 JS 代码性能
- JavaScript 在 V8 中的元素种类及性能优化
- JavaScript 引擎基础:Shapes 和 Inline Caches
开发
工具/资源
- v8-perf:V8 的相关性能文章/资源汇总
- v8-bailout-reasons:V8 无法优化的场景汇总
- node-heapdump:用于 dump V8 上的堆数据
- v8-profiler:可与 node-inspector 一起用于检视 node 的堆数据快照
- v8-analytics:解析上两个工具的产出,高亮优化失败、高耗时函数和可疑内存泄漏点
本期编辑:承虎(humphry) & 审阅:壹丝 & 专题供稿:justjavac