2023年了PWA开发模式在国内还有发展空间吗?

news2024/11/18 23:50:41

随着国内外技术及生态的迅猛发展,应用程序的开发模式也在不断演进。在过去,就我及身边同事的经验而言,会常常需要在不同的平台(如Android、iOS)编写不同的代码,导致开发成本和维护困难的问题。

然而,近年来出现了一种新的应用开发模式,被广泛称为PWA(Progressive Web App,渐进式Web应用)。与之类似的,小程序也作为另一种应用开发模式在移动应用市场中发展迅速。


出于对这两种开发模式的深入认知,准备细致对比下 PWA 和小程序的区别、技术原理以及各自的优点和不足。

PWA的基本概念和技术原理

PWA是一种基于Web技术的应用开发模式,它结合了Web应用和原生应用的优点。PWA使用Web标准技术栈(HTML、CSS和JavaScript)进行开发,利用现代浏览器的功能来提供一种类似原生应用的体验。PWA的核心理念是渐进增强,即应用程序的功能和体验可以根据设备和浏览器的支持程度逐步提升。


PWA的技术原理主要包括以下几个方面:

1、响应式布局(Responsive Layout):PWA应用的界面可以根据不同设备的屏幕大小和方向进行自适应布局,保证在各种终端上都能获得良好的用户体验。

2、服务工作线程(Service Workers):服务工作线程是PWA的核心技术之一,它是在后台运行的脚本,可以拦截和处理网络请求、缓存数据以及实现离线访问等功能。通过使用服务工作线程,PWA应用可以在网络不稳定或断网的情况下继续提供核心功能,增强了应用的可靠性和可用性。

3、应用清单(Web App Manifest):应用清单是一个JSON文件,用于描述PWA应用的名称、图标、启动方式等元信息。它允许用户将PWA应用添加到主屏幕,并以类似原生应用的方式访问。

4、推送通知(Push Notifications):PWA应用可以利用浏览器的推送通知功能,向用户发送实时通知消息,与用户进行互动。

如果对比来讲小程序是一种在App平台(微信、支付宝等App)上运行的应用程序,它以App客户端作为容器,并使用平台提供的开发框架和工具进行开发。小程序具有小巧灵活、无需安装、原生能力等优势特点。

PWA与小程序对比的优劣

PWA和小程序都是现代应用开发模式,它们各自具有一些优点和不足,这里主要讲一讲PWA这种渐进式Web应用的优点和不足。


PWA的优点

1、跨平台支持:PWA应用可以在任何支持Web浏览器的设备上运行,包括桌面和移动设备,无需为不同平台编写不同的代码。

2、无需下载安装:PWA应用可以通过浏览器访问,无需下载和安装,用户可以通过URL直接访问应用,并将其添加到主屏幕上,以便像原生应用一样使用。

3、更新便捷:PWA应用的更新过程与Web网页类似,开发者可以随时更新应用的内容和功能,用户无需手动更新应用,始终使用最新版本。

4、离线访问:借助服务工作线程和缓存技术,PWA应用可以实现离线访问,即使在没有网络连接的情况下,用户仍然可以访问应用的部分内容。

5、更好的可发现性:PWA应用可以通过搜索引擎进行检索和发现,用户可以通过搜索关键词找到相关的PWA应用,提升应用的可发现性。

PWA的不足

1、受限的原生能力:虽然PWA应用可以使用浏览器的一些原生功能,如推送通知和地理位置,但与原生应用相比,其访问原生设备能力的范围有限,例如摄像头、传感器等。

2、兼容性问题:不同浏览器对于PWA技术的支持程度存在差异,可能导致应用在某些浏览器上无法完全发挥其功能和优势。

小结

其实这样一对比我们可以直观的看到,PWA 适用于需要跨平台支持和更广泛可访问性的应用场景,尤其适合提供内容浏览、电子商务、新闻资讯等类型的应用。而小程序则更适合在微信、支付宝等生态中构建社交、生活服务和商业应用,利用平台的社交传播和原生能力。

