写点什么

前端周报:Mozilla 成立字节码联盟;W3C 公布 Display locking 草案加速渲染

  • 2019-11-18
  • 本文字数:2603 字

    阅读完需:约 9 分钟

前端周报:Mozilla成立字节码联盟;W3C公布Display locking草案加速渲染

前端周报专注大前端领域内容,以对外文资料的搜集为主,帮助开发者了解一周前端热点,分为新闻热点、深度阅读、开源项目 & 工具等栏目。欢迎关注【前端之巅】微信公众号(ID: frontshow),及时获取前端周报内容

前端新闻

Mozilla 携手英特尔等公司成立 Bytecode Alliance:扩展 WebAssembly

Mozilla 曾在 Firefox 浏览器中大力推广 WebAssembly 标准。近日,该公司与其他机构合作成立了全新的 Bytecode Alliance(字节码联盟),夯实 WebAssembly 和 WebAssembly System Interface (WASI)等标准,从而创建全新的软件基础。字节码联盟的目标是创建一个安全、高效和模块化的新 runtime 环境和语言工具链,同时希望让更多平台和设备使用它们。字节码联盟开发的技术基于 WebAssembly 和 WASI,由于更高效的代码编译,以及将 C 和 C ++代码移植到 Web 的扩展功能,它们被视为 JavaScript 的潜在替代品。



目前,Mozilla 联合了英特尔、Red Hat 和 Fastly 等公司加入该联盟。随着时间的推移,可能会有更多成员加入。


https://hacks.mozilla.org/2019/11/announcing-the-bytecode-alliance/

Display Locking:W3C 更快的 Web 渲染提案

Web 孵化器社区小组(WICG)最近推出了Display Locking,这是一组 Web API 更改提议,可以使开发人员和浏览器轻松地扩展到大量内容并在渲染时进行控制。


一方面,更快的网页加载和交互直接改善了用户的网络体验。另一方面,网站正逐年变得更大、更复杂,部分原因是它们支持越来越多的用例且包含更多信息,这导致页面包含了大量的 DOM。由于 DOM 当前是原子渲染的,随着站点或应用程序大小的增加,渲染时间会越来越长。现在采用的技术包括隐藏不可见的内容或虚拟化,但这些方法都存在一定的局限性。


Display Locking 建议引入三个新功能:


  • rendersubtree 属性,控制 DOM 子树是否呈现。该属性可以由浏览器或其他用户代理修改,并触发 MutationObserver 事件供开发人员响应。

  • content-size 属性,为标记为不可见的内容分配占位符大小 rendersubtree。

  • updateRendering 元素对象上的方法,以预渲染标记 rendersubtree 为不可见的子树中的内容。


使用案例:


<div id=target rendersubtree="invisible skip-activation" style="content-size: 200px 200px">...content...</div><script>target.setAttribute('rendersubtree', ''); // makes #target render</script>
复制代码


浏览器不会渲染此 div 的子树(但 div 本身会被渲染,这使 div 可以显示“ loading …”),并且浏览器无需为 div 的子树执行任何渲染生命周期阶段。 div 的显示就好像它有一个 200px x 200px 的子元素一样,如同占位符,以便占用 div 子树的大致布局大小。这样可以使页面布局大致正确,并保留布局上溢大小以进行滚动。即使通过 user-agent 功能,浏览器也可能无法呈现内容。


目前,该提案处于早期阶段,浏览器中还没有该提案的实现。


https://github.com/WICG/display-locking/blob/master/README.md

行业新闻

GitHub 启动代码永久保存计划

近日,GitHub 宣布,为了把开源软件留给子孙后代,将在 2020 年 2 月 2 日为所有公共存储库生成快照,保存在北极地下 250 米的废弃煤矿,快照存储在胶片上,寿命长达 1000 年。

2019 年 Chrome 开发者峰会亮点:引入 Web Bundles

在今年的 CDS 上,谷歌预览了 Web Bundles,使 Web App 向原生应用迈进了重要的一步。这是一种基础架构 API,开发人员可以通过它以任何格式(电子邮件、FTP 甚至 USB)分发他们的 Web 内容,而内容本身不会有任何改动。这种技术不仅能够以闪电般的速度交付 Web 内容,而且即使用户处于脱机状态,也可以实现点对点内容分发。将来,诸如 后台定期同步(Background Periodic Sync) 和 内容索引(Content Indexing) 之类的 API,将使开发人员可以主动缓存和显示相关的 Web 内容,即使用户没有 Internet 连接也能继续浏览页面。现在,Web Bundles 已经可以在实验标志后可用,而另外两项新技术现在可以通过 Origin Trials 使用。

张勇:启动香港上市是阿里新的起点

11 月 15 日,阿里巴巴宣布启动作为全球发售一部分的香港公开发售,股份代号为 9988。根据招股书,阿里巴巴将作为一家有“不同投票权”架构的公司在港上市。此前,小米集团和美团点评以“不同投票权”架构在港交所上市,并已于 2019 年 10 月 28 日正式纳入港股通。根据阿里巴巴的公司质量和交易规模,未来也将被纳入港股通。阿里巴巴也将成为首个同时在中国香港和美国纽约两地上市的中国互联网公司。

