当前位置: 首页 > Web前端 > HTML

浅谈PWA技术诞生的前世今生

时间:2023-03-28 01:42:28 HTML

原生应用开发的倡导者认为,网络浏览器在访问硬件方面有很多限制。然而最近,Google、Microsoft和Mozilla引入了一些有趣的技术:用于检测外部显示器是否打开的ClipboardAPIPresentationAPI,用于在社交网络中共享页面的WebShareAPI用于与附近的物理设备集成的WebBluetoothAPI。例如,IoT解决方案可以使用它。用于处理加速度计、陀螺仪、光传感器、罗盘等传感器的通用传感器API。https://whatwebcando.today/是一个很好的资源,它列出了浏览器中最新实现的功能。可以想象,Web应用程序将越来越多地从原生应用程序中获取。多平台桌面软件有类似的技术:Electron。例如,Skype和Atom是用Electron构建的。Electron通过将Chromium和Node.js组合成一个运行时来实现这一点,并且可以为Mac、Windows和Linux打包应用程序。早在2015年底,谷歌就推出了一种新的开发方法,令Web应用程序开发人员兴奋不已,预示着将摆脱行业中普遍存在的功能受限现状和平台锁定设计。这种新方法被恰当地称为渐进式网络应用程序或PWA。这个概念伴随着提供将网络的最佳品质与本机应用程序相结合的体验的承诺。PWA不是框架或工具集,而是一个概念,开发人员需要在应用程序中实现的一组功能,以便将应用程序的用户体验提升到一个新的水平。我们可以通过某种方式将网站称为PWA。它在PWA列表中实现的功能越多,它就越接近这个概念。换句话说,开发人员手中有开发工具,如ServiceWorkers、PushNotifications等,他们的努力目标也很明确:开发快速、可靠、吸引用户的应用程序。开发者能将一个应用的PWA特性实现到什么程度,完全取决于他们所花费的时间和精力。应用程序符合PWA特性的程度,也称为PWA-ness。PWA的主要特点是:渐进增强:应用程序运行在尽可能多的环境中。如果它需要服务,它应该使用任何可用的服务,如果没有则优雅地降级。响应式用户界面:应用程序适应各种输入方式(触摸、语音等)和输出方式(不同的屏幕尺寸、振动、音频、盲文显示等)。连接独立性:该应用程序在离线状态下以及间歇性或低带宽网络连接下运行良好。App-likeUI:应用程序采用原生平台的UI元素,包括快速加载的用户界面(这可以通过ServiceWorker缓存重要资产来实现)。持续更新(有时称为新鲜度):ServiceWorkerAPI定义了一个将应用程序自动更新到新版本的过程。安全通信:该应用程序通过HTTPS提供服务和通信,以防止窥探和攻击。应用程序发现:元数据(例如W3C网络应用程序清单)使搜索引擎能够找到网络应用程序。推送交互:推送通知等功能可以主动让用户了解最新信息。本机可安装:在某些平台上,可以安装Web应用程序以感觉像本机应用程序(主屏幕上的图标,应用程序切换器中的单独条目,浏览器chrome可以选择)。所有这些过程都无需通过本机应用程序商店即可进行。可链接性:通过URL轻松共享应用程序,无需安装即可运行。