但是现在小程序的这种限制逐渐得到突破,借助小程序容器技术能够做到小程序脱离微信、支付宝等平台运行在自己的App中,例如集成 FinClip SDK 或 mPaaS 即可让自己的App获得像微信一样的小程序运行能力,实现一端开发多端的运行。

当然相信经过持续的技术发展,还会有更多的技术创新生长在PWA、小程序之上,我们的开发及用户的使用还会得到持续的改进。

PWA和小程序都是推动现代应用开发模式发展的重要里程碑,推动了移动应用的创新。你会怎样进行选择?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/563069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WBS项目分解的7大基本原则

制定和分解WBS,需要遵循的基本原则: 1、唯一性 每一项工作任务在WBS中是唯一的。 WBS项目分解的7大基本原则 2、负责制 每一项任务都需要明确责任人,一人负责,其他人参与。 3、可测量性 每一项任务都应该是可以量化和测量的&#…

5月份招了个00后测试堪称卷王之王,让人崩溃...

前段时间公司新来了个同事,听说大学是学的广告专业,因为喜欢IT行业就找了个培训班,后来在一家小公司干了三年,现在跳槽来我们公司。来了之后把现有项目的性能优化了一遍,服务器缩减一半,性能反而提升4倍&am…

非流式语音合成和流式语音合成

语音合成技术:https://zhuanlan.zhihu.com/p/113282101 流式语音合成技术揭秘与实践 1、非流式语音合成,一次性输入文字,一次性输出语音,注重语音合成系统的 整体运算速度 ,不适合做语音交互;流式语音合成…

如何在 Linux Mint 21 上安装 VirtualBox 7?

VirtualBox 是一款开源的虚拟化软件,它可以让你在一台计算机上同时运行多个操作系统。本文将详细介绍如何在 Linux Mint 21 上安装 VirtualBox 7。以下是安装过程的详细步骤: 步骤一:下载 VirtualBox 7 首先,你需要下载 VirtualB…

姜春宇:数据治理五大发展趋势

4月27日在2023数据治理新实践峰会上,大数据技术标准推进委员会副主席姜春宇先生以《数据治理发展趋势》为主题为大家分享了数据的价值和最新发展趋势。 以下为姜春宇先生的演讲实录,为了方便阅读,小编做了一些字句修改和文本优化。 大家上午…

如何在 OpenSUSE 上安装 VirtualBox 7?

VirtualBox 是一款开源的虚拟化软件,允许用户在单个计算机上运行多个操作系统。本文将详细介绍如何在 OpenSUSE 上安装 VirtualBox 7。以下是安装过程的步骤: 步骤一:下载 VirtualBox 7 首先,我们需要下载 VirtualBox 7 的安装包…

从火灾演习中认识火灾以及火灾发生时如何确保消防设备的正常运行

安科瑞虞佳豪 火光、浓烟、热浪……5月10日,在宁波高新区光华路119号一座废弃厂房内,一场特殊的“火灾”正在发生! 据悉,宁波市消防部门组织开展了一场真人真火的火灾实验。目的是为了让人们直观感受火灾的危险,进一…

vcruntime140_1.dll丢失怎样修复,推荐4个vcruntime140_1.dll丢失的修复方法

vcruntime140_1.dll文件是Microsoft Visual C Redistributable for Visual Studio 2015运行库的一部分,它是一个用于支持Visual C构建的应用程序的系统文件。这个文件包含了在运行C程序时所需要的函数和类库,主要负责向应用程序提供运行时环境。如果电脑…

布隆过滤器和布谷鸟过滤器

过滤器使用场景: 比如有如下几个需求: 1.原本有10亿个号码,现在又来了10万个号码,要快速准确判断这10万个号码是否在10亿个号码库中?   解决办法一:将10亿个号码存入数据库中,进行数据库查询&…

听说小破站新上一批“高质量”的视频,于是怀揣着“学习”的目的,我用Python将他们全部采集了下来

