硬核干货——《中小企业 AI 实战指南》免费下载! 了解详情
写点什么

Progressive Web App:模仿原生应用的 Web 应用

  • 2015-11-27
  • 本文字数:1195 字

    阅读完需:约 4 分钟

Progressive Web App 的外观和行为都同原生移动应用类似,但它本质上上仍然是Web 应用,不需要通过应用商店部署。

Ashteya Biharisingh 是一名混合移动应用开发人员。据她介绍

[Progressive Web App] 是一个具有响应式布局的 Web 应用,可以离线工作,并能够安装到设备的主屏幕上。这里所说的“安装”是指:在主屏幕上添加该 Web 应用的快捷方式。当用户点击快捷方式时,Web 应用会加载到浏览器,并以全屏模式打开。

Progressive Web App 有许多好处。对用户而言,他们无需在设备上安装应用。与原生 / 混合应用相比,这大大节省了设备的存储空间。对开发人员而言,他们无需通过应用商店发布应用,版本发布和 Bug 修复可以更及时。

近日,印度最大的网上商店之一 FlipKart 推出了一个 Progressive Web App:FlipKart Lite。Android 用户通过浏览器打开该网站时会看到一条“添加到主屏幕”的消息。下次,当用户使用该 Web 应用时,只要点击主屏幕上的图标,它就会以全屏模式打开,就像一个原生应用。目前,作为一个 Progressive Web App,FlipKart Lite 仅支持 Android 设备。如果用户在 iOS 设备上访问该网站,会被重定向到应用商店。这是因为 FlipKart Lite 使用 Service Worker 实现了离线功能,而后者仅在 Chrome 和 Opera 上得到了支持。关于FlipKart 的更多信息,可以查看这篇博文或者这段来自2015 Chrome 开发者峰会的视频

重要通知:接下来InfoQ 将会选择性地将部分优秀内容首发在微信公众号中,欢迎关注InfoQ 微信公众号第一时间阅读精品内容。

Bruce Lawson 是一名来自 Opera 的工程师。据他介绍,Opera 和Chrome 正紧密合作,探索Progressive Web App 的最佳实现,但他们的实现之间还是有一些差别。在Bruce 看来,为了便于此类应用的推广,应该有一种机制可以在用户第一次访问网站时作出提醒,该网站是一个Progressive Web App,而不是在第二次访问时才提醒用户“安装我们的应用”

Nolan Lawson 是 Progressive Web App Pokedex.org 的创建者。对于 FlipKart Lite 的出现,他写到

这个应用让我超级兴奋,因为它向我们展示了,仅仅使用 Web 技术就可以构建一个离线的、60FPS 的移动应用。

Bruce 认为,Progressive Web App 已经准备好迎接它的黄金时代。微软正考虑在其浏览器中添加 Service Worker支持。而且,他们还遵循 W3C Maifest 创建了 manifold.js ,使开发人员可以开发跨平台和设备的托管应用。iOS 也提供了一种创建“可主屏化(homescreen-able)”应用的方式。

感兴趣的读者可以进一步查阅Bruce 提供的其他一些相关资源,如 Web Manifest 说明 Service Worker 手册等。


感谢徐川对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群InfoQ 好读者(已满),InfoQ 读者交流群(#2)InfoQ 好读者)。

2015-11-27 18:009250
用户头像

发布了 1008 篇内容, 共 435.6 次阅读, 收获喜欢 346 次。

关注

评论

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

我可能误会了理性的作用

Justin

心理学 创意 理性 28天写作

【Java技术开发专题】系列之「Guava RateLimiter」针对于限流器的入门到实战(含源码分析介绍)

码界西柚

ratelimiter Guava 限流器 RateLimit 12月日更

Eureka非分区集群部署

李子捌

微服务 28天写作 12月日更

Zilliz 顾钧:开源是协调技术供应商、开发者和用户之间利益的一种更健康的方式 I OpenTEKr 大话开源 Vol.2

OpenTEKr

大话开源

工作到退休,会是什么样子的?(11/28)

赵新龙

28天写作

[Pulsar] 一个消息的生命历程

Zike Yang

Apache Pulsar 12月日更

团队基建系列 - 组织知识传承 6 成功要素

搬砖的周狮傅

团队文化 团队成长

拿它们练Python爬虫,是在法律边缘试探吗?爬虫圈香饽饽之视频网站的评论区采集

梦想橡皮擦

12月日更

数据存储淘汰专题 | 内容合集

卢卡多多

内容合集 签约计划第二季

技术人员需要加强推动力

张老蔫

28天写作

数据大体系(二)——数仓的一般命名规范

圣迪

大数据 数仓 命名

高效的部署微服务

卢卡多多

28天写作 12月日更

瞰见 | 黯然退市的 Cloudera, 让我们开源人情何以堪?

OpenTEKr

狄安瞰源

Rust 元宇宙 16 —— 里程碑,二人世界

Miracle

rust 元宇宙

黑客竟然需要掌握这些知识

喀拉峻

黑客 网络安全

毕业设计

4anonymous

毕业总结

4anonymous

模块六

小何

「架构实战营」

面试官:Chrome和Chromium的区别

喵叔

28天写作 12月日更

元宇宙100讲--0x001

hackstoic

元宇宙

「如何从零到一实现一个玩具浏览器🌏」

速冻鱼

前端 浏览器 签约计划第二季 12月日更

volatile 为什么不保证原子性

悟空聊架构

volatile 原子性 28天写作 悟空聊架构 12月日更

总结篇:10个常用的 JavaScript 函数

devpoint

filter 12月日更

模块六作业:拆分电商系统为微服务

dean

架构实战营

【LeetCode】最小基因变化Java题解

Albert

算法 LeetCode 12月日更

刷新

Nydia

如何够量-训练你的主题演讲

将军-技术演讲力教练

100% 展示 MySQL 语句执行的神器-Optimizer Trace

程序员历小冰

MySQL 28天写作 12月日更

Android 文件重定向下载 & 通知问题小结

阿策小和尚

28天写作 Android 小菜鸟 12月日更

给代码上一份保险

Rayjun

git pre-commit

VR就是下一代平台

mtfelix

28天写作

Progressive Web App:模仿原生应用的Web应用_移动_谢丽_InfoQ精选文章