写点什么

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

发布了 865 篇内容, 共 606.4 次阅读, 收获喜欢 1616 次。

关注

评论

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

最全最详细的Java异常处理机制

是月月啊2023

Java 面试题

OpenTiny Vue 3.12.0 发布:文档大优化!增加水印和二维码两个新组件🎈

Kagol

极狐GitLab 和 ArgoCD 集成实现 GitOps

极狐GitLab

DevOps gitlab CD workflow ArgoCD

喜报!乘云数字获浙江省“专精特新”企业认定

乘云数字DataBuff

17 | 跳表:为什么Redis一定要用跳表来实现有序集合

鲁米

一起学Elasticsearch系列-模糊搜索

Java随想录

Java 大数据 elastic

全面高压化与全面超快充,破解新能源汽车的时代难题

脑极体

数字能源

[译]你应该知道的多个HTML属性

南城FE

html html5 前端

一篇读懂Volatile关键字

是月月啊2023

Java 面试题

华秋DFM软件荣获2023年度电子信息行业可靠性质量提升典型案例

华秋电子

软件

【技术人的 2023】 ——我的AI学习之旅年度总结

YoLo

AI

2024营销日历新鲜出炉!提前规划,赢在起跑线!

彭宏豪95

互联网 营销 在线白板 活动策划 效率软件

SQL CREATE INDEX 语句- 提高数据库检索效率的关键步骤

小万哥

MySQL 数据库 sql 程序员 后端开发

写作行动营学员打卡-Day3-工作笔记

Luke

app开发

Geek_8da502

聚首江城,共创开源未来 | 2023 OpenHarmony城市推介会•武汉市圆满落幕

科技热闻

鸿蒙原生应用开发——分布式数据对象

HarmonyOS开发者

HarmonyOS

PostgreSQL 技术内幕(十二)CloudberryDB并行化查询之路

酷克数据HashData

2023 总结对AI的总结和展望

查拉图斯特拉说

AI 大模型

避坑指南之财务共享中心的服务管理

用友BIP

财务共享

ETL+BI结合的数据集成工具

谷云科技RestCloud

BI ETL 数据集成

FFA 2023 明日开幕,Flink 智能诊断、小红书流批一体实践精彩来袭

小红书技术REDtech

大数据 flink 架构 流批一体

谷歌史上最强大模型Gemini抢鲜知!!!

江湖修行

AI Google openai #人工智能 #大模型

一款带键扫的LED驱动电路

芯动大师

低代码实现探索(六十一)字段隔离解耦

零道云-混合式低代码平台

写作训练营打卡2--工作后最有成就感的事

Avril

系统分析师还是架构师?

escray

技术人写作 21 天技术人写作行动营

如何将自己的项目打包成whl文件分享

IT蜗壳-Tango

华秋喜获“2023深圳行业领袖企业100强”称号

华秋电子

小程序开发实战案例之三 | 小程序底部导航栏如何设置

盐焗代码虾

前端 支付宝 小程序开发 导航栏

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