AICon全球人工智能与机器学习技术大会周四开幕,点击查看完整日程>> 了解详情
写点什么

WorkerDOM 为 JavaScript 编程添加 DOM 并发

  • 2018 年 11 月 08 日
  • 本文字数:932 字

    阅读完需:约 3 分钟

WorkerDOM为JavaScript编程添加DOM并发

在今年的JSConf大会上,最大的新闻是引入WorkerDOM,这是一个 JavaScript 库,使 Web Workers 可以使用 DOM,从而使开发人员可以利用多核处理器体系结构来提高 Web 性能。


Web Workers已经存在多年,但是,不能访问 DOM 限制了它们的应用。WorkerDOM 项目希望帮助恢复人们对 Web 多线程编程的兴趣,为用户创造更好的体验。


利用替代方法来提升用户体验的需求是一个日益流行的话题。在今年的 FullStack 大会上,软件工程师 James Milner 介绍了利用Web Workers改进用户体验的技术,即将处理工作交给 Web Workers 以提升应用程序主线程的性能。


WorkerDOM 的另一个目标是使 Web 性能堪比本地平台,其方式是通过尽可能地释放性能来提供更好的体验,特别是在移动设备上,单个处理器的速度没有像处理器核数提高得那么快。


为了在 Web Workers 内部实现 DOM 的完整表示,WorkerDOM 提供了一种用 TypeScript 编写的高效传输机制。谷歌 AMP 项目技术负责人 Malte Ubl 在 WorkerDOM 的公告中是这样说的:


WorkerDOM 对服务器渲染的 DOM 进行“注水( hydrate)”,然后在应用程序对页面进行更改时进行代理“修改(mutation)”,例如对用户操作做出响应或运行动画。


WorkerDOM 可以通过 npm 或 yarn 安装:


npm install @ampproject/worker-domyarn add @ampproject/worker-dom
复制代码


或者,对于提供本地模块支持的浏览器(除 IE11 和 Samsung Internet 之外一切现代化的东西),它也可以作为一个 ES 模块包含进来:


<script src="path/to/workerdom/dist/index.mjs" type="module"></script><script src="path/to/workerdom/dist/index.js" nomodule defer></script>
复制代码


WorkerDOM README 中提供了详细的使用说明。JSConf 演讲“WorkerDOM:JavaScript 并发和 DOM”的完整幻灯片也已提供


WorkerDOM 目前尚处于 Alpha 状态,请准备好进行实验和贡献。WorkerDOM 的目标还包括提供与 JavaScript 框架的兼容性,最初会支持 React、Preact 和 Svelte。该项目重视与框架及工具作者的合作,力图为开发人员和用户提供最佳的体验。


WorkerDOM 遵循 Apache 2 开源许可协议。欢迎通过WorkerDOM GitHub项目提交贡献,并请遵循 WorkerDOM 项目的贡献指南代码规范


查看英文原文:WorkerDOM Adds DOM Concurrency for JavaScript Programming


2018 年 11 月 08 日 13:4113460
用户头像

发布了 1008 篇内容, 共 326.8 次阅读, 收获喜欢 300 次。

关注

评论 12 条评论

发布
用户头像
又出新的东西了...哎.命苦的孩子, 学不完咯
2018 年 12 月 02 日 22:44
回复
用户头像
看起来很牛逼的样子
2018 年 11 月 09 日 17:16
回复
用户头像
测试一下回复
2018 年 11 月 09 日 11:13
回复
用户头像
这个是不是之前react-work-dom 的升级版啊
2018 年 11 月 08 日 17:57
回复
用户头像
第一次回复。
2018 年 11 月 08 日 17:20
回复
用户头像
表示一下赞叹。同时试试新评论
2018 年 11 月 08 日 15:11
回复
我试试新回复。你第二句话没有句号。
2018 年 11 月 08 日 15:25
回复
试试回复的回复。表示一下赞叹!
2018 年 11 月 08 日 15:35
回复
我也试试!
2018 年 11 月 08 日 16:42
回复
查看更多回复
没有更多了
发现更多内容

上海首批金融科技“监管沙盒”应用名单出炉 区块链技术备受青睐

Geek_987812

金融科技 金融监管 创新与安全 智能多元化

正则表达式基础详解

懒猫

Java 正则表达式 前端 正则

一个好用的工作生活平衡方式

霍太稳@极客邦科技

华为云FusionInsight MRS融合大数据平台进阶之路

数据湖洞见

大数据 新特性 FusionInsight 华为云 智能数据湖

7个获取访问者真实IP的方法,速学!!!

华为云开发者社区

nginx 前端 网站 IP 服务器

阿里巴巴大规模应用 Flink 的实战经验:常见问题诊断思路

Apache Flink

flink

Nginx 限流配置

Bruce Duan

Nginx限流

一文带你了解Zookeeper所有核心概念

小隐乐乐

zookeeper 分布式 分布式架构

国产开源流媒体SRS4.0对视频监控GB28181的支持

潇湘落木

音视频 云直播 短视频 流媒体

英特尔中国研究院宋继强:芯片、系统、软件成为异构计算的三层级

最新动态

主宰操作系统的经典算法

cxuan

后端 操作系统

胡继晔:发挥我国优势把依法治网落实到区块链管理中

Geek_987812

CECBC 胡继晔 依法治网 数字货币监管

Java架构-Java代码规范那些事

我是苞谷

Java

HTTPS详解

Bruce Duan

https 对称加密 非对称加密

Go: 通过代码学习 Map 的设计 — Part II

陈思敏捷

Go map

干货分享丨玩转物联网IoTDA服务系列四-智能网关

华为云开发者社区

物联网 智能设备 应用场景 华为云 mqtt

Spring Boot + Vue前后端分离项目,Maven自动打包整合

xcbeyond

maven 前后端分离 springboot 部署

如何消灭飞机的“黑色十分钟”,AI来帮忙

华为云开发者社区

华为 AI 智能时代 模型 华为云

Kafka两个高性价比的参数调优

我是个bug

Java 大数据 kafka

week8 作业

Shawn

Flink Weekly | 每周社区动态更新

Apache Flink

flink

API接口限流

Bruce Duan

分布式限流 单体限流 限流算法

架构师那些不能碰的禁忌

曲水流觞TechRill

架构师

[POJ 1002] 487-3279 C++解题报告

一直AC一直爽

POJ ACM

职场求生攻略答疑篇之 1 —— 加班沉思录

臧萌

程序员 加班

Linux服务器存在某进程CPU过高如何追溯其问题根源?

Nick

Java Linux centos

节约60%成本!虎牙直播云端大数据是怎么做到的?

腾讯云大数据

IO系列——UNIX五种IO模型

Java联盟

io 多路复用 异步IO

ARTS 第 5 周

乌拉里

Redis系列(七):缓存只是读写回种这么简单吗?如果是,那么请你一定看看这篇文章!

z小赵

redis 分布式 高并发系统设计

架构师训练营第八周作业

张明森

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

WorkerDOM为JavaScript编程添加DOM并发-InfoQ