实际上PWA 就是在网络浏览器中运行程序,鉴于谷歌 Play Store 和苹果 App Store 两分天下的局面,重点便落在了谷歌 Chrome 和苹果 Safari 上(分别基于开源的 Chromium 和 WebKit 构建)。
PWA 的构建方式与其他网站或网络应用并无二致。它们运用最新的移动技术,并采用用户体验的最佳实践,PWA 还能将浏览器与原生代码相结合以优化体验。
搜索“什么是 PWA”可能会得到一个概括性的回答,比如 “PWA 设计高速、稳定、吸引人,可离线工作,还能安装到设备主屏幕上”。这个答案虽有一定正确性,但仅仅触及了 PWA 所能实现的表层。
下面这些并非 PWA
下面列出的是跨平台应用框架,它们能让你从单一代码库开发应用,但并未将浏览器作为平台。
Flutter
React Native
使用 Flutter 可能会用到 Dart 语言,该语言可编译出 iOS、安卓和网页应用。而 React Native 同样能对 JavaScript 进行后端编译。
PWA 的定义是什么?
根据最初的定义,一个 PWA 必须满足以下三个要求:
服务工作线程:提供离线功能。
网络清单:JSON 标记用于配置主屏幕和应用图标。
安全性:强制使用 HTTPS,因为服务工作线程在后台运行。
满足这些要求,Chrome 的 “添加到主页” 提示就会自动启用,PWA Builder(由微软提供的免费服务)拥有出色的用户界面,可用于构建 PWA 并可视化基本要求。
PWA 的基本要求通过服务工作线程实现了离线行为,manifest.json 文件使得在安卓上添加 “添加至主页” 行为成为可能,这样你的网站会作为图标添加到主屏幕上,并以无浏览器的 Chrome(全屏模式)且带应用启动页的方式打开。这些是 PWA 的最低要求,除了离线缓存带来的性能提升,它基本给人一种网站就是应用的感觉。这其实是一种用户心理的转变,从仅把浏览器视为 “网站” 的工具,逐渐认识到它其实是一个应用平台。谷歌似乎倾向于推动这种观点,为发展更多功能、提升性能和用户体验 / 用户界面扫清道路,以真正提供 “像应用一样的体验”。
深入来讲,PWA 实际上是一系列浏览器技术以及网络开发技巧和工具的集合,让网站更像 “应用”。
如果要将这些内容划分,可以有以下几个类别。
提供增强的 “应用般” 体验
移动设备上的用户体验 / 用户界面体验优化
HTML/CSS/Javascript
更接近原生设备的访问以及强大的网络功能
更快速流畅的性能表现
使用 PWA 的各种好处:
Lighthouse 得分和 SEO 的提升
统一的代码库
顺畅的测试过程
对开发周期即时反馈
使用管理型的 PaaS Web 部署流程
Web 技术的学习和使用面向广大开发者
唯一一种能提供完善网络体验的跨平台开发解决方案
自由发挥设计,不受跨平台框架的 UI 组件限制
即使网络连接不佳,也能触达用户
当然,使用 PWA 也有一些问题需要考虑:
功能可能有限:与原生设备使用体验相比,PWA 尚有不足,但浏览器正在快速追赶。可以查阅 Thomas Steiner 对 Project Fugu 如何弥补应用空白的论述,或者搜索 “你的浏览器能做什么” 查看浏览器的功能。通常,你的 PWA 项目很可能是大部分不会因功能 / 能力受限而耗尽资源的应用。
标准化欠缺:Thomas Steiner 在文章中也提到了 “PWA 标准” 的问题,目前仍让人困惑。这也造成了 PWA 主题的混乱,让开发者在追求突破时感到困扰。缺乏明确的定义,使得 PWA 的推动力度减弱,且导致营销或管理层因无法定义 PWA 而不会主动提出需要 PWA。
iOS App Store 的问题:目前的 App Store 未列出 PWA,所以找到 PWA 比找到原生应用困难。但这并非绝境,你的网络应用仍能提供比原生应用更好的体验。做得好的话,甚至能获得苹果公司的赞赏,因为提供良好的移动体验是最重要的评价标准。曾经在 PWA 成为术语之前,就在原生 iOS 应用中运用 WKWebView 的 Ionic,在他们的论坛上分享了有趣的见解。只要你懂行,就不会有问题。在我以前在 Opensource.com 上的文章的 “网络应用如何进入应用市场” 部分,能找到更多内容。
某些情况下的安全问题:浏览器采用 cookie 作为认证,这种早在浏览器诞生时就使用的方法,可能不适合你的项目。其中,浏览器提供了出色的密码管理,并一直在研发和引入其他认证方法,例如 Webauthn。
相比其他方式,我认为 “网络正在崛起”,在未来的发展中,网络新功能的不断涌现,当前的缺点将逐渐被克服,原生开发会消失,只是 WebView 和原生代码之间的集成会更加无缝。
虽然 PWA 还处于早期开发阶段,但它有潜力彻底改变我们使用网络的方式。
PWA 是什么?有什么独特之处?
尽管渐进式网络应用(PWA)尚处起步时期,却已然在影响着我们使用网络的方式。 渐进式网络应用(Progress…
尽管渐进式网络应用(PWA)尚处起步时期,却已然在影响着我们使用网络的方式。
渐进式网络应用(Progressive Web App),即 PWA,借助现代网络技术,能带来可媲美甚至超越任何移动应用的用户体验。很多有技术追求的开源社区以及谷歌、微软等科技巨头,正大力推动着 PWA 的发展,试图打破应用程序之间的壁垒。
实际上PWA 就是在网络浏览器中运行程序,鉴于谷歌 Play Store 和苹果 App Store 两分天下的局面,重点便落在了谷歌 Chrome 和苹果 Safari 上(分别基于开源的 Chromium 和 WebKit 构建)。
PWA 的构建方式与其他网站或网络应用并无二致。它们运用最新的移动技术,并采用用户体验的最佳实践,PWA 还能将浏览器与原生代码相结合以优化体验。
搜索“什么是 PWA”可能会得到一个概括性的回答,比如 “PWA 设计高速、稳定、吸引人,可离线工作,还能安装到设备主屏幕上”。这个答案虽有一定正确性,但仅仅触及了 PWA 所能实现的表层。
下面这些并非 PWA
下面列出的是跨平台应用框架,它们能让你从单一代码库开发应用,但并未将浏览器作为平台。
Flutter
React Native
使用 Flutter 可能会用到 Dart 语言,该语言可编译出 iOS、安卓和网页应用。而 React Native 同样能对 JavaScript 进行后端编译。
PWA 的定义是什么?
根据最初的定义,一个 PWA 必须满足以下三个要求:
服务工作线程:提供离线功能。
网络清单:JSON 标记用于配置主屏幕和应用图标。
安全性:强制使用 HTTPS,因为服务工作线程在后台运行。
满足这些要求,Chrome 的 “添加到主页” 提示就会自动启用,PWA Builder(由微软提供的免费服务)拥有出色的用户界面,可用于构建 PWA 并可视化基本要求。
PWA 的基本要求通过服务工作线程实现了离线行为,manifest.json 文件使得在安卓上添加 “添加至主页” 行为成为可能,这样你的网站会作为图标添加到主屏幕上,并以无浏览器的 Chrome(全屏模式)且带应用启动页的方式打开。这些是 PWA 的最低要求,除了离线缓存带来的性能提升,它基本给人一种网站就是应用的感觉。这其实是一种用户心理的转变,从仅把浏览器视为 “网站” 的工具,逐渐认识到它其实是一个应用平台。谷歌似乎倾向于推动这种观点,为发展更多功能、提升性能和用户体验 / 用户界面扫清道路,以真正提供 “像应用一样的体验”。
深入来讲,PWA 实际上是一系列浏览器技术以及网络开发技巧和工具的集合,让网站更像 “应用”。
如果要将这些内容划分,可以有以下几个类别。
提供增强的 “应用般” 体验
移动设备上的用户体验 / 用户界面体验优化
HTML/CSS/Javascript
更接近原生设备的访问以及强大的网络功能
更快速流畅的性能表现
使用 PWA 的各种好处:
Lighthouse 得分和 SEO 的提升
统一的代码库
顺畅的测试过程
对开发周期即时反馈
使用管理型的 PaaS Web 部署流程
Web 技术的学习和使用面向广大开发者
唯一一种能提供完善网络体验的跨平台开发解决方案
自由发挥设计,不受跨平台框架的 UI 组件限制
即使网络连接不佳,也能触达用户
当然,使用 PWA 也有一些问题需要考虑:
功能可能有限:与原生设备使用体验相比,PWA 尚有不足,但浏览器正在快速追赶。可以查阅 Thomas Steiner 对 Project Fugu 如何弥补应用空白的论述,或者搜索 “你的浏览器能做什么” 查看浏览器的功能。通常,你的 PWA 项目很可能是大部分不会因功能 / 能力受限而耗尽资源的应用。
标准化欠缺:Thomas Steiner 在文章中也提到了 “PWA 标准” 的问题,目前仍让人困惑。这也造成了 PWA 主题的混乱,让开发者在追求突破时感到困扰。缺乏明确的定义,使得 PWA 的推动力度减弱,且导致营销或管理层因无法定义 PWA 而不会主动提出需要 PWA。
iOS App Store 的问题:目前的 App Store 未列出 PWA,所以找到 PWA 比找到原生应用困难。但这并非绝境,你的网络应用仍能提供比原生应用更好的体验。做得好的话,甚至能获得苹果公司的赞赏,因为提供良好的移动体验是最重要的评价标准。曾经在 PWA 成为术语之前,就在原生 iOS 应用中运用 WKWebView 的 Ionic,在他们的论坛上分享了有趣的见解。只要你懂行,就不会有问题。在我以前在 Opensource.com 上的文章的 “网络应用如何进入应用市场” 部分,能找到更多内容。
某些情况下的安全问题:浏览器采用 cookie 作为认证,这种早在浏览器诞生时就使用的方法,可能不适合你的项目。其中,浏览器提供了出色的密码管理,并一直在研发和引入其他认证方法,例如 Webauthn。
相比其他方式,我认为 “网络正在崛起”,在未来的发展中,网络新功能的不断涌现,当前的缺点将逐渐被克服,原生开发会消失,只是 WebView 和原生代码之间的集成会更加无缝。
虽然 PWA 还处于早期开发阶段,但它有潜力彻底改变我们使用网络的方式。
实际上PWA 就是在网络浏览器中运行程序,鉴于谷歌 Play Store 和苹果 App Store 两分天下的局面,重点便落在了谷歌 Chrome 和苹果 Safari 上(分别基于开源的 Chromium 和 WebKit 构建)。
PWA 的构建方式与其他网站或网络应用并无二致。它们运用最新的移动技术,并采用用户体验的最佳实践,PWA 还能将浏览器与原生代码相结合以优化体验。
搜索“什么是 PWA”可能会得到一个概括性的回答,比如 “PWA 设计高速、稳定、吸引人,可离线工作,还能安装到设备主屏幕上”。这个答案虽有一定正确性,但仅仅触及了 PWA 所能实现的表层。
下面这些并非 PWA
下面列出的是跨平台应用框架,它们能让你从单一代码库开发应用,但并未将浏览器作为平台。
Flutter
React Native
使用 Flutter 可能会用到 Dart 语言,该语言可编译出 iOS、安卓和网页应用。而 React Native 同样能对 JavaScript 进行后端编译。
PWA 的定义是什么?
根据最初的定义,一个 PWA 必须满足以下三个要求:
服务工作线程:提供离线功能。
网络清单:JSON 标记用于配置主屏幕和应用图标。
安全性:强制使用 HTTPS,因为服务工作线程在后台运行。
满足这些要求,Chrome 的 “添加到主页” 提示就会自动启用,PWA Builder(由微软提供的免费服务)拥有出色的用户界面,可用于构建 PWA 并可视化基本要求。
PWA 的基本要求通过服务工作线程实现了离线行为,manifest.json 文件使得在安卓上添加 “添加至主页” 行为成为可能,这样你的网站会作为图标添加到主屏幕上,并以无浏览器的 Chrome(全屏模式)且带应用启动页的方式打开。这些是 PWA 的最低要求,除了离线缓存带来的性能提升,它基本给人一种网站就是应用的感觉。这其实是一种用户心理的转变,从仅把浏览器视为 “网站” 的工具,逐渐认识到它其实是一个应用平台。谷歌似乎倾向于推动这种观点,为发展更多功能、提升性能和用户体验 / 用户界面扫清道路,以真正提供 “像应用一样的体验”。
深入来讲,PWA 实际上是一系列浏览器技术以及网络开发技巧和工具的集合,让网站更像 “应用”。
如果要将这些内容划分,可以有以下几个类别。
提供增强的 “应用般” 体验
移动设备上的用户体验 / 用户界面体验优化
HTML/CSS/Javascript
更接近原生设备的访问以及强大的网络功能
更快速流畅的性能表现
使用 PWA 的各种好处:
Lighthouse 得分和 SEO 的提升
统一的代码库
顺畅的测试过程
对开发周期即时反馈
使用管理型的 PaaS Web 部署流程
Web 技术的学习和使用面向广大开发者
唯一一种能提供完善网络体验的跨平台开发解决方案
自由发挥设计,不受跨平台框架的 UI 组件限制
即使网络连接不佳,也能触达用户
当然,使用 PWA 也有一些问题需要考虑:
功能可能有限:与原生设备使用体验相比,PWA 尚有不足,但浏览器正在快速追赶。可以查阅 Thomas Steiner 对 Project Fugu 如何弥补应用空白的论述,或者搜索 “你的浏览器能做什么” 查看浏览器的功能。通常,你的 PWA 项目很可能是大部分不会因功能 / 能力受限而耗尽资源的应用。
标准化欠缺:Thomas Steiner 在文章中也提到了 “PWA 标准” 的问题,目前仍让人困惑。这也造成了 PWA 主题的混乱,让开发者在追求突破时感到困扰。缺乏明确的定义,使得 PWA 的推动力度减弱,且导致营销或管理层因无法定义 PWA 而不会主动提出需要 PWA。
iOS App Store 的问题:目前的 App Store 未列出 PWA,所以找到 PWA 比找到原生应用困难。但这并非绝境,你的网络应用仍能提供比原生应用更好的体验。做得好的话,甚至能获得苹果公司的赞赏,因为提供良好的移动体验是最重要的评价标准。曾经在 PWA 成为术语之前,就在原生 iOS 应用中运用 WKWebView 的 Ionic,在他们的论坛上分享了有趣的见解。只要你懂行,就不会有问题。在我以前在 Opensource.com 上的文章的 “网络应用如何进入应用市场” 部分,能找到更多内容。
某些情况下的安全问题:浏览器采用 cookie 作为认证,这种早在浏览器诞生时就使用的方法,可能不适合你的项目。其中,浏览器提供了出色的密码管理,并一直在研发和引入其他认证方法,例如 Webauthn。
相比其他方式,我认为 “网络正在崛起”,在未来的发展中,网络新功能的不断涌现,当前的缺点将逐渐被克服,原生开发会消失,只是 WebView 和原生代码之间的集成会更加无缝。
虽然 PWA 还处于早期开发阶段,但它有潜力彻底改变我们使用网络的方式。





发表评论