阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

谷歌在 Chrome 74 中试验内置模块 KV Storage

  • 2019-04-29
  • 本文字数:1126 字

    阅读完需:约 4 分钟

谷歌在Chrome 74中试验内置模块KV Storage

谷歌最近宣布,他们计划在 Chrome 的未来版本中交付两个新的WICG提案。KV Storage(键-值存储)试图提供 localStorage 的便利,但性能更好。其目的是利用导入映射提案将其作为内置模块的第一个示例交付。


JavaScript 生态系统在本地存储和缓存数据方面存在一些缺陷。正如谷歌 Web 平台软件工程师 Philip Walton 所解释的那样:


在过去十年的大部分时间里,浏览器厂商和 Web 性能专家一直在说,localStorage 很慢,Web 开发人员应该停止使用它。公平地说,说这话的人没错。LocalStorage 是一个同步 API,它会阻塞主线程,任何时候访问它都有可能阻止页面的交互。问题是,localStorage API 非常简单,而且 localStorage 的唯一异步替代方案是 IndexedDB,(面对现实吧)并不以其易用性或受欢迎的 API 而闻名。


Web Incubator CG (WICG)最近将 KV Storage 提升为 W3C IndexedDB 规范的一部分。KV Storage 类似于 localStorage,但更现代,并在 IndexedDB 之上。该规范要求浏览器厂商将其作为内置模块实现,并使用 IndexedDB 作为其后台存储。


以下是规范中提供的 KV Storage API 使用示例:


import { storage } from "std:kv-storage"; // specifier prefix not final
(async () => { await storage.set("mycat", "Tom"); console.assert(await storage.get("mycat") === "Tom");
for await (const [key, value] of storage.entries()) { console.log(key, value); } // Logs "mycat", "Tom"
await storage.delete("mycat"); console.assert(await storage.get("mycat") === undefined);})();
复制代码


对于支持 IndexedDB 的浏览器,有一个KV Storage polyfill


KV Storage 模块是按照JavaScript标准库提案及其导入映射支持中的定义实现的。


导入映射不是一个新概念,它是早期 JavaScript 模块系统的一部分,就像 AMD 和其他编程语言中的模块系统。它们是新近才包含在标准 ES 模块中的。这个导入映射提案提供了对 JavaScript import 语句和 import()表达式所获取的 URL 的控制,并允许在非导入上下文中重用映射。导入映射允许简化导入语句、回退模块解析、内置模块 polyfill 以及在 fetch、image 和 link 标记之间共享上下文等等。


这两个备受期待的新特性的成功实现,将显著改进将特性添加到 JavaScript 未来版本的过程,并提供更加方便的 Web API。导入映射和内置模块完善了可扩展Web宣言中缺失的部分。


现在,希望试验 KV Storage 的开发人员可以利用 polyfill,或者安装 Chrome Dev 或 Chrome 74 的 Canary 版本。在这些特性的主流版本发布之前,开发者可以注册KV Storage最初试用版,所有 Chrome 74+用户都可以使用这些特性。


查看英文原文Google Experiments With Key-Value Storage, Built-In Modules in Chrome 74


2019-04-29 08:004803
用户头像

发布了 687 篇内容, 共 396.8 次阅读, 收获喜欢 1498 次。

关注

评论

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

从工具到实践:如何在GitHub上保障开源项目安全?

SEAL安全

GitHub 开源 开源项目 开源安全 12 月 PK 榜

第三周作业 外包学生管理系统-架构设计文档

不爱学习的程序猿

图计算引擎分析——Gemini

京东科技开发者

内存 图计算 压缩 引擎 静态数据

这么硬核的教程绝对不能错过!无水印下载ins视频保存到手机相册!

frank

ins ins视频和图片

钉钉 ANR 治理最佳实践 | 定位 ANR 不再雾里看花

阿里巴巴终端技术

android 钉钉 anr

协同高效运转,华为云桌面助力企业数字化转型!

科技说

学生系统架构图

lory(侯保国)

国产ETL etl-engine 流批一体数据交换引擎 轻量级 跨平台 支持动态解析GO语言脚本

weigeonlyyou

Prometheus Influxdb go语言 ETL Hadoop hd

华为云桌面,高流畅低延时,给你丝滑办公体验

爱尚科技

物联网平台从设备端到云端业务系统全链路开发实战——实践类

阿里云AIoT

sql 监控 物联网 存储 消息中间件

新年送礼选贾斯特里尼&布鲁克斯葡萄酒,高端大气有面子

联营汇聚

严选精品葡萄,酿造百年贾斯特里尼&布鲁克斯葡萄酒

联营汇聚

程序员是“短命”职业吗?年龄大了是不是没前途?

千锋IT教育

5大理由告诉你,为什么选择华为云桌面

与时俱进的时代

小课堂|RSA加密数据太长报错解决

孟君的编程札记

Java rsa RSA密码

如何优雅的写 css 代码

京东科技开发者

CSS 前端 代码 优化 精简

职场新人有没有潜力,看这一个能力就够了!

图灵社区

数据分析 图表 可视化数据

华为云桌面,如何助力企业云上轻松办公

科技怪授

云桌面

物联网设备端的传感器数据如何实时上报到云平台——实践类

阿里云AIoT

安全 物联网 物联网安全 技术标签

助力企业构建更可靠的云上云下网络,华为云企业交换机巧解企业上云难题!

路过的憨憨

现在即未来,华为云桌面引领桌面变革新潮

科技说

物流自动化:趋势和机遇

世开 Coding

自动化 物流行业

职场新人有没有潜力,看这一个能力就够了!

图灵教育

数据分析 图表 可视化数据

架构实战营第十期模块三作业

刘博

由浅入深剖析JDK源码!美团大牛手撸并发原理笔记真香

Java永远的神

程序员 并发编程 后端 jdk源码 架构师

华为企业交换机ESW,企业数据上云,一步到位

路过的憨憨

如何区分位图和矢量图格式?怎样一键把位图转换成矢量图?

互联网民工阿强

AI 位图 图片处理 矢量图 格式转换

运维自动化之监控平台

大V

DevOps 运维自动化 监控报警

华为企业交换机ESW助力企业走上云端

路过的憨憨

贾斯特里尼&布鲁克斯葡萄酒,来自法国的专属浪漫

联营汇聚

数据库上云已成趋势,华为云数据库与传统数据库对比解析

与时俱进的时代

谷歌在Chrome 74中试验内置模块KV Storage_大前端_Dylan Schiemann_InfoQ精选文章