我已经成为一名开发者已经有好几年了,但是我无法理解PWA究竟是什么。
例如,如果某个应用在手机上运行,那么它就是原生应用。我可以指出它并告诉人们"看起来它是一个原生的应用程序。"
在类似的意义上,什么是PWA?它在哪里运行?我可以指出哪个应用程序并告诉它是PWA?
根据我在网上看到的内容,我觉得PWA是一个拥有现代技术的网站,并提供了一个像#34;给用户的体验。
我的理解是否正确?
总而言之,这是一个拥有本土体验的网站? 如果是这样,用户如何将普通网站与PWA分开?
答案 0 :(得分:3)
PWA是一个具有某些渐进功能的网站,最显着的是能够离线加载或在连接点不稳定,快速加载,显示推送通知以及具有其他本机应用程序质量的区域。 PWA的好处在于它们可以在任何浏览器上运行(因为它们是普通网站,如果浏览器不支持PWA,那么用户可以获得正常的网站体验),甚至是桌面浏览器。在移动设备上,通常会提示用户将Web应用程序安装到主屏幕,这几乎是即时发生的,并且几乎不使用任何数据,因为网站已经加载。这允许比本机应用程序更多的“下载”,从而导致更高的参与度。关于PWA的另一个简要概述,Google has some great articles about them.
从技术上讲,PWA是一个有两件事的网站:Web应用程序清单文件和服务工作者。
清单是一个JSON文件(通常称为manifest.json),其中包含有关渐进式Web应用程序的一些信息。它包含的信息类似于本机应用程序中包含的信息。它具有名称,主屏幕上显示的短名称,图标,方向等。可以在任何站点(甚至非PWA)上使用Web应用程序清单,为浏览器提供更多信息,并允许站点创建快捷方式在用户的主屏幕上,但它是PWA所必需的。 You can read more about it over on the Google Developer's site.
服务工作者是一个JavaScript文件,可以由浏览器安装以执行某些任务。此文件将在站点的后台运行,可以执行诸如缓存资源,拦截网络请求(执行诸如从缓存返回数据之类的操作),接收推送通知,后台同步等操作。当用户首次访问您的站点时这个JS文件已安装并开始运行。这是允许离线功能等文件的文件。 You can read more about service workers on the Google Developer's site as well.
答案 1 :(得分:2)
粗略地说PWA是一款具有原生感的网络应用程序,可以安装到用户手中。主屏幕,可以启动&当Internet连接可用时,可以与服务器同步进行脱机工作。
To be considered a Progressive Web App, your app must be:
渐进式 - 为每个用户工作,无论浏览器选择如何, 因为它们是以渐进增强为核心原则构建的。
自适应 - 适合任何外形,台式机,手机,平板电脑等 是下一个。
连接性独立 - 增强了服务工作者的工作能力 离线或低质量网络。
类似应用 - 使用app-shell模型提供应用式导航和 相互作用。
新鲜 - 由于服务工作者更新流程,因此始终保持最新状态。
安全 - 通过HTTPS提供服务以防止窥探并确保内容没有 被篡改过。
可发现 - 由于W3C,可识别为“应用程序” 清单和服务工作者注册范围允许搜索 引擎找到它们。
可重新参与 - 通过推送等功能轻松重新参与 通知。
可安装 - 允许用户“保留”他们认为最有用的应用 他们的主屏幕没有应用程序商店的麻烦。
可链接 - 通过网址轻松分享,无需复杂的安装。
答案 2 :(得分:2)
渐进式Web应用(PWA)的概念已于2015年末由Google提出。它们基本上是Web应用(网站),但外观和感觉与其他本机移动应用类似。支持渐进式Web应用程序的网站可以提供诸如脱机工作,推送通知和设备硬件访问之类的功能。
渐进式Web应用程序的优点:
1。越来越小: 渐进式Web应用程序的大小比本机应用程序小得多。他们甚至不需要安装。那是因为它们并没有浪费磁盘空间,而且加载速度非常快。
2。响应界面: 渐进式Web应用程序(PWA)支持的网页能够自动适应各种屏幕尺寸。它可以是智能手机,平板电脑,台式机或笔记本电脑。
3。无需更新: 大多数移动应用程序需要定期每周更新。像普通网站一样,只要用户进行交互且不需要App或Play商店批准,渐进式Web应用(PWA)始终会加载最新版本。
4。具有成本效益: 本机移动应用程序需要分别为Android和iOS设备开发,其开发成本非常高。另一方面,渐进式Web应用程序具有相同的功能,只是价格的一部分。
5。 SEO优势: 搜索引擎可发现渐进式Web应用程序,并且加载速度超快。就像其他网站一样,它们的链接也是可共享的。换句话说,这提供了良好的用户体验,并提高了SEO排名。
6。离线功能: 由于服务工作者API的支持,PWA可在脱机或低Internet连接中访问。
7。安全性: PWA通过HTTPS连接交付,并通过每次交互来保护用户数据安全。
8。推送通知: 通过推送通知的支持,PWA可以轻松地与用户进行交互,并提供令人惊叹的用户体验。
9。绕过应用商店: PWA不需要App Store或Google Play商店的支持。它们的更新版本可以直接从Web服务器加载,而无需应用商店批准。另一方面,如果需要任何新更新,则本机应用程序需要几天的批准时间。有被拒绝或禁止的可能性。
10。零安装: 在浏览过程中,渐进式Web应用程序在手机和平板电脑上会获得自己的图标,就像移动应用程序一样,而无需经历繁琐而缓慢的App Store安装过程。
渐进式Web应用程序的缺点:
1。较少使用系统功能: 当前,与本机应用程序相比,Progressive Web Apps对本机系统功能的访问受到限制。此外,所有浏览器都不支持其全部功能,但也许在不久的将来,它将成为开发的新标准。
2。更多的Android –更少的Apple iOS: 当前,渐进式Web应用程序最受Android设备支持。苹果的iOS仅部分支持。
3。没有审核标准: 渐进式网络应用程序不需要任何适用于应用商店中本机应用程序的审核系统。这可能会使流程更快,但缺乏应用商店的促销优势。
渐进式网络应用清单: 渐进式Web应用程序的清单非常广泛。我在这里描述了它的主要几个项目。 1. HTTPS 2. Web应用清单– manifest.json 3.服务人员 4.响应式设计 5.应用程序图标 6.即使在3G上也可以快速加载
结论: 渐进式Web应用程序提供了巨大的可能性。尽管预计在不久的将来会有很多功能和浏览器的适应性。但是,市场上已经存在的任何东西都足以显示强大的移动业务。
答案 3 :(得分:0)
我认为PWA是一个相当广泛的术语。我说的很广泛,因为有很多方法可以开发和分发PWA。在Layman的术语中,Progressive Web App是一个“网站”,可以像本机应用程序一样有效地使用/显示。我相信这样的一个例子就像是电话空白? phonegap构建了一个应用程序'around / scaffolding',并在顶部显示了一些带有一些自定义CSS的网页。 (编者注:Phonegap与渐进式网络应用程序无关.Phonegap创建实际的本机应用程序。在本机应用程序中包装网站与渐进式网络应用程序非常不同。)
最近虽然我一直在研究很多基于反应的网站,我相信这是最接近PWA的,你现在可以得到(特别是对于那些只支持最小功能的IOS来鼓励你构建本机应用程序他们的应用程序商店。)
但是,它基本上是应用程序的应用程序,不是应用程序;从网页渲染:thumbsup: