写点什么

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:009186
用户头像

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

关注

评论

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

如何基于MindSpore实现万亿级参数模型算法?

华为云开发者联盟

算法 mindspore 万亿级参数 大模型

年中面试经历:美团2面+字节3面+阿里4面+腾讯Java面经,终入字节

Java 程序员 架构 面试

搭建企业私有GIT服务

IT视界

git

使用 VideoToolbox 探索低延迟视频编码 | WWDC 演讲实录

网易云信

低延时

Vue-3-生命周期管理

Python研究所

Vue 大前端 签约计划

强化学习 | COMA

行者AI

人工智能

高可用 | Xenon:后 MHA 时代的选择

青云技术社区

最新大厂Android校招面试经验汇总,看完没有不懂的

欢喜学安卓

android 程序员 面试 移动开发

面试官问我:如何减少客户对交付成果的质疑

华为云开发者联盟

Scrum 敏捷开发 项目 用户故事 研发

从零开始学习3D可视化之物体选择

ThingJS数字孪生引擎

大前端 可视化 程序媛 3D可视化 数字孪生

微服务到底是什么?spring cloud在国内中小型公司能用起来吗?

Java架构师迁哥

和12岁小同志搞创客开发:设计一款亮度可调节灯

不脱发的程序猿

DIY pwm 创客开发

双非渣硕,开发两年,苦刷算法47天,四面字节斩获offer

Java 程序员 架构 面试 算法

🌏【架构师指南】分布式技术知识点总结(中)

码界西柚

分布式架构 架构师技能 分布式技术 6月日更

澳鹏Appen:用高质量的训练数据,赋能更好的智能驾驶

澳鹏Appen

人工智能 自动驾驶 训练数据

奇亚节点分币系统搭建,Bzz节点分币APP搭建

中国政府大数据市场,我们又是第一

云计算

冷门科普类自媒体如何才能脱颖而出

石头IT视角

继BAT之后,又一头部厂商开始构建低代码生态!=

优秀

低代码

基于 Kubesphere 的 Nebula Graph 多云架构管理实践

青云技术社区

KubeSphere

云小课 | 华为云KYON之ELB混合负载均衡

华为云开发者联盟

负载均衡 华为云 云网络 KYON企业级云网络 弹性负载均衡ELB

在windows上用Nginx做正向代理

Python研究所

网络 Proxy 正向代理

卧薪尝胆30天!啃透京东大牛的高并发设计进阶手册,终获P7意向书

Java 程序员 架构 面试 高并发

“半监督”、“自监督”怎么用?| 算法深度剖析与实战分享

网易易盾技术团队

AI 算法 算法实践 实践案例 深度半监督

万字长文详解HiveSQL执行计划

五分钟学大数据

sql 大数据 hive Hive SQL

最新阿里+头条+腾讯大厂Android笔试真题,附详细答案

欢喜学安卓

android 程序员 面试 移动开发

jenkins-01 | 安装

Python研究所

持续集成 jenkins CI/CD

联邦学习—金融数据壁垒和隐私保护的解决之道

索信达控股

大数据 金融科技 联邦学习 金融 数据隐私

阿里P8架构师(花名:霍州)Java程序性能优化“学习日记”

Java架构追梦

Java 阿里巴巴 架构 面试 性能优化

接口全面重构TypeScript ,让uni-app 具备出色的基础音视频能力

ZEGO即构

typescript uni-app 音视频

架构实战营 - 模块 6- 作业

carl

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