事情是这样的,昨晚室友悄咪咪的拉着我去他的电脑,说带我欣赏一点高雅的作品,于是这一坐下,便是一晚上… 作为一个乐于分享的博主,本来我是决定直接分享的,但是转念一想,授人以鱼不如授人以渔&am…

如何看待 30 岁学云计算,转行做云计算运维这件事?

作为IT培训行业的从业人员,30岁学云计算转行不算什么的,还有38岁想学云计算的呢!最主要的是个人兴趣和意向,当然这个年龄阶段还会考虑的一点就是目前的收入与家庭支出的问题。不过这位38岁的“大龄”学员学习的主要目的不是说去找…

不是吧,交换机坏了你还只会这么排查?

又见面了,我的网工朋友 上次给你分享了交换机和路由器的对接上网配置案例,还记得吗? 今天这篇,和你聊聊交换机接口故障。 接口故障这件事,对咱们网工来说其实算是家常便饭了。 工作到现在,你复盘一下&a…

卷积、相关、匹配滤波、脉冲压缩以及模糊函数

文章目录 【 1. 卷积 】连续卷积离散卷积 【 2.相关 】自相关互相关 【 3.匹配滤波 】滤波器模型有色噪声 时滤波器的特性白噪声 时滤波器的特性 【 4.脉冲压缩】时域脉冲压缩频域脉冲压缩 【 5.模糊函数 】【 6.四者之间的关系 】相关和卷积之间的关系 【 7.参考文献 】 【 1.…

day10 - 使用canny算子进行人像勾勒

本期主要介绍canny算子,了解canny算子的流程以及各个流程的原理和实现。 ​ 完成本期内容,你可以: 了解canny算子的流程和应用 若要运行案例代码,你需要有: 操作系统:Ubuntu 16 以上 或者 Windows10 工…

Kubernetes(k8s)集群安装部署

一. 环境说明 名称IP系统配置主控节点192.168.136.11Rocky9.22核4G工作节点1192.168.136.12Rocky9.22核4G工作节点2192.168.136.13Rocky9.22核4G 二. 系统先决条件配置(所有节点) 2.1 关闭防火墙 防火墙可能会导致重复的防火墙规则和破坏kube-proxy,…

如何编写一个测试方案?---她是这样做的!

1、背景 工作上的项目规范要求:测试排期大于3D的项目要编写测试方案。调研了部分同学的情况,在此流程规范要求的基础上,对于需求的逻辑复杂或技术实现复杂等情况也会准备测试方案。 我个人主要负责OMS系统测试,它是整个履约流转中…

HTTPS的加密技术——中间人攻击

HTTPS的加密技术 文章目录 HTTPS的加密技术认识HTTPS对称加密和非对称加密①只使用对称加密方式②只使用非对称加密③两种加密算法联合使用🧛‍♂️中间人攻击📖引入证书总结https加密技术🐱‍👤 http和 https之间相差一个字母&a…

基于springboot+mybatis-plus+mysql+vue在线考试系统

基于springbootMybatis-plusmysqlvue在线考试系统 一、系统介绍1.系统主要功能:2.涉及技术框架:3.本项目所用环境: 二、功能展示三、其它系统四、获取源码 一、系统介绍 1.系统主要功能: 权限控制 本系统存在三个不同的角色&…

Linux 提权前信息搜集

linux前期提权也是要信息搜集 linux信息搜集可以使用软件进行,这里写四个脚本 (我们拿到webshell或者普通用户时,上传第三方软件的目录应该是Linux的tmp目录,tmp目录是临时目录,每次linux重启后该目录内容就会清除,而…

Dubbo源码篇05---SPI神秘的面纱---使用篇

Dubbo源码篇05---SPI神秘的面纱---使用篇 引言Jdk提供的SPI机制基本流程缺陷 Dubbo的SPI机制实例演示 Dubbo VS JDK SPI 小结Adaptive自适应扩展点demo演示如何做到动态适配的 按条件批量激活扩展点小结 引言 SPI全称是Service Provider Interface,其中服务提供者定…