PWA 的优势 PWA 是可被发现、易安装、可链接、独立于网络、渐进式、可重用、响应性和安全的。关于这些含义的细节,请参阅 PWA的优势。...以下,如版本在4.1.1以上,请输入以下命令安装指定版本 实际操作 安装PWA 查询hexo版本 hexo --version 安装hexo指定版本 npm i hexo@4.1.1 --save 安装...PWA插件 npm i hexo-pwa --save 修改博客根目录下配置文件(非主题配置文件) manifest 生成地址: Web App清单生成器,如无法打开直接复制我的即可 # hexo添加PWA...standalone类似,浏览器相关UI会最小化为一个按钮,不同浏览器在实现上略有不同 browser 浏览器模式,与普通网页在浏览器中打开的显示一致 scope: {string} 作用域 scope...应遵循如下规则: 如果没有在 manifest 中设置 scope,则默认的作用域为 manifest.json 所在文件夹; scope 可以设置为 ../ 或者更高层级的路径来扩大PWA的作用域;
PWA是在传统Web应用的基础上,结合Manifest和service worker,完善Web应用的一些能力,比如: 添加至主屏幕,点击主屏幕图标可以实现启动动画以及隐藏地址栏 实现离线缓存功能,即使用户手机没有网络...[image.png] PWA 站点部署的 manifest.json文件满足以下条件时会自动显示横幅: - short\\_name (主屏幕显示) - name (安装横幅显示) - icons...Service Worker 支持的事件 [h8fubjhexm.png] install:Service Worker 安装成功后被触发的事件, 在事件处理函数中可以添加需要缓存的文件 activate...安装成功后,更新的工作线程将 wait,直到现有工作线程控制0个客户端。 self.skipWaiting() 可跳过等待情况,这意味着sw线程在安装完后立即激活。...推送消息的能力 快速响应用户指令 缺点 支持率不高 Chrome在安卓移动端上的占有率很低 依赖的GCM服务在国内无法使用 微信小程序的竞争 PWA应用 Lavas 是一套基于 Vue 的 PWA 解决方案
安装PWA插件 执行下面的命令 npm install hexo-pwa --save hexo@4.2.0 目前赞不兼容 hexo-pwa,使用 hexo@4.2.0 版本的用户推荐降级到 hexo@..."type": "image/png" } ], "splash_pages": null } 参数解释 name: {string} 应用名称,用于安装横幅...standalone类似,浏览器相关UI会最小化为一个按钮,不同浏览器在实现上略有不同 browser 浏览器模式,与普通网页在浏览器中打开的显示一致 scope: {string} 作用域 scope...应遵循如下规则: 如果没有在 manifest 中设置 scope,则默认的作用域为 manifest.json 所在文件夹; scope 可以设置为 ../ 或者更高层级的路径来扩大PWA的作用域;...Logo图片素材放到配置文件所指向的对应的文件夹位置,我放在了F:\blog\themes\matery\source\medias(这是我的路径),修改配置文件,与其一一对应,切不可写错。
2 规范版PWA的清单 下面关于规范版PWA的清单项目都需要手动来验证,LightHouse工具并没有提供对应的自动化验证选项。...页面可以跨平台自适应显示,如手机、平板电脑或不同尺寸屏幕的PC显示器 确认方法:在小,中,大屏幕上查看PWA,确保其合理运行。 改善方法:查看我们有关实施响应式UI的指南。...响应式Web设计》 任何应用安装提示都不会过度使用 确认方法:检查PWA加载时不使用应用程序安装插页式广告 改善方法: ●应该只有一个顶部或底部的应用安装横幅●将PWA添加到用户的主屏幕后...,应删除任何顶部/底部横幅。...下图为淘宝网的下载安装引导样式,它在最顶端显示 表现 即使在3G下,初次加载也很快 确认方法:将浏览器调试工具设置成手机Nexus5(或类似的)模式,并把浏览器的网络调至成3G网络。
初级PWA Checklist Lighthouse工具可以自动化验证表中的很多项,同时在简易测试页面上也很有帮助。...修复 如果构建一个单页应用,确保客户端路由可以通过给定的URL重建应用的状态。 高级PWA Checklist 这里的的很多检查项需要人工执行,因为它们还没有在Lighthouse中实现。...用户体验 页面加载时内容不闪 测试 在PWA里面加载不同的页面,确保页面加载时内容或界面不会“跳动” 修复 确保所有内容,特别是图片和广告,在CSS或者元素属性里有固定尺寸。...在处理手机、平板和台式机屏幕尺寸时,站点是响应式的 测试 在大中小屏幕上查看PWA,确保其都能正常运行。 修复 在实现响应式界面中回顾下我们的方案。...应用安装提示不要被过度使用 测试 检查加载完成时PWA没有使用应用安装广告 修复 应该只有一个顶部或者底部应用安装横幅 在PWA被添加到用户的主屏后,任何顶部/底部横幅都应该被移除 拦截添加到主屏提示
对于 PWA 来说,应用商店在推广方面不再发挥很大的作用,而 PWA 的安装逻辑嵌入到了浏览器当中。 2022 年,应用商店的模式是多余的。...在我的个人愿望清单中,我希望 PWA 在安装后拥有比普通网站更高的权限(但不像原生应用那样多)。人们安装你的 PWA 说明他们信任它——他们不是偶然才发现你的网站的。 以下是一些赋予较高权限的例子。...iOS 上的安装提示 在 iOS 上安装 PWA 需要向用户显示自定义指令 目前在 iOS 上安装 PWA 需要打开共享面板,然后点击“添加到主屏幕”按钮,这样基本上就可以了,但仍然不像安装原生 iOS...因此,最好的办法是将它们分别托管在自己的目录中(例如 example.com/pwa1/ 和 example.com/pwa2/)。 管理作用域是非常反直觉的,我喜欢将这个问题称为尾部斜杠问题。...原生特性 应该让 PWA 访问联系人、查看日历、发送 SMS/MMS、设置警报吗?我个人认为永远不应该。 PWA 之所以安全,是因为它们的作用域受到了限制。
前言: 上周做了一个预约健身卡的项目,在领导的指引下使用了 LAVAS 框架,这个框架的主要特点就是可以直接生成一套成熟的支持 PWA 的网站。...在开发过程中,发现 PWA 方案的主要核心技术在于 Service Worker,我下面将从 PWA 方案的简介、PWA 方案的相关技术等2个方向简单介绍一下我对于本次开发的收获。...在介绍完这些技术后,我将在最后的篇幅里介绍一个简单 PWA 方案的详细实现。 什么是 PWA?...在介绍 Service Worker 之前,需要一些必要的知识储备,下面首先介绍的是使用 Service Worker 技术时还涉及的相关其他技术 API,主要有全局作用域 self、Cache Storage...简单的 PWA 方案 通过以上介绍,我们就可以来实现一个简单的支持 PWA 的网站啦!下面我将把实现的代码一一罗列出来。
vue & PWA 如果您的目的不是为现有的 vue 项目添加 PWA 支持,那么更推荐尝试 Lavas 注:PWA 应用要求必须全程 https,且在已安装的 PWA 应用中无法发送 http 请求...安装 PWA 插件 如果你已经在使用@vue/cli,那么可以直接在可视化界面中安装 PWA 插件 否则,可以通过vue add @vue/pwa命令来安装 该插件会使用谷歌的 PWA 框架 Workbox...配置manifest.json 位于public/manifest.json,安装插件时自动生成,参考 Web App Manifest 进行配置 引导用户添加 PWA 应用 在应用中可以自行通过提示等方式引导用户手动添加...PWA 应用,以下列举目前我所知道的添加方式 Chrome 专有方式 对于 PC 或 Android 的 Chrome 浏览器都可以实现点击一个按钮来添加 PWA 应用,其原理是拦截了beforeinstallprompt...注:以下方法中提到的registerServiceWorker.js是由 PWA 插件在src目录中自动生成的,其作用是注册 SW 以及提供其生命周期钩子,具体可以看该 npm 包 register-service-worker
PWA初次体验 前言:本示例不用安装任何东西 部分资源来自网络资源及PWA官网,不要把PWA想象的太复杂,跟着示例走一下,你行的。...()方法被调用 ( ps: self 是 SW 中作用于全局的对象,这个方法根据英文翻译过来也能明白什么意思啦,跳过等待状态 )、用户已关闭 SW 作用域下的所有页面,从而释放了当前处于激活状态的 worker...Manifest 在 PWA 中的作用有: 能够将你浏览的网页添加到你的手机屏幕上 在 Android 上能够全屏启动,不显示地址栏 ( 由于 Iphone...借助 SW 注册完成安装 SW 时,抓取资源写入缓存中。使用了一个方法那就是 self.skipWaiting( ) ,为了在页面更新的过程当中,新的 SW 脚本能够立刻激活和生效。...在新安装的 SW 中通过调用 self.clients.claim( ) 取得页面的控制权,这样之后打开页面都会使用版本更新的缓存。
那么为什么有越来越多的网站支持了这个特性呢?1、我想主要是因为,PWA可以通过Service Workers,在没有网络的情况下运行,提高用户体验。...了解 PWA 的底层原理PWA 应用的基础原理其实PWA的实现原理主要依赖于几个现代Web技术:Web App Manifest: 这是一个JSON文件,等会我们下面例子里面会给出,他的作用就是告诉浏览器关于你的...PWA 应用的一个大致的交互流程,可以使用下图来配合理解:使用Next.js实现一个PWA应用为什么又是Next.js,你可能会问你能不能来点别的,我想说的是,Next.js作为一个前后端通杀的框架,的确非常适合作为本文的教学...,你需要安装一些额外的依赖,npm install next-pwa在你的Next.js项目中,使用上next-pwa插件,我们只修要将下面的代码贴入到里面即可。...PWA 和跨平台有哪些相同点?有哪些差一点,各适用于什么场景,交给你来思考。我正在参与2023腾讯技术创作特训营第四期有奖征文,快来和我瓜分大奖!
装配了PWA以后,用户可以将网站作为WEB APP安装到自己的设备上,以原生应用般的方式浏览博客,同时借助PWA的缓存机制,能够更快速的浏览。本文讨论的是使用两种方案实现PWA。...图标设计 在使用PWA之前,我们最好先行设计一个符合网站主题的图标。 本站使用的是brandmark图标设计网站,访问 brandmark进行图标设计。下载需要收费,不过可以截图。...gulp & workbox 在博客根目录[Blogroot]下打开终端,输入以下指令安装hexo-offline-popup插件。...这会导致PWA无法加载索引文件,也就是说无法从PWA加载index.html,最终影响离线观看博客的体验。 安装必要插件 既然要使用gulp配合workbox实现PWA,自然少不了安装这两个插件。...事实上这个只是作用于图片压缩,一般也就节省个5kB,而且这个报错不影响网站部署,可以无视。压缩图片还是得靠imagine。
用户在浏览器中第一次访问时就能体会到它们的好处,因为不需要进行任何安装。在用户随着时间的推移增进与应用的关系后,其功能会变得越来越强大。...持续更新 在服务工作线程更新进程的作用下时刻保持最新状态。 安全 通过 HTTPS 提供,以防止窥探和确保内容不被篡改。...可发现 W3C 清单和服务工作线程注册作用域能够让搜索引擎找到它们,从而将其识别为“应用”。 可再互动 通过推送通知之类的功能简化了再互动。...可安装 用户可免去使用应用商店的麻烦,直接将对其最有用的应用“保留”在主屏幕上。 可链接 可通过网址轻松分享,无需复杂的安装。...PWA vs Web App Web App:使用标准的Web技术,但是在处理离线,推送上欠缺,不能生成桌面图标等。
用户在浏览器中第一次访问时就能体会到它们的好处,因为不需要进行任何安装。在用户随着时间的推移增进与应用的关系后,其功能会变得越来越强大。...持续更新 - 在服务工作线程更新进程的作用下时刻保持最新状态。 安全 - 通过 HTTPS 提供,以防止窥探和确保内容不被篡改。...可发现 - W3C 清单和服务工作线程注册作用域能够让搜索引擎找到它们,从而将其识别为“应用”。 可再互动 - 通过推送通知之类的功能简化了再互动。...可安装 - 用户可免去使用应用商店的麻烦,直接将对其最有用的应用“保留”在主屏幕上。 可链接 - 可通过网址轻松分享,无需复杂的安装。...PWA vs Web App Web App:使用标准的Web技术,但是在处理离线,推送上欠缺,不能生成桌面图标等。
,因为添加上不起作用。。...生成共享库的效果 由于我们在pro中指定了生成路径,所以生成的文件都在dll文件中。这里面要注意的是,生成的有两个文件,一个是.a文件,在链接过程中使用,另一个是.dll文件,在运行过程中使用。 ?...②运行直接崩溃 生成库的时候不还有一个文件么,这时候它就该起作用了。将它与.exe(可执行文件)放到同一目录下或者配置系统的环境变量都可以。 ?...不过掌握了动态库的使用方法后,这些都是可以规避的。 ②之前看到别人链接库的后缀是.lib,难道是他错了?或者是我错了?可是我的能正常运行啊,但是我又看到的不止一个人链接的是.lib?...用mingw的会生成.a和.dll后缀的,他们用的是msvc,所以生成的是.lib和.dll。下面的图片是Qt的安装包,可以看到不同安装包所用的编译工具的不同。
随后添加上 App Manifest 和 Service Worker 来实现 PWA 的安装和离线等功能 解决了哪些问题?...最主要的特点 在页面中注册并安装成功后,运行于浏览器后台,不受页面刷新的影响,可以监听和截拦作用域范围内所有页面的 HTTP 请求。 网站必须使用 HTTPS。...总结 PWA 的优势 可以将 app 的快捷方式放置到桌面上,全屏运行,与原生 app 无异 能够在各种网络环境下使用,包括网络差和断网条件下,不会显示 undefind 推送消息的能力 其本质是一个网页...,没有原生 app 的各种启动条件,快速响应用户指令 PWA 存在的问题 支持率不高: 现在 ios 手机端不支持 pwa,IE 也暂时不支持 Chrome 在中国桌面版占有率还是不错的,安卓移动端上的占有率却很低...各大厂商还未明确支持 pwa 依赖的 GCM 服务在国内无法使用 微信小程序的竞争 尽管有上述的一些缺点,PWA 技术仍然有很多可以使用的点。
这是一个冗长的描述,如果用一句话简要的概括:我认为PWA只是一个具有良好用户体验的Web应用程序,仅此而已。 为了更清晰地理解这个定义,让我们来一探其核心原则。...它在识别浏览器的应用程序方面起着重要作用,包含了有关应用程序的信息,即名称、作者和说明。应用程序搜索清单同样有助于识别安装在其设备上的PWA。...Installable (可安装) 渐进式Web应用程序可以直接安装到移动设备的主屏幕上。这主要是移动浏览器功能,使用Chrome,您也可以在桌面上执行此操作。...在首次加载应用程序时,应缓存应用程序shell文件,以便应用程序可以在没有网络连接的情况下工作。 一个好的PWA将避免显示此屏幕出现: 当页面未加载时,用户将完全脱离应用程序。...服务请求 服务请求的实现因应用程序而异,但在应用程序中开始使用它们时应该了解一些事项。之前,我提到服务请求在浏览器中的不同线程上运行。这意味着它具有管理生命周期的能力,就像您的应用程序一样。
这里的插件我启用了 TypeScript、JSX、Vue Router、Pinna、ESLint、Prettier。 vue 接下来就很熟悉了,进入目录安装依赖。...cd pwaone npm i 安装 PWA 支持 本来要用 vue add PWA 但是我们使用的是 Vite 工具,直接使用其 PWA 插件就可以了。...清除缓存 安装与卸载 在电脑端的 Edge 和 Chrome 其安装提示都是在地址栏右边显示一个小按钮,在首次打开网站时会多显示几秒几个诸如 “安装” 的提示文字。...下图是在 Edge 点击安装按钮后的效果。 安装提示 安卓系统因使用浏览器的差异,表现也不尽相同,下图使用的是 MIUI 自带的系统浏览器(暗黑模式)。...手机安装提示 电脑在安装后可以直接操作系统的软件管理列表中看到它,可查看详情如下: 软件详情 通过注册表的搜索(大致在 HKEY_CURRENT_USER\SOFTWARE\Classes\Local
PWA安装 只要智能手机具有网页浏览器,就可以将网页添加到手机的主屏幕,这是用户在第一台iPhone上向手机添加新应用程序的唯一方法。...我假设你已经安装了一个网络应用程序并准备好了。 Manifest(清单) 网络应用程序清单是你通常放在标记内的更为结构化的版本。...例如,如果用户在安装PWA时访问https://cnn.com/article/all-is-well-with-the-world.html,它仍会加载https://cnn.com。...即便如此,PWA工具箱正于今年缓慢进入桌面领域。它已经可以在功能标志后的Chrome上进行测试。我已经在我的Macbook上运行了几个星期,现在我很享受它带来的功能优化体验。...显示appear.in如何在安装时看起来像在台式计算机上运行。该图标来自链接的清单。在MacOS上,应用程序显示在Dock中,并可以使用Spotlight打开-就像其他任何应用程序一样。
汪志成 ThoughtWorks 作为一个程序员,这两天的朋友圈被微信小应用刷屏了吧?想试了吧?没拿到邀请吧?没关系,我来帮你! 当然,我没法帮你拿到邀请码 —— 因为我也没有。...不过,别失望,我今天要跟大家谈一项比微信小程序更宏观的概念 —— Google提出的PWA。 1 PWA是什么? PWA全称是“Progressive Web Apps”,译成中文就是渐进式应用。...Alex写道: 在昨天的晚餐上,我和Frances列举出了新型应用的几个特征: 响应式:适应任何形态因素 不依赖网络:在Service Worker(H5中的新技术,appcache的升级版)的支持下能够离线使用...可链接的:这意味着它们是零阻力、零安装,并且易于共享的。URL更能发挥社交传播的能量。 2 PWA怎么用? 一个PWA的使用过程大概是这样的: 这货开始就是一个普通网页: 然后,这是什么鬼?...点了就能像一个本地应用那样启动它: 看,启动完也跟一个本地应用没有区别: 3 PWA的好处 Web应用(网页)和本地应用(App)各有优势,比如: Web应用不需要安装,因此减少了用户流失(想想你要安装一个应用时有多么犹豫吧
分号不背这个锅 3月8号是中国妇女节,3月7号俗称女神节,而每年的女神节的横幅在校内都被玩出一朵花了。...我爱我的女孩直到永远。...还有哪些语言需要分号 上线提到的是 C 语言需要用分号来断句,哪还有那些语言需要分号呢? 我把我常见的语言列在这里了,大家可留言补充或纠正,以后写代码千万得注意了。...不需要分号的: Python 分号可选: JavaScript Scala 其他有创意的横幅 0 error 也不抵你的微笑 [0 error 也不抵你的微笑] 这一定是编译报错见得太多了。。...对象和作用域 [对象和作用域] 这个班的学生就很秀了,用面向对象玩出了一朵花,**我们班的女神,被我们班男生保护着!
领取专属 10元无门槛券
手把手带您无忧上云