精华内容
下载资源
问答
  • 一文读懂什么是 PWA

    万次阅读 2020-08-29 12:57:05
    PWA 全称为 Progressive Web App,中文译为渐进式 Web APP,其目的是通过各种 Web 技术实现与原生 App 相近的用户体验。

    1. 概念

    PWA 是 Google 于 2016 年提出的概念,于 2017 年正式落地,于 2018 年迎来重大突破,全球顶级的浏览器厂商,Google、Microsoft、Apple 已经全数宣布支持 PWA 技术。

    PWA 全称为 Progressive Web App,中文译为渐进式 Web APP,其目的是通过各种 Web 技术实现与原生 App 相近的用户体验。

    纵观现有 Web 应用与原生应用的对比差距,如离线缓存、沉浸式体验等等,可以通过已经实现的 Web 技术去弥补这些差距,最终达到与原生应用相近的用户体验效果。

    2. 特性

    • 安全可靠
      使用 Service Work 技术实现即时下载,当用户打开应用后,页面资源的加载不再完全依赖于网络,而是使用 Service Work 缓存离线包存在本地,确保为用户提供即时可靠的体验。

    • 访问更快
      首屏可以部署在服务端,节省网页请求时间,加载速度更快,拥有更平滑的动态效果和快速的页面响应。

    • 响应式界面
      支持各种类型的终端和屏幕。

    • 沉浸式体验
      在支持 PWA 的浏览器和手机应用上可以直接将 Web 应用添加到用户的主屏幕上,无需从应用商店下载安装。从主屏幕上打开应用之后,提供沉浸式的全屏幕体验。

    3. 功能

    • 手机应用配置(Web App Manifest)
      可以通过 manifest.json 文件配置,使得可以直接添加到手机的桌面上。

    • 离线加载与缓存(Service Worker+Cache API )
      可以通过 Service Worker + HTTPS +Cache Api + indexedDB 等一系列 Web 技术实现离线加载和缓存。

    • 消息推动与通知(Push&Notification )
      实现实时的消息推送与通知

    • 数据及时更新(Background Sync )
      后台同步,数据及时更新

    4. 优势与劣势

    优势:

    1. 超简单的安装和下载。
      以谷歌发布的 squoosh.app 为例。

    PC 桌面版:
    方式1:在浏览器输入并打开 squoosh.app 之后。可以点击右上角【Install】进行安装。

    在这里插入图片描述
    方式2:可以点击右上角三个点的图标,然后选择【安装Squoosh】进行安装。

    在这里插入图片描述
    安装之后就可以在桌面看到快捷方式的图标,直接打开就可以拥有与原生应用媲美的沉浸式体验。

    在这里插入图片描述
    在这里插入图片描述
    手机移动版:

    1. 首先在浏览器中输入并打开网址“squoosh.app”。
    2. 然后点击向上的图标,在弹出的选项中选择“添加到主屏幕”。

    在这里插入图片描述

    1. 在弹出的【添加到主屏幕】编辑对话框中可以修改应用名称。

    在这里插入图片描述

    1. 点击完成或者【添加】就可以将应用添加到主屏幕,下次直接打开就可以使用了。

    在这里插入图片描述

    1. 发布迭代不需要第三方平台审核。
      我们都知道发布一个苹果应用是需要提交 App Store 商店进行审核,通过了方可发布成功的。安卓应用也是一样。并且更新迭代版本的时候也需要审核,还需要提交一些功能说明,图片等资料。但是网页版的应用就完全不需要这个审核过程,直接部署服务器就可以使用。
    2. 渐进式
      现有的 Web 项目可以通过 PWA 的几个核心技术点一步步转型成一个完整的 PWA 应用。

    劣势:

    1. 因为推出的时间不长,所以现有浏览器的支持还不够全面, 不是每一款浏览器都能100%的支持所有的 PWA 特性。
    2. 对于底层硬件的调用还是需要依赖第三方库才能实现(如打开摄像头,实现语言功能等等)。
    3. PWA 现在还没那么火,国内一些手机生产商在 Android 系统上做了手脚,似乎屏蔽了 PWA, 但是等 PWA 真正流行起来之后,相信这个问题就不会存在了。

    5. 发展

    • 谷歌
      基于 Chromium 开发的浏览器 Chrome 和 Opera 已经完全支持 PWA 。
      这里说一下 Chromium 和 Chrome 的区别。
      Chromium 是谷歌的开源项目,由开源社区去维护。拥有众多的版本包括Windows、Mac、Linux。国内所有的 “双核浏览器”,都是基于 Chromium 开发的,而我们下载的 Chromium 浏览器是其源码未经修改的直接编译版本。
      Chrome 是基于 Chromium 开发的,是闭源的,跨平台多端支持,特性更加丰富。

      Google上线了两个新网站,web.dev 和 squoosh.app 都支持 PWA( web.dev 是宣传和推广 PWA 的,解释了 PWA 的几个关键技术。squoosh.app 是一个图片压缩工具) 。

    • 微软
      微软将 PWA 带到了 Windows 10。同时 Windows Edge(windows 10 之后微软推出的浏览器,比 IE更流畅、外观 UI 更舒适) 也支持 PWA。

    • IOS
      随着 iOS 11.3 的发布,iOS 正式开始支持 PWA,可以将它放在苹果手机主屏。

    • Android
      Twitter 和 Flipboard 都推出了 PWA,可以将它放在安卓手机主屏。

    • 国内
      国内支持 PWA 的应用有微博、淘宝、豆瓣和饿了么。

    随着越来越多的浏览器大厂对 PWA 做出了支持和优化,PWA 的时代已经不远了。

    展开全文
  • 什么是 PWA

    2019-10-12 10:24:31
    什么是 PWA 先说一下全名,progressive web app: 渐进式网页应用。这是谷歌推出的,我是这样理解的: 我们一般写 web 应用,在 pc 上是没有缓存的,打开页面的时去请求数据。 第二个也没有像 app 一样的小...

    什么是 PWA

    先说一下全名,progressive web app: 渐进式网页应用。这是谷歌推出的,我是这样理解的:

    • 我们一般写 web 应用,在 pc 上是没有缓存的,打开页面的时去请求数据。

    • 第二个也没有像 app 一样的小图标放在桌面,一点开就进入了应用,而是通过打开浏览器输入网址,

    • 第三个就是,不能像 app 一样给用户推送消息,像微博会跟你推送说有谁评论了你的微博之类的功能。

    而谷歌推出的 pwa,就是具有这些了这些特点, 使我们的 web 应用,能够像一款 app 一样使用。并且对比与 app, 它不用复杂的安装,也不用下载更新包,刷新页面就可以了(注意到缓存的处理)。

    那么这些功能分别是怎么实现的呢?

    关于缓存

    其实这个就是 我们平时做的 Session 啊、localStorage、CacheStorage 之类的。

    这里用的就是 cacheStorage 缓存,它提供了一个ServiceWorker类型的工作者或window范围可以访问的所有命名缓存的主目录, 并维护字符串的映射名称到相应的 Cache 对象。 主要方法包括:

    这里写图片描述

     

    有了这些方法你可以对你的缓存进行操作。目前还在草案状态,仅火狐和谷歌浏览器支持此特性。

     

    PWA是通过 ServiceWorker 访问 cache ,所以需要注册 ServiceWorker 工作者。在之前别忘记判断浏览器是否支持。

    if ('serviceWorker' in navigator) {
    	navigator.serviceWorker.register(sw.js) // 注册sw.js 文件中变成的服务对象,返回注册成功的对象
    	.then(function(swReg){
              swRegistration = swReg;
         }).catch(function(error) {
              console.error('Service Worker Error', error);
         });
    }
    复制代码

    这个 Service Worker 服务工作者就厉害了,它相当于浏览器和网络之间的代理服务器,可以拦截网络请求,做一些你可能需要的处理(请求资源从缓存中获取等)。

    • 它能够创建有效的离线体验,拦截网络请求,并根据网络是否可用判断是否使用缓存数据或者更新缓存数据。

    • 它们还允许访问推送的通知和后台的API。

    关于 sw.js 中具体的缓存的代码:

    创建需要缓存的文件

    'use strict'
    let cacheName = 'pwa-demo-assets'; // 缓存名字
    let imgCacheName = 'pwa-img';
    let filesToCache;
    filesToCache = [ // 所需缓存的文件
        '/',
        '/index.html',
        '/scripts/app.js',
        '/assets/imgs/48.png',
        '/assets/imgs/96.png',
        '/assets/imgs/192.png',
        '/dist/js/app.js',
        '/manifest.json'
    ];
    
    self.addEventListener('install', function(e) {
        e.waitUntil(
    	    // 安装服务者时,对需要缓存的文件进行缓存
            caches.open(cacheName).then(function(cache) {
                return cache.addAll(filesToCache);
            })
        );
    });
    
    
    self.addEventListener('fetch', (e) => {
        // 判断地址是不是需要实时去请求,是就继续发送请求
        if (e.request.url.indexOf('/api/400/200') > -1) {
            e.respondWith(
                caches.open(imgCacheName).then(function(cache){
                     return fetch(e.request).then(function (response){
                        cache.put(e.request.url, response.clone()); // 每请求一次缓存更新一次新加载的图片
                        return response;
                    });
                })
            );
        } else {
            e.respondWith(
    	        // 匹配到缓存资源,就从缓存中返回数据
                caches.match(e.request).then(function (response) {
                    return response || fetch(e.request);
                })
            );
        }
    
    });
    复制代码

    这里进而就引入到 pwa 的推送通知功能。这都是通过 ServiceWorker 去实现的。

    基本原理是,你的客户端要和推送服务进行绑定,会生成一个绑定后的推送服务 API 接口,服务端调用此接口,发送消息。同时,浏览器也要支持推送功能,在注册 sw 时, 加上推送功能的判断。

    if ('serviceWorker' in navigator && 'PushManager' in window) {
    	navigator.serviceWorker.register(sw.js)
    	.then(function(swReg) {
            swRegistration = swReg;
        }).catch(function(error) {
            console.error('Service Worker Error', error);
            });
     } else {
         console.warn('Push messaging is not supported');
     }
    复制代码

    PushManager 注册好之后, 那么要做的就是浏览器和服务器的绑定了。

     

    这里写图片描述

     

    此图是用户订阅某个应用程序的推送服务。 客户端传入应用程序服务器公钥,向将生成端点的 webpush 服务器( 这是谷歌自己实现的一个推送功能的服务器)发出网络请求,将生成的端点(一个推送服务)与应用程序公钥关联,并将端点返回给应用程序。浏览器会将此端点添加到 PushSubscription,通过 promise异步成功时,可以将它的信息保存到你的数据库。

     

     

    这里写图片描述

     

    服务器发送推送的时候,请求相关接口,验证成功后推送服务会发消息给客户端。

     

    最后关于桌面小图标

    这个可以说是非常简单了,就是一个 manifest.json 配置文件,然后在页面引入此文件就好了

    <!-- 加载清单 -->
    <link rel="manifest" href="./manifest.json">
    复制代码

    关于清单内容这里简单介绍一下:

    {
        "short_name": "pwa",
        "name": "pwa - demo", // 应用名称
        "icons": [ // 应用显示图标,根据容器大小适配
            {
                "src": "assets/imgs/48.png",
                "type": "image/png",
                "sizes": "48x48"
            },
            {
                "src": "assets/imgs/96.png",
                "type": "image/png",
                "sizes": "96x96"
            },
            {
                "src": "assets/imgs/192.png",
                "type": "image/png",
                "sizes": "192x192"
            }
        ],
        "background_color": "#2196F3", // 刚打开页面时的背景
        "theme_color": "#2196F3", // 主题颜色
        "display": "standalone", //独立显示
        "start_url": "index.html?launcher=true" // 启动的页面
    }
    复制代码

    好了, 如果感兴趣赶快上手吧。 可以查看谷歌官方教程

    这里说一下坑的点, PWA应用需要在本地localhost:8080 上运行或者 https 协议下, 要保证你的页面是安全页面。

    添加桌面时,确保你的谷歌浏览器可以显示弹出通知。

    展开全文
  • 什么是PWA技术?

    千次阅读 2020-12-18 17:38:20
    1.PWA背景 为了说明白PWA,我们先看下面的两个概念: Native APP: 需要用户下载安装,哪怕使用一次 需要升级,发布需要审核 ...2.什么是PWA PWA是一个渐进式web应用,随后加上App manifest和service worker实.

    1.PWA背景

    为了说明白PWA,我们先看下面的两个概念:

    Native APP:

    1. 需要用户下载安装,哪怕使用一次
    2. 需要升级,发布需要审核
    3. 开发成本相对较高

    Web网页:

    1. 无需下载软件,直接浏览器浏览
    2. 手机进入不方便,需要记录地址或者收藏网址
    3. 没有网络就没有相应,不具备离线能力
    4. 无法推送通知,无法调用底层接口

    如何在二者之间寻找一个平衡呢?这就是PWA技术诞生的原因。

     

    2.什么是PWA

    PWA是一个渐进式web应用,随后加上App manifest和service worker实现PWA的安装和离线功能。目的是为了无限接近Native APP。

    解决的问题:

    1. 可以添加到主屏幕,利用manifest实现
    2. 可以实现离线缓存,利用service worker实现
    3. 可以发送通知,利用service worker实现

    浏览器查看当前Service worker,输入命令chrome://serviceworker-internals/

     

    3. 什么是Service worker

    Service worker其实就是在浏览器和服务器之间的一层,拦截所有的请求进行处理,所以必须是https才可以。

     

    离线缓存流程:

     

    消息推送流程:

    4. 与小程序的区别

    小程序解决的问题:

    产品层面:

    1. 用户用完就走,没有任何负担
    2. 降低开发门槛
    3. 提高低频应用的用户触达率
    4. 性能接近Native应用

    PWA主要解决三大问题:离线、推送通知、桌面访问。

    技术层面:

    1. 小程序基于Web技术+Native,而PWA基于web技术,只是浏览器增加了service worker层
    2. 小程序是混合运行方式,PWA是标准web运行方式
    3. 小程序是多进程方式运行,PWA是浏览器定制
    4. 小程序是WebView切换,PWA是H5标准方式
    5. 小程序依赖微信,PWA依赖浏览器内核

    一篇不错的文章:

    https://blog.csdn.net/baidu_browser/article/details/64440238

     

     

     

    展开全文
  • 什么是PWA?

    2020-09-13 18:40:50
    三大App特性 功能性(capable) 可靠性(reliable) 可安装性(installable) PWA同时具备这三大特性,这也让PWA的应用体验更接近原生。 功能性 Web App当今时代已经具备了丰富的功能,你可以基于 WebRTC 开发一个...

    web是一个很神奇的平台,拥有跨设备和跨操作系统的兼容性,拥有以用户为中心的权限模型。它规范是由w3c和whatwg两个组织共同定制,它的实现则是交给各个浏览器厂商。再加上其固有的可连接性,用户可以随时随地搜索到,或者分享一个网页给任何人。不管何时访问网页,都是最新的。WebApp只需要一套代码,就可以触达任何人,任何地方,任何设备。

    原生App因为可靠而且丰富的功能而著称。它们会一直待在你的设备上,在屏幕、面板、或者任务栏里。通常,它们不依赖网络连接即可使用。它们以自己独立的体验启动。它们可以读写文件,通过本地文件系统,可以通过USB接口连接硬件,也可以和存储在本地设备的数据交互,像是联系人和日历。在原生App中,你可以拍照,在主屏幕看到正在播放的歌曲列表,或者通过其他App控制播放。原生App就像系统的一部分一样。

    如果你要对比原生App和WebApp在功能上和可触达上的区别,原生App在功能上最佳,WebApp在可触达上最佳。那么PWA又如何?

    PWA全称Progressive Web Apps(渐进式WebApp),是通过现代API来构建和增强的,这些API提供了与原生App相似的能力、可靠性、可安装性,而且具备一套代码即可触达任何人、任何地方、任何设备。

    三大App特性

    • 功能性(capable)
    • 可靠性(reliable)
    • 可安装性(installable)

    PWA同时具备这三大特性,这也让PWA的应用体验更接近原生。

    功能性

    Web App当今时代已经具备了丰富的功能,你可以基于 WebRTC 开发一个视频聊天工具,可以使用 Geolocation API 开发一个地图软件,也可以使用 Notification API 来给你的APP推送消息,让用户可以在APP之外接收到通知。你也可以使用 WebGLWebVR 来虚拟化这些场景。通过 Web Assembly,你可以步入其他生态,比如:C和C++等,给Web生态带来更多能力。

    直到最近,只有原生App声称具备这些功能。当然,有一些能力还是web当前无法使用的,但新的API会被定义,用来扩展Web能力,比如让Web拥有文件系统的访问权限、媒体控制权限、图标上的badge修改权限、剪切板的全部功能。所有的这些能力都与Web安全、用户为中心的权限模型共同构建,确保访问网站不会给用户造成威胁。

    随着现代API的定义,Web的功能性会越来越丰富。

    可靠性

    一个可靠的PWA应用感受起来很快,而且不依赖网络。

    速度对于用户使用体验来说至关重要。实际上,页面加载的时间从1-10秒,用户流失会增长123%。性能也并非在 onload 事件之后就结束了。用户无需时刻担心他们的交互(例如点击了按钮)有没有响应。滚动和动画需要保持流畅。

    最后,可靠的App需要对网络无依赖。用户会期望在弱网或者无网络的情况下打开App。他们期望看到上次他们加载的内容,就像是音频或者视频播放到某个特定时间点,即使网络连接困难,还是要保持可靠和可用。如果请求失败了,比起默默地失败或者崩溃,给用户合理的提示才是最佳。

    用户更喜欢App可以在眨眼睛响应他们的操作,这也是可靠性的一种。

    可安装性

    安装好的PWA应用可以在一个独立的窗口启动,而不用在浏览器中。它们也可以从主页、docks或者任务栏启动。你也可以搜索到它们,然后从搜索结果中打开。你也可以切换到其他App,然后再切换回来。这感觉就跟原生App几乎一致,成为设备的一部分。

    安装好的PWA应用将开启更多新功能,可以支持快捷键,也可以支持打开特定格式文件。

    当PWA应用从独立窗口打开,它会改变用户的感知,以及使用的方式,用户会当成原生应用来使用,而毫无差异感。

    两全其美

    PWA的核心还是WebApp,通过渐进式增强,新的功能被现代浏览器实现。通过使用 service workerapp manifest,可以让你的WebApp具备可靠性和可安装性。如果浏览器不支持这些功能,你的网站的核心功能也不受影响。

    总结

    当然使用PWA还有很多其他的惊喜,App的体积上更小了,如果说一个30M的原生App换成PWA,可能只有3M不到。另外,PWA的应用的可触达性是继承了WebApp的,可以通过搜索引擎让触达更多用户,或者通过分享的方式。最后,PWA的应用可随时更新,无需用户下载安装。

    唯一要注意的是,为了让它更像原生App,请在性能优化上做到极致。关于性能优化方面,可以参考之前写的一些文章。

    参考

    https://web.dev/what-are-pwas/

    展开全文
  • 很高兴受到《PWA入门与实践》作者王乐平老师的邀请,为这本书写推荐语。下面我们就听听作者王老师带你快速玩转 PWA 吧!文末有给各位粉丝的福利!抽奖送出三本《PWA入门与实践》。导读:如...
  • PWA ( Progressive Web Apps )是网络上谈论最多的技术变革之一,在IT界从业者中获得了前所未有的势头。如果你是为web构建的,我相信PWA是添加到你的工作词汇中的最新“流行语”。这并不奇怪,因为PWA已经实现了在...
  • PWA应用

    万次阅读 2018-09-30 11:45:32
    一、什么是PWA应用 一个新的前端技术,PWA( 全称:Progressive Web App )也就是说这是个渐进式的网页应用程序。 官网:https://developers.google.com/web/progressive-web-apps/ 是 Google 在 2015 年提出,2016...
  • PWA什么

    千次阅读 2019-07-11 16:09:48
    今天看到一个英文缩写PWA, 出于好奇查了查,看了介绍才想起曾经大神给我安利过这个神器, 当时他还极其小声的说到:“这个可不能被IOS和Android听到了,毕竟咱们抢的是他们饭碗啊!”说完,一脸得意。 不过干了...
  • npm i vite-plugin-pwa -D # yarn add vite-plugin-pwa -D 将其添加到vite.config.js // vite.config.js import { VitePWA } from 'vite-plugin-pwa' export default { plugins : [ VitePWA
  • 什么是 PWA? Progressive Web App, 简称 PWA,是提升 Web App 的体验的一种新方法,能给用户原生应用的体验。PWA 能做到原生应用的体验不是靠特指某一项技术,而是经过应用一些新技术进行改进,在安全、性能和体验...
  • 一个最小的React PWA应用程序作为Github模板。 概要 它是基本(最小)库/组件/实用程序及其在CRA上的集成的结合,开发人员在制作React应用程序的过程中通常需要这些集成。 动机 我们喜欢CRA。 我们认为这是为大多数...
  • PWA模块 Nuxt.js的零配置PWA解决方案 :open_book: 发展历程 克隆此存储库 使用yarn install或npm install安装依赖项 使用npm run dev启动开发服务器 执照 版权所有(c)-Nuxt社区
  • 主要介绍了PWA介绍及快速上手搭建一个PWA应用的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 什么是PWAPWA是基于浏览器的Web应用程序(HTML5 / CSS / JavaScript)。 通过使用最新的浏览器功能,它们实现了本机应用程序典型功能和特性,包括上面列出的所有功能。 它们在没有地址栏的单独浏览器窗口中运行...
  • Jekyll PWA插件 PWA对Jekyll的支持 该插件为Jekyll提供PWA支持。... 这就是为什么我尝试将此功能集成到Jekyll构建过程中的原因。 重要事项此插件自v5.1.4起支持Workbox V5。 与以前的版本相比,Workbox V
  • PWA下载视频并离线观看 使用本地数据库#PouchDB 演示 这是一个示例PWA应用程序,用于下载视频并使用pouchDB存储到indexedDB 当用户单击视频时,在请求完成后,将视频blob数据存储在本地数据库中并带有pouchDB,将...
  • 包含什么? 用于快速开发服务器和生产版本。 用于组件样式的 。 用于性和组件逻辑的 。 用于应用程序状态管理的。 , , , 用于添加糖。 Pinecone路由器进行路由。 您可以立即获得以下内容: 配置了...
  • 什么是服务人员? 服务工作者是一个事件驱动的javascript文件,该文件在后台的浏览器中与您的网页分开运行。 充当缓存代理 处理网络请求, 使用缓存和存储内容以供脱机使用 即使关闭浏览器也可以处理推送消息。 ...
  • PWA计算器 这是用于Web和移动设备的PWA计算器。 它具有计算器的基本功能,您可以将其作为webapp安装在移动设备上。 桌面检视 流动检视
  • 角度pwa样本 这是使用Angular CLI的PWA示例。 该示例包含以下功能。 角服务人员 带有Angular Universal的App Shell 讲解 安装Angular CLI $ npm i -g @angular/cli 创建一个应用 $ ng new my-app --routing --...
  • 渐进式Web应用程序(PWA)插件。 hexo-pwa让Hexo网站具有这两种功能。 -用户可以将您的网站添加到移动主屏幕 -使您的网站可以离线使用 安装 $ npm install --save hexo-pwa 选件 您可以在_config.yml配置此插件。...
  • PWA桌面应用开发

    千次阅读 2021-10-12 11:05:53
    什么是PWA Progressive Web App, 渐进式web应用程序,简称 PWA,是提升 Web App 的体验的一种新方法,能给用户原生应用的体验。 PWA 能做到原生应用的体验不是靠特指某一项技术,而是经过应用一些新技术进行改进,在...
  • 网格体插件pwa 适用于gridsome的PWA插件 安装 # For npm $ npm install gridsome-plugin-pwa # For yarn $ yarn add gridsome-plugin-pwa 用法 使用gridsome-plugin-pwa以下可配置选项将gridsome.config.js ...
  • 什么是PWA PWA(Progressive Web App)利用TLS,webapp manifests和service workers使应用程序能够安装并离线使用。 换句话说,PWA就像手机上的原生应用程序,但它是使用诸如HTML5,JavaScript和CSS3之类的网络技术...
  • 烧瓶-PWA 扩展,可在Flask Web应用程序中提供PWA体验。 此扩展程序提供了一些文件,可为您的应用程序提供一些PWA体验,例如应用程序安装,缓存的文件和脱机页面。 要求: 烧瓶 金佳 安装: 要在项目中使用Flask-...
  • 什么很棒 零配置,用于安装PWA功能。 尽管作为快速安装Service Worker支持的轻量级工具非常有用,但它目前并未提供用于安装特定“功能”的大量功能。 产品特点 从pwa.config.js读取配置 在HTML文件上注入...
  • 正确使用PWA

    2021-06-13 13:25:00
    什么是 PWA?要知道一个东西是什么,我们通常可以从它的名字入手因此我们看下 PWA 的全称是: Progressive Web App回答 what 这种问题,重点在于名词,因此 PWA 是一个 APP,一个独立的、增强的、Web 实现的 APP要...
  • vue-pwa-test:使用vuejs测试pwa

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,175
精华内容 6,470
关键字:

什么是pwa