生成式AI领域的最新成果都在这里!抢 QCon 展区门票 了解详情
写点什么

Service Workers 让 Web 应用感觉更像是原生应用

  • 2014-12-14
  • 本文字数:760 字

    阅读完需:约 2 分钟

那些希望他们的 Web 应用能够更像原生应用的开发者们即将会多一种选择: Service Workers 。service worker 是运行于浏览器后台的一种脚本,它可以无需 Web 页面或者用户交互就能提供额外的功能。

现在 service worker 的最佳使用场景是提供离线能力。开发人员可以注册一个 service worker 作为网络代理提供网络拦截。即使没有可用的网络时,这个代理也能够对缓存的数据和资源或者是已经生成的内容作出响应。在 2014 年的 Chrome 大会上,Alex Russell演示了基于Web 的手机App 如何使用这个功能来提供完全的离线能力。

和现有的HTML5 数据缓存功能有很大的不同,service worker 的离线能力是可编程的。Russell 称它是一个:“让你做出选择去做哪些事的、可编程的、浏览器内置的代理”。由于service worker 运行于后台,它和当前的Web 页面完全独立,所以将来会有后台同步、推送通知等功能,虽然目前还不具备。

谷歌开发者、倡导者Matt Gaunt 在其对service worker 的介绍中提供了一份开发指南,其中包括如何开发一个基础的service worker 的教程以及一些注意事项。

Google、Mozilla 和 Opera 都已经在开发这个功能,大家对 IE 上提供此功能的呼声也甚高,微软已经表示他们正在考虑此事。苹果尚未表态Safari 浏览器是否对其提供支持。

一般情况下,Chrome 将在V40 版本中正式提供Service worker,不过现在开发者已经可以通过 Chrome 的 Beta 版本来提前试用了。Jake Archibald 在 Github 上维护了一个资源列表,大家可以在上面找到更多的相关信息和标准。

查看英文原文: Service Workers Promise to Make Web Apps Feel Native


感谢夏雪对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-12-14 09:148146

评论

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

“苹果陷阱”无法避免,但我们已经在路上

JiangX

苹果 供应链 28天写作 制造业

产品经理训练营笔记-产品思维和产品意识(中)

.nil?

产品经理训练营

产品经理训练营作业-第二周-产品思维和产品意识

.nil?

产品经理训练营

Mysql 4种方式避免重复插入数据!

xcbeyond

MySQL MySQL使用 28天写作

虚拟币钱包APP系统开发|虚拟币钱包软件开发

系统开发

第九周 学习总结

简简单单

Spring Boot 中集成Lucence

武哥聊编程

Java springboot SpringBoot 2 28天写作 Lucence

第二次作业

秦挺

如何快速提升自己的能力?高效学习让你更出类拔萃。

一笑

学习方法 28天写作

网络出口究竟选择防火墙,还是路由器?

2021开启数据结构与算法的学习之旅

Nick

学习 flag 新年计划

一起进阶一起拿高工资!Java开发进阶-log4j2日志脱敏原理分析

看点代码再上班

Java 程序员 log4j 编程开发

架构师训练营第四周学习总结

跳蚤

JVM垃圾回收机制是怎样的,何时触发YoungGC或FullGC操作?

Java鱼仔

Java 面试 JVM 垃圾回收

区块链交易所APP开发|区块链交易所系统软件开发

系统开发

原来Canal也可以做HA!

大数据老哥

碎碎念之「卡马克的反脆弱想法生成系统」

Justin

心理学 创意 28天写作 反脆弱

【CSS】格仔背景

德育处主任

html css3 大前端 CSS小技巧 28天写作

我是这样使用极客时间APP的

熊斌

极客时间 28天写作

HASH碰撞问题一直没真正搞懂?这下不用慌了

架构精进之路

算法 hash 七日更 28天写作

Elasticsearch 乐观锁并发控制

escray

elastic 七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

新荣耀历险记:带着“神装”踏上英雄试炼路

脑极体

机器学习笔记之:监督学习

Nydia

数字货币交易所软件开发|数字货币交易所系统APP开发

系统开发

Mac 电脑安装Etcd和Go的etcd/clientv3

BigYoung

Mac etcd client Go 语言

第九周 性能优化(三)课后作业

简简单单

「架构师训练营 4 期」 第四周 - 001

凯迪

Dockerfile ENV 使用指南

K8sCat

Docker Dockerfile ENV ARG

当情绪生病?就嫁接一段新的记忆「幻想短篇 16/28」

道伟

28天写作

项目管理系列(9)- 项目分析与报告

Ian哥

28天写作

架构师训练营第四周作业

跳蚤

Service Workers让Web应用感觉更像是原生应用_JavaScript_David Iffland_InfoQ精选文章