写点什么

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

发布了 917 篇内容, 共 643.1 次阅读, 收获喜欢 1628 次。

关注

评论

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

国外服务器对网站速度的影响:事实与误解

一只扑棱蛾子

Mojo——会燃的 AI 编程语言

CODING DevOps

云原生数据库 GaiaDB 的核心技术演进和解析

Baidu AICLOUD

云原生数据库

如何使用 NFTScan 的 TON API 实现 NFT 应用开发?

NFT Research

NFT NFT\ NFTScan nft工具

软件测试/测试开发丨南科大计算机系本科生获“火焰杯”软件测试高校就业选拔赛一等奖

测试人

软件测试

互联网众包平台:软件开发项目的明智之选

知者如C

软件研发流程、架构规范、技术标准、需求过程等全文档

金陵老街

项目经理 软件开发资料 开发模板 文档干货

从C++98到C++26,经历了什么?

树上有只程序猿

c++

风口之下的低代码革命

互联网工科生

低代码

腾讯云 CODING 快速应用中心,让您 10 分钟轻松玩转 AIGC

CODING DevOps

摆脱障碍,通过技术实现企业财务数字化新高度

智达方通

数字化转型 智能化 企业财务数字化 全面预算管理解决方案

从入门到精通:掌握 Mock 测试的详细步骤

Liam

程序员 Vue 前端 API Mock

怎么理解CST软件中的端口与参数?CST软件-CST下载

思茂信息

cst cst使用教程 cst操作 cst仿真软件

三江学院“火焰杯”软件测试高校就业选拔赛颁奖仪式

测试人

发现一不错的编程助手 Amazon CodeWhisperer

亚马逊云科技 (Amazon Web Services)

人工智能 CodeWhisperer 云上探索实验室

低代码助力软件开发

树上有只程序猿

软件开发 低代码 可视化开发

观测云产品更新 | 优化 SSO 管理、新增监控器类型、优化场景等

观测云

数据可视化 单点登录 监控器

深入探讨I/O模型:Java中的阻塞和非阻塞和其他高级IO应用

程序那些事

Java io 程序那些事

零基础学习CAE——Hypermesh的使用技巧

智造软件

建模 建模软件 建模工具 Hypermesh

APE猿岛游戏系统开发(ApeCoin DAO)

薇電13242772558

NFT 链游

做开源九死一生!为什么还有那么多人前仆后继?

X2Rtc

开源 音视频 RTC 科技 十四五

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