写点什么

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

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

关注

评论

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

架构师训练营第十一周作业2

韩儿

第六周 学习总结

简简单单

重点人员管控系统开发大数据分析研判平台搭建

t13823115967

微警务

面试又不会JVM?阿里P8总结出25道JVM面试解析(基础+进阶+实战)

Java架构之路

Java 程序员 架构 面试 编程语言

week6-homework

J

大作业一

架构师训练营第 1 期

week6-conclusion

J

元旦首献!腾讯高工甩出的“MyBatis源码解析”传授你年薪百万级干货!

比伯

Java 编程 架构 面试 技术宅

第六周 技术选型(二) 课后作业

简简单单

架构师训练营大作业一

吴传禹

架构师训练营第 1 期

辞幕2020,前行2021

iHTC

程序员 中年危机 提升自我 年终总结 技术学习

架构师训练营第十五周课程笔记及心得

Airs

架构师训练营第十一周作业1

韩儿

架构训练营第十一周作业

一期一会

高可用架构

架构师训练营大作业二

吴传禹

架构师训练营第 1 期

我花费一年的时间明白大厂面试的残酷!也最终拿到蚂蚁金服offer,定级P7职位。

Java架构之路

Java 程序员 架构 面试 编程语言

2021年最新Github星标73.7K的性能优化PDF也太完美了

Java架构追梦

Java 学习 架构 面试 性能优化

第一周 ARTS打卡

Aelous

最全总结 | 聊聊 Python 数据处理全家桶(Mysql 篇)

星安果

Python MySQL 数据库 最全总结

第十周-作业1

Mr_No爱学习

UML实践

Iris

架构师训练营 4 期

公安微警务APP开发,移动警务系统建设方案

t13823115967

大数据

架构师系列 12 单向散列加密算法对用户密码加密

桃花原记

51 张图助你彻底掌握 HTTP 协议

Java架构师迁哥

三面百度,四面字节跳动。我是怎么被百度吊打,又是怎么拿下字节offer的?(Java开发岗)

Java架构之路

Java 程序员 架构 面试 编程语言

性能优化-1-压测

raox

AOP的姿势之 简化 MemoryCache 使用方式

八苦-瞿昙

C# aop cache

十二周作业

solike

第十周-学习总结

Mr_No爱学习

架构师训练营大作业一

吴传禹

架构师训练营第 1 期

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