写点什么

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

发布了 934 篇内容, 共 654.2 次阅读, 收获喜欢 1631 次。

关注

评论

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

MCP详解及手把手实战

知识浅谈

MCP MCP协议

Nessus Professional 10.8.4 Auto Installer for macOS Sequoia

sysin

Nessus

Langchain快速入门: 一行代码实现流式输出

AI时代的一滴水

Python AI #LangChain LLM模型

1688代采系统功能深度解析(二):从技术角度揭秘“一键下单+批量采购”如何重塑采购效率

代码忍者

1688代采集运系统

【签约】安兰携手第七在线 共启智能供应链新纪元

第七在线

漫谈PID,聊聊实现与调参原理

芯动大师

又来一个挑战 Elastic 的,初识 SigLens

巴辉特

elasticsearch SigLens

AI智上 | 数智预算:业财数融 智算未来

用友智能财务

[几种方法]手机号码批量导入手机通讯录的三种超简单方法,适用于苹果iphone安卓手机华为小米手机等导入联系人号码

一码平川

轻松拥有企业AI大脑,英特尔与MAXHUB共同发布AI PC

E科讯

MySQL性能飙升10倍的终极优化!架构设计实战,让数据库永不崩溃

程序员高级码农

Java MySQL 面试 :MySQL 数据库

征程 6 VIO通路断流分析

地平线开发者

自动驾驶; 算法工具链 地平线征程6

KWDB MCP Server:解锁 LLM 与数据库的无缝协作

KaiwuDB

数据库

问界M9硬件升级的背后,藏着汽车的原子化之梦

脑极体

AI

MES管理系统:解决排产难题,提升企业竞争力

万界星空科技

生产管理系统 mes 制造业工厂 生产排班排产 智能排产

2025 腾讯云城市峰会 •成都峰会 Al+办公协同创新专场 智启未来办公 驱动提效增长

人称T客

征程 6|部署模型尾部 conv 输出 type/layout/scale 解读

地平线开发者

自动驾驶; 算法工具链 地平线征程6

INFINI Console 系统集群状态异常修复方案

极限实验室

Kubernetes operator arm64

deepseek如何制作ppt?DS高级使用技巧盘点!

职场工具箱

PPT 办公软件 AIGC AI生成PPT DeepSeek

Arthas trace (方法内部调用路径,并输出方法路径上的每个节点上耗时)

刘大猫

人工智能 机器学习 大数据 Arthas 大模型

BOE(京东方)携手国家大剧院打造话剧《林则徐》第二现场

科技大数据

展开华为风帆,航向全球金融

脑极体

AI

等保二级与三级的深度剖析:差异究竟在哪?

黑龙江陆陆信息测评部

英特尔和海信联合发布的会议垂域模型让商务会议更加安全智能

E科讯

【HarmonyOS 5】makeObserved接口详解

GeorgeGcs

【HarmonyOS 5】VisionKit人脸活体检测详解

GeorgeGcs

征程 6 VIO通路断流分析

地平线开发者

自动驾驶; 算法工具链 地平线征程6

《Operating System Concepts》阅读笔记:p748-p748

codists

操作系统

GPT-4 即将退役,你准备好迎接 AI 的下一波冲击了吗?

测试人

人工智能

相得益彰 — 基于 GraphRAG 事理图谱驱动的实时金融行情新闻资讯洞察

亚马逊云科技 (Amazon Web Services)

《人民日报》:助力高校毕业生高质量充分就业

Y11

面试 找工作 简历 实习 校招

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