深度阅读

19 个来自 2019 React Conf 的总结

由 Anthony Morris 收录的 2019 React Conf 的话题总结。


https://segmentfault.com/a/1190000020973753

浏览器中的 TiDB:在 WebAssembly 上运行 Golang 数据库

WebAssembly 对 Go 应用程序的支持尚处于起步阶段。这篇博客文章演示了使用 WebAssembly 在 Web 上运行的 TiDB 数据库。


https://pingcap.com/blog/tidb-in-the-browser-running-a-golang-database-on-webassembly/

JavaScript 中的数据结构

本文讨论了在 JavaScript 中经常被忽视的数据结构,你将了解到栈、队列、链表、哈希表和树的概念,掌握这些数据结构将为你的日常工作提供帮助。


https://blog.logrocket.com/know-your-javascript-data-structures/

玉伯:我的前端成长之路

来自蚂蚁金服前端技术专家玉伯在阿里前端大学的一次分享。


https://www.yuque.com/yubo/morning/grow-up-at-alibaba

工具 & 库 & 资源

【mermaid-js】 用字符创建图形和图表。


https://github.com/mermaid-js/mermaid



【linkinator】扫描你的网站,找到所有那些损坏的链接。


https://github.com/JustinBeckwith/linkinator


【东京公共交通的实时可视化】Akihiko Kusanagi 提供了一个惊人的 3D 数据可视化项目:Mini Tokyo 3D 在地图上可实时显示东京的公共交通系统。


https://nagix.github.io/mini-tokyo-3d/#14/35.6814/139.767/0/60



【开发人员免费服务】开发人员可用的免费服务,它们通常很难找到,free-for.dev 为你整理了涵盖 Saas、Paas、Iaas 等免费服务列表。


https://free-for.dev/


往期回顾

前端周报:未来五年Web趋势预测;TS 3.7发布;W3C网站重新设计

问卷调查

为了能提供更多大家感兴趣的优质内容,我们特别定制了一份调查问卷,希望读者朋友们帮忙填写。您希望前端之巅多输出哪方面的内容?目前在哪些技术方向有困惑?欢迎各位在问卷中留下宝贵建议!


https://jinshuju.net/f/IXCkXX?from=singlemessage&isappinstalled=0


2019-11-18 11:462914

评论

发布
暂无评论
发现更多内容

架构误区系列13:令人迷惑的继承

agnostic

继承

2023-02-19:请用go语言调用ffmepg,输出视频文件信息。

福大大架构师每日一题

golang ffmpeg 福大大

React源码分析1-jsx转换及React.createElement

goClient1992

React

React源码分析(二)渲染机制

goClient1992

React

React源码解读之React Fiber

flyzz177

ReactDOM.render在react源码中执行之后发生了什么?

flyzz177

React

手撕常见JS面试题

helloworld1024fd

JavaScript

应对ChatGPT,中国AI需要这三种能力

脑极体

百度 飞桨 文心

用javascript分类刷leetcode17.栈(图文视频讲解)

js2030code

JavaScript LeetCode

CnosDB成为首个产品支持SQLancer的云原生时序数据库

CnosDB

时序数据库 开源社区 CnosDB 工程师有话说

React Context源码是怎么实现的呢

flyzz177

React

「 Java基础-链式调用 」Java开发中如何让你的代码看起来更优雅?试试链式调用?

小刘学编程

Java 设计模式 建造者模式

快速制作一个chrome插件

JYeontu

chrome Vue chrome扩展 Chrome插件

会声会影2023官方正式版本功能介绍

茶色酒

会声会影2023

FL Studio最新发布21中文正式版本下载

茶色酒

FL Studio 21

社招前端必会手写面试题集锦

helloworld1024fd

JavaScript

JavaScript刷LeetCode心得

js2030code

JavaScript LeetCode

拆分电商系统为微服务

Geek_7d539e

信源分类及数学模型

timerring

信息 信息论 信息论与编码

对比开源丨Prometheus 服务多场景存储压测全解析

阿里巴巴云原生

阿里云 开源 云原生 Prometheus

React源码分析(三):useState,useReducer

goClient1992

React

中文技术文档的写作规范参考

小 he

Portraiture2023最新版本下载安装图文教程

茶色酒

Portraiture Portraiture4

产品团队业务思维的重要性

Bruce Talk

敏捷 Agile

统一观测丨使用 Prometheus 监控云原生网关,我们该关注哪些指标?

阿里巴巴云原生

阿里云 云原生 Prometheus 云原生网关

云计算未来 5 年发展方向大盘点

亚马逊云科技 (Amazon Web Services)

人工智能

LeetCode:240. 搜索二维矩阵 II,直接查找,详细注释

Lee Chen

JavaScript 算法 LeetCode

建议收藏,轻松搞懂区块链!

蔡农曰

比特币 区块链 后端 比特币区块链

架构实战营10期-作业7

炮仗

美团前端一面手写面试题

helloworld1024fd

JavaScript

前端工程师leetcode算法面试必备-简单的二叉树

js2030code

JavaScript LeetCode

前端周报:Mozilla成立字节码联盟;W3C公布Display locking草案加速渲染_大前端_Zehao_InfoQ精选文章