2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

发布了 891 篇内容, 共 630.2 次阅读, 收获喜欢 1619 次。

关注

评论

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

AI和社交媒体:改变信息传播的方式

测吧(北京)科技有限公司

测试

揭秘 ChunJun:如何实现 e2e&session 日志隔离

袋鼠云数栈

大数据 开源

Axeos 跨域解决指南,让你的接口请求畅通无阻

Liam

前端 后端 前端开发 跨域 axios

文字图像转换的创新技术

百度开发者中心

#人工智能 生成式AI 千帆大模型平台

OpenHarmony系统能力SystemCapability使用指南

OpenHarmony开发者

OpenHarmony

HarmonyOS应用开发Web组件基本属性应用和事件

HarmonyOS开发者

HarmonyOS

小度携手可口可乐,AIGC成就未来3000年时空畅想

新消费日报

干货 | Elasticsearch Java 客户端演进历史和选型指南

腾讯云大数据

ES

Arbitrum公链系统开发丨ARB链代币质押挖矿系统开发

l8l259l3365

Pyth

【华秋干货铺】软硬结合板的阻抗计算,你会吗?

华秋电子

PCB

秒合约竞猜游戏app系统开发定制源代码部署

开发微hkkf5566

RTE 领域近期词云统计发布;谷歌开始新一轮「瘦身」计划;使用ChatGPT之后智力提高 50%丨RTE开发者日报 Vol.50

声网

处理更多数据,大幅降低成本!Milvus MMap 启示录

Zilliz

Mmap Milvus Zilliz 向量数据库 Milvus2.3

软件测试|MySQL安装最全教程

霍格沃兹测试开发学社

SpringBoot拦截器和动态代理有什么区别?

王磊

Java Java面试题

TiDB Serverless Branching:通过数据库分支简化应用开发流程

TiDB 社区干货传送门

达梦数据库接入案例—基于EntityFrameworkCore 6.x

为自己带盐

.net core 达梦 EFCore

机器学习——决策树模型

小魏写代码

AI和语音助手:智能助手的展露头角

测吧(北京)科技有限公司

测试

AI和智能家居:打造智慧生活

测吧(北京)科技有限公司

测试

AI和语言翻译:跨文化交流的帮手

测吧(北京)科技有限公司

测试

云起无垠参编的《软件物料清单(SBOM)发展洞察报告》正式发布

云起无垠

使用br工具备份到local的一些操作

TiDB 社区干货传送门

迁移 备份 & 恢复 6.x 实践

使用Docker构建轻量级Linux容器

互联网工科生

Docker 容器

基于Web的智慧污水厂2D组态系统

2D3D前端可视化开发

组态软件 智慧水务 智慧污水处理 污水厂组态图 污水厂监控系统

文心一言 VS 讯飞星火 VS chatgpt (93)-- 算法导论9.2 1题

福大大架构师每日一题

福大大架构师每日一题

迎产业东风,柔性电子供应链企业的机会与挑战

华秋电子

PCB

AI和安全性:网络安全的挑战与机会

测吧(北京)科技有限公司

测试

在Mac上浏览Android设备文件:MacDroid pro最新中文版

胖墩儿不胖y

Mac软件 传输文件 文件传输工具

站群服务器租用:为您的多站点网络提供支持

一只扑棱蛾子

站群服务器

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