首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关于如何做一个“优秀网站”清单——规范篇

为了帮助开发团队创造最好用户体验,我们拆解出了这一份清单,其中包括了我们所能想到一个基准版PWA该有的所有点,以及如何进一步做出一个体验更完美的模范版PWA重要细节。...响应式Web设计》 任何应用安装提示都不会过度使用 确认方法:检查PWA加载时不使用应用程序安装插页式广告 改善方法: ●应该只有一个顶部或底部应用安装横幅●将PWA添加到用户主屏幕后...应用程序在离线时不应比缓慢连接感觉更快 改善方法: 尽可能使用缓存优先响应。也可以查看我们服务工作者库,使得实现这些模式更容易。...(服务工作者库地址: https://developers.google.com/web/tools/service-worker-libraries/) 站点适当地通知用户何时离线 确认方法...不是填写传统表单,验证用户是否能够通过触发本地安装支付App轻松完成支付。 改善方法: 按照我们付款请求API集成指南。

3.2K70

使用 vue 创建你第一个 PWA 应用

PWA 服务了。...清除缓存 安装与卸载 在电脑端 Edge 和 Chrome 其安装提示都是在地址栏右边显示一个小按钮,在首次打开网站时会多显示几秒几个诸如 “安装提示文字。...下图是在 Edge 点击安装按钮效果。 安装提示 安卓系统因使用浏览器差异,表现也不尽相同,下图使用是 MIUI 自带系统浏览器(暗黑模式)。...: 软件注册表 根据注册表信息,打开软件安装目录,我们可以看到如下目录结构: 目录结构 也就是说 PWA Windows 安装被打包为了 Windows Store App,除了可以通过浏览器来管理外...3.安卓的话,安装触发还是建议使用系统自带浏览器打开,手机若使用 edge 或者 chrome,需要授权给应用创建桌面快捷方式权限。

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

开发一个渐进式Web应用程序(PWA)前都需要了解什么?

,App成为了我们生活中不可或缺一部分,而对于实体业务也是如此,现在各行业都在推出自己App,但有没有人想过这样一种场景,如果自己潜在客户还没有安装App亦或是即便安装但因为客户手机存储空间紧张而卸载掉了你...最重要是,渐进式Web应用程序在手机上创建方式也很简单,因为它们只是对你网站增强,当有人在第一次访问你网站时,PWA功能在经过你授权后就会自动为你创建在手机上。...如果浏览器检测到网站存在PWA清单文件,Chrome会自动出现“添加到主屏幕”按钮。如果用户点击同意,该图标将被添加到主屏幕,并且将安装PWA。 ?...在这种情况下,self-property 代表窗口对象(即你浏览器窗口)。 添加到主屏幕按钮 "添加到主屏幕按钮" 允许用户在其设备上安装PWA。...为了真正用这个按钮安装PWA,你必须在SW中定义一个fetch事件处理程序。让我们在sw.js中解决这个问题。

1.6K20

最新版小程序开发白皮书解读系列 — 由来

背景 虽然原生应用在我们日常生活中很受欢迎,但仍有很多问题亟待解决,例如: 用户在从原生应用获取服务之前,往往需要经历下载->安装->注册应用过程。...为了提供与原生应用程序相同服务,开发人员可能需要为不同平台维护重复产品。 解决上述问题,曾经有研发人员认为,Web 可以避免这些问题,但到目前为止 Web 仍然不完美。...小程序供应商定义了类似的 UI(用户界面)元素,这些元素在 HTML 中并不总是具有直接等效元素。 在服务方面,PWA 和小程序开发者可以访问具有相同目的和等效功能 API,但不遵循确切规范。...小程序供应商通过其渠道定义了面向应用发布和分发管理专有 API。其他专用 API 与具体场景和运行平台相关联。例如,使用设置提醒、接听电话和触发警告服务。...PWA 依赖于标准 Web API,而小程序实现非标准 API 以最大限度地发挥平台功能,例如特定于设备功能和供应商专有的服务

43320

渐进式Web应用清单(翻译转载)

为了帮助团队尽可能提升体验,我们整理了这个checklist,其涵盖了所有我们认为构建一个基础PWA所需,以及通过提供更好离线体验,达到更快交互和关心更多重要细节,来进一步构建一个高级PWA...你也可以使用PRPL模式和像PageSpeed Module服务器端工具进行研究。...应用安装提示不要被过度使用 测试 检查加载完成时PWA没有使用应用安装广告 修复 应该只有一个顶部或者底部应用安装横幅 在PWA被添加到用户主屏后,任何顶部/底部横幅都应该被移除 拦截添加到主屏提示...缓存 站点网络请求优先使用缓存 测试 把网络模拟调至最低值,开始运行应用 然后,把网络模拟调制离线,再运行。在离线状态下,相比于慢连接应用应该不会有太大差别 修复 在可行地方使用缓存优先响应。...不需要填写常规表格,验证用户可以通过Payment Request API触发原生界面顺利支付。 修复 查看我们支付请求API集成指南。

1.6K20

在“小程序”PWA上开发WebRTC

自那时以来,这种很少使用功能得以不断发展,现已变得不再只是一个简单书签。 当一个网络应用程序满足一定数量启发式算法时,浏览器会注意到,并开始推荐用户将该网络应用程序“安装”为PWA。...为了让你应用程序被Chrome分类为PWA,应用程序需要加载服务工作线程和某种脱机功能。至少,你必须能够在连接断开时提供服务。 文件处理 需要特别注意一点是,服务工作线程文件位置非常重要。...安装和更新生命周期也截然不同。通常,只要浏览器发现文件已更改,就会安装服务工作线程。然而,生活并不总是这么简单。已经有很多“僵尸”服务工作线程无限期存活在那里,并无限期地缓存陈旧过时内容。...使用平台 为了进一步提高应用程序适用性,一定要充分利用平台功能。在一些浏览器上,你可以使用页面上按钮生成本机共享对话框,通过它来邀请用户参加电话会议。...“Add to homescreen(添加到主屏幕)”是一个有用按钮,它将触发代码安装路径,并会在应用程序某些部分不遵循PWA启发式时通知你。另外,这里也是测试和诊断服务工作线程地方。

1.2K10

如何使用浏览器工具调试PWA

什么是PWA 首先,一个PWA是一个根据设备支持情况,提供了额外特性应用,比如: 离线工作能力 推送通知 几乎原生应用展现和速度 资源本地和缓存 但是PWA并不能在不支持最新技术设备上像正常网站那样工作...有效值包括「fullscreen」(打开应用时全屏展示)、「standalone」(显示设备标准状态栏和系统返回按钮)、「minimal-ui」(只有返回、前进、重新加载按钮)和「browser」(包括地址栏正常浏览器...在桌面Chrome上,它会触发浏览器将应用添加到货架(shelf)。 在移动设备上,它提示安装应用程序(将图标添加到主屏幕): ?...您可以强制触发以下事件: Update 将强制更新Service Worker Push 模拟一个推送事件 Sync 模拟后台同步事件,这允许用户脱机执行操作,服务器上线后,再与服务器通信。...按住创建WNDT62缓存按钮触发缓存创建: ? 然后通过WNDT62中创建 RESOURCE_A,添加一项内容到缓存。 ?

3.6K40

为 vue 项目添加 PWA 支持

vue & PWA 如果您目的不是为现有的 vue 项目添加 PWA 支持,那么更推荐尝试 Lavas 注:PWA 应用要求必须全程 https,且在已安装 PWA 应用中无法发送 http 请求...安装 PWA 插件 如果你已经在使用@vue/cli,那么可以直接在可视化界面中安装 PWA 插件 否则,可以通过vue add @vue/pwa命令来安装 该插件会使用谷歌 PWA 框架 Workbox...与InjectManifest如何选择: 如果你只是想简单地将项目 PWA 化,选择GenerateSW,插件会自动帮你生成包含 precache manifest service-worker.js...PWA 应用,以下列举目前我所知道添加方式 Chrome 专有方式 对于 PC 或 Android Chrome 浏览器都可以实现点击一个按钮来添加 PWA 应用,其原理是拦截了beforeinstallprompt...这一事件,并在自己需要时候触发 例如我们可以在项目的根 vue 实例中(以下示例省略了挂载及渲染等操作) 复制1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18

3.5K00

渐进式Web应用程序深入概述

这是一个冗长描述,如果用一句话简要概括:我认为PWA只是一个具有良好用户体验Web应用程序,仅此而已。 为了更清晰地理解这个定义,让我们来一探其核心原则。...它在识别浏览器应用程序方面起着重要作用,包含了有关应用程序信息,即名称、作者和说明。应用程序搜索清单同样有助于识别安装在其设备上PWA。...创建渐进式Web应用程序最后一步是添加服务器。奇迹发生地方是它启用了离线功能。对于PWA来说,服务只是另一个JavaScript文件 - 一个非常强大JavaScript文件。...为了在网络较慢时让用户保持参与,您可以使用动画或提供具备视觉反馈客户端交互,就像带有小拼图或3D交互模型刷新按钮一样简单。要有创意! 使用应用程序shell模型一个缺点是其性能。...4.抓取 只要调用来自主应用程序网络请求,就会触发Fetch事件。 发生这种情况时,服务器将对该请求负责。 如果请求信息已被缓存,则服务器可以返回该信息并完全绕过网络。

99920

PWA 渐进式Web应用程序

简介 PWA是Progressive Web App简称,是谷歌提出新型Web技术,并由W3C及谷歌来推广这项技术,其主要目的是为了提升用户对网站原生使用体验,同时又能节省对网站开启速度。...应用 近期对网站进行了PWA升级,只是用一个简单插件就实现了对网站APP转化,在开启我网站同时,在搜索栏会有加号提醒添加至桌面,如下图: image.png PWA在Chrome表现 若是对我网站感兴趣...,可以点击按钮安装PWA,不用安装APP即可获取本站服务,若是手机用户可以在出现将此页面发送至桌面来进行订阅。...image.png 缓存策略 强黏贴用户 将站点添加至屏幕 为了吸引并留住用户,不仅仅自己网站需要比较高质量文章,良好交互,还需要一些营销手段增强网站曝光度,提升与用户交互。...用户自动登录 账户是网站必不可少组成部分。账户体系存在,可以让网站给用户提供分级服务,同时网站也能够通过收集用户行为实现精准推送。

1.1K10

渐进式 Web 应用程序介绍

3.HTTPS:由于 PWA 需要服务工作者,因此它必须从 HTTPS 端点托管。 4.Manifest:这是一个 json 文件,我们可以在其中包含与我们应用程序关联所有元数据。...我们还可以让 service worker 监听网络变化期间发生事件,并可以动态地服务、修改或拦截应用程序内网络请求。...简而言之,PWA 两个主要功能(例如一次性安装和缓存)是使用 Service Worker 脚本完成。它还可以用于在用户不使用网站时处理推送通知。...HTTPS 由于以下原因,PWA 必须使用 HTTPS 协议提供服务: 1.Service Worker 需要 HTTPS 连接。...2.保护用户隐私 3.保证内容真实性 Manifest file 这是一个 json 文件,其中包含有关 PWA 所有必要元数据。此文件还使 PWA 可跨设备安装

1.2K31

Service Worker 入门指南

,从而实现拦截和加工网络请求、消息推送、静默更新、事件同步等一系列功能,是 PWA 应用核心技术之一。...host // 为了防止作用域污染,将安装前注销所有已生效 Service Worker navigator.serviceWorker.getRegistrations...这个方法也可以用于检测进行任务是否成功。在服务工作线程中,这个方法告诉浏览器事件一直进行,直至 promise resolve,浏览器不应该在事件中异步操作完成之前终止服务工作线程。...,影响用户体验 方法三:给用户一个提示 大致流程是: 浏览器检测到存在新(不同)SW 时,安装并让它等待,同时触发 updatefound 事件 我们监听事件,弹出一个提示条,询问用户是不是要更新...「Update」:按钮可以对指定 Service Worker 线程执行一次性更新。 「Push」:按钮可以在没有负载情况下模拟推送通知。 「Sync」:按钮可以模拟后台同步事件。

1.8K30

JavaScript工作原理(八):Service Workers,生命周期和应用案例

您可能已经知道,渐进式Web应用(PWA)会越来越受欢迎,因为它们旨在使Web应用用户体验更加流畅,创建Native应用程序般体验,而不只是运行在浏览器应用。...register()方法一个重要细节是Service Worker文件位置。在这种情况下,您可以看到服务工作者文件位于域根目录。这意味着Service Worker范围将是整个来源。...如果我们在/example/sw.js注册Service Worker文件,那么服务工作者将只能看到URL以/example/(即/example/page1/,/example/page2/)开头页面的...更新服务工作者 当用户访问您Web应用程序时,浏览器会尝试重新下载包含Service Worker代码.js文件。这发生在后台。...一旦您Web应用程序当前打开页面关闭,旧Service Worker将被浏览器终止,新安装Service Worker将完全控制。这是当它激活事件将被触发。 为什么需要这些?

98210

将你博客升级为 PWA 渐进式Web离线应用

注册服务 在 install Service Worker 之前,要在主进程 JavaScript 代码里面注册它,注册是为了告诉浏览器我们 Service Worker 文件是哪个,然后在后台,Service...安装 Service Worker 服务 install 事件绑定在 Service Worker 文件中,当安装成功后,install 事件就会被触发。...API 和浏览器标准缓存工作原理相似,但是只是针对自己 scope 域,缓存会一直存在,知道手动清楚或者刷新。...更新您服务工作线程 JavaScript 文件。...当 Service Worker 安装完成后并进入激活状态,会触发 activate 事件。通过监听 activate 事件你可以做一些预处理,如对旧版本更新、对无用缓存清理等。

65710

PWA 入门

PWA 主要作用:可以让网站安装到设备主屏幕上,就像用户在 APP 商店下载应用后这个应用图标会放在桌面上。...它可以创建有效离线体验,拦截网络请求并基于网络是否可用以及更新资源是否驻留在服务器上来采取适当动作。...注册 一般在 window.onload 中注册 service worker,这主要是为了防止与其它资源竞争。...如果缓存里没有,才向服务器发请求。 当然,也可以使用其他策略,比如在有网时就主动请求服务数据,如果断网了,则使用缓存中数据。...安装 PWA 但目前为止,网站可以离线访问了,但是可能还不能安装它。在有 PWA 网站上,搜索栏右侧一般有一个 + 图标,提示你可以安装到桌面。 ?

1.5K20

hexo博客添加到桌面应用程序

PWA 优势 PWA 是可被发现、易安装、可链接、独立于网络、渐进式、可重用、响应性和安全。关于这些含义细节,请参阅 PWA优势。...简单概括为以下几点 可以支持离线观看 可被识别成一个应用程序 响应式 适合任何形式设备 安装PWA插件 安装PWA前提是全站支持HTTPS协议 需要自行去域名服务商申请SSL证书 HEXO版本为4.1.1...以下,如版本在4.1.1以上,请输入以下命令安装指定版本 实际操作 安装PWA 查询hexo版本 hexo --version 安装hexo指定版本 npm i hexo@4.1.1 --save 安装...$ 正则表达式路径,将这个值修改成你网站 host 准备 Logo 图片 为了确保你 PWA 图标支持所有设备,请务必使用 48x48、96x96、128x128、144x144、180x180...Hexo GitHub 从零开始搭建个人博客(四):让你博客完美支持 PWA,我只是简化了一些繁琐步骤,搞定以后,浏览器地址栏会出现一个+号,点击添加,即可在桌面看到你应用程序啦!

71230

PWA 探索与应用

Service Worker 支持事件 [h8fubjhexm.png] install:Service Worker 安装成功后被触发事件, 在事件处理函数中可以添加需要缓存文件 activate...:当 Service Worker 安装完成后并进入激活状态,会触发 activate 事件。...fetch :当浏览器在当前指定 scope 下发起请求时,会触发 fetch 事件,并得到传有 response 参数回调函数。fetch 事件特别重要,因为它能够定义你缓存策略。...通过 PUSH API,当订阅了推送服务后,可以使用推送方式唤醒 Service Worker 以响应来自系统消息传递服务消息,即使用户已经关闭了页面。...推送消息能力 快速响应用户指令 缺点 支持率不高 Chrome在安卓移动端上占有率很低 依赖GCM服务在国内无法使用 微信小程序竞争 PWA应用 Lavas 是一套基于 Vue PWA 解决方案

3.1K90

Web性能优化之Worker线程(下)

服务工作线程开始「安装新版本时触发」,表现为 ServiceWorkerRegistration.installing 收到一个新服务工作者线程 也可以使用 serviceWorkerRegistration.addEventListener...installing: 如果有则返回状态为 installing(安装服务工作者线程,否则为 null。...已安装状态也称为「等待中」(waiting)状态,意思是服务工作线程此时没有别的事件要做,只是准 备在得到许可时候去控制客户端。...如果没有「活动服务工作线程,则新安装服务工作者线程会跳 到这个状态,并直接进入激活中状态,因为没有必要再等了。...在下一个「导航事件」时,新服务工作线程会到达激活中状态。 「已安装服务工作者线程调用 self.skipWaiting()。

2.4K20

企鹅辅导课程详情页毫秒开秘密 - PWA 直出

这些数据特性决定了这个数据接口不能够被缓存。(假设将其缓存,那么就会存在可能用户进来看到当前还剩下10个名额,其实课程已经卖光了情况) 为了这个时间耗时大头,我们做了CGI接口动静分离。...答案就是使用 PWA 在客户端做离线缓存,将我们直出 HTML 缓存在客户端,每次用户请求时候,直接从 PWA 离线缓存里取出对应直出页面(HTML)响应给用户,响应之后紧接着请求 Node 服务更新本地...比如这个试听模块,其实这个封面图和试听按钮是可以在服务端渲染出来,而后面的 Video 模块则必须要在客户度渲染(腾讯云 Tcplayer)。...所以这里可以拆分成:(试听封面 + 按钮 + 时间)服务端渲染 + 底层 Video(客户端渲染)。...这里我们可以在 APP 启动时候,用一个预加载脚本最大限度拉取用户可能访问页面。

2.7K110

备受乔布斯推崇 PWA,为什么还没有杀死原生应用?

你可以编写令人惊叹 Web 2.0 和 Ajax 应用程序,它们外观和行为与 iPhone 上应用程序一模一样,而且这些应用程序可以与 iPhone 服务完美集成。你猜怎么着?...iOS 上安装提示 在 iOS 上安装 PWA 需要向用户显示自定义指令 目前在 iOS 上安装 PWA 需要打开共享面板,然后点击“添加到主屏幕”按钮,这样基本上就可以了,但仍然不像安装原生 iOS...例如,开发者无法区分实际 Safari(有“添加到主屏幕”按钮)和 SFSafariViewController View(没有这个按钮)。...如果你使用了后者,浏览器会认为是 example.com/(根域名)——问题是它不会出现错误消息或警告,只是静默地失败了。...桌面截图 旧安装提示(左和中)与新安装提示(右) 更丰富安装界面无疑有助于弥合原生应用和 PWA 之间差距。

1.4K10
领券