写点什么

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

发布了 816 篇内容, 共 561.4 次阅读, 收获喜欢 1590 次。

关注

评论

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

Solidity之旅(十三)函数及其可见性和状态可变性

BSN研习社

大模型微调方法总结:LoRA、Adapter、Prefix-tuning、P-tuning、Prompt-tuning

百度开发者中心

人工智能 深度学习 大模型

大模型高效微调技术

百度开发者中心

人工智能 深度学习 大模型

身份管理如何提升中小企业生产力?

Authing

企业管理 中小企业 Authing 身份管理

速抢早鸟票|阿里云PolarDB开发者大会,高能来袭

阿里云瑶池数据库

阿里云 开发者大会 阿里云瑶池数据库 阿里云PolarDB

从聚水潭开始,自动化您的电商工作流程

RestCloud

零代码 CRM APPlink 聚水潭

通过解析封装关键词搜索速卖通商品列表数据接口,速卖通API接口

tbapi

速卖通API接口 速卖通商品数据接口 关键词搜索速卖通接口 速卖通商品列表数据接口 速卖通商品列表接口

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

福大大架构师每日一题

福大大架构师每日一题

软件测试/测试开发丨深入了解软件测试:原则、对象、作用与缺陷

测试人

Python 人工智能 软件测试 测试开发

研发提效必备技能:手把手教你基于Docker搭建Maven私服仓库

冰河

程序员 DevOps 研发效能 系统架构 架构师

融云数智办公获 IT168「2023 年度信创卓越贡献奖」

融云 RongCloud

产品 IT 信创 信息技术 数智办公

【终极教程】cocos2dx-js 分批次混淆压缩js文件

Geek_66e2f3

玩转Spring状态机

不在线第一只蜗牛

spring 状态机

每日一题:LeetCode-162. 寻找峰值

Geek_4z9ami

Go 算法 LeetCode 分治 搜索

云技术分享 | EC2 之 Windows 忘记密码(一)

亚马逊云科技 (Amazon Web Services)

ssm Amazon EC2 launch

11项指标!企业应用软件国产替代的选型标准与创新之路

用友BIP

国产替代

倒计时1天|2023开放原子开发者大会,明天见!

开放原子开源基金会

开源

Fine-tuning: 深度解析P-tuning v2在大模型上的应用

百度开发者中心

深度学习 nlp 大模型

胡润研究院首次发布“全球猎豹企业榜”,涛思数据榜上有名

TDengine

涛思数据 tdengine 时序数据库

BRC-20铭文代币合约质押挖矿系统开发丨详情开发

l8l259l3365

致敬中国数据库的黄金时代-记录阿里云数据库从落选到登顶魔力象限的全过程

小猿姐

数据库 阿里云 Gartner 魔力象限

从身份治理出发,助力教育行业回归教育本质

Authing

低代码 教育 Authing 身份管理平台 身份管理

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