写点什么

谷歌在 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:005147
用户头像

发布了 778 篇内容, 共 531.2 次阅读, 收获喜欢 1578 次。

关注

评论

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

前端leetcde算法面试套路之堆

js2030code

JavaScript LeetCode

CI/CD | 深入研究Jenkins后,我挖掘出了找到了摆脱低效率低下的方法

龙智—DevSecOps解决方案

ci 持续集成 jenkins

谈JVM xmx, xms等内存相关参数合理性设置

京东科技开发者

JVM 内存 垃圾回收 吞吐量 企业号 2 月 PK 榜

文章转载 | 紫龙上海CTO王琦:我们对游戏工业化的探索

龙智—DevSecOps解决方案

游戏开发 游戏引擎 紫龙游戏

cmp云管平台专业厂商选择技巧看这里!

行云管家

云计算 云服务 云管平台 云计算管理工具

代码质量与安全 | ChatGPT能帮到你什么还有待探索,但人工智能真的可以帮你做自动化测试

龙智—DevSecOps解决方案

人工智能 AI 软件测试 测试 自动化测试

瓴羊Quick BI拥有可视化大屏功能,精准掌握所有数据内容!

小偏执o

Vue虚拟dom是如何被创建的

yyds2026

Vue 前端

腾讯前端二面常考vue面试题(附答案)

yyds2026

Vue 前端

2023年优质的数据库审计厂商当属行云管家!

行云管家

等保 等级保护 数据库审计

Vue组件是怎样挂载的

yyds2026

Vue 前端

阿里云IoT企业物联网平台 可用地域区 和 接入点信息速查——实践类

阿里云AIoT

阿里云 物联网 IoT

前端leetcde算法面试套路之回溯

js2030code

JavaScript LeetCode

【华秋电子】晶体的选择有哪些参数?

华秋电子

彻底搞懂React-hook链表构建原理

夏天的味道123

前端 React

腾讯前端必会react面试题合集

xiaofeng

前端 React

2022年最新数据库调查报告:中国使用率最高的数据库云厂商是谁?

墨天轮

数据库 腾讯云 阿里云 华为云 上云

线上研讨会报名 | Perforce、中手游、星思半导体专家邀您一起畅聊如何通过数字资产管理与版本控制赋能大规模研发

龙智—DevSecOps解决方案

版本控制 数字资产 游戏开发 数字资产管理 芯片研发

从实现一个React到深度理解React框架核心原理

夏天的味道123

前端 React

前端一面常见react面试题(持续更新中)

夏天的味道123

前端 React

前京东高级副总裁周伯文提前1年布局ChatGPT,现招募多名合伙人

B Impact

2022年中国小微企业云财税服务市场专题分析

易观分析

数字化 财政 财税

校招前端高频react面试题合集

夏天的味道123

前端 React

你要的react+ts最佳实践指南

xiaofeng

前端 React

2023前端一面vue面试题合集

yyds2026

Vue 前端

还在苦于提升代码质量?快来试试这个方法

博文视点Broadview

用javascript分类刷leetcode9.位运算(图文视频讲解)

js2030code

JavaScript LeetCode

Atlassian Server用户新选择 | 数据中心产品是否适合您的企业(2)?

龙智—DevSecOps解决方案

Atlassian 数据中心版 server版

几个你必须知道的React错误实践

xiaofeng

前端 React

滴滴前端高频react面试题汇总

xiaofeng

前端 React

基于 IoT+TSDB+Quick BI 云产品架构的楼宇环境监控实战——实践类

阿里云AIoT

数据库 监控 物联网 传感器 测试技术

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