首页 > 编程语言 >PWA与小程序的比较与优势

PWA与小程序的比较与优势

时间:2023-06-20 10:58:39浏览次数:46  
标签:浏览器 体验 程序 用户 开发者 PWA 优势

先说说为什么要推出PWA技术

首先,网页应用在一定程度上受到了浏览器的局限,所能获得的权限,效能都是的很多复杂的功能很难实现,这是更简单的方法就是开发原生应用了。而 PWA 就是一个试图把两者相融合的尝试。如果需求不大,新公司已经没有必要花血本雇佣不同平台的开发人员做原生了,只要一个 PWA 就够了。另外当网页应用发展更好之后,整个移动平台的用户都提升了,对于正在转型移动平台的 Google 来说当然价值非常。

我个人觉得这是一个很好的尝试,也会推进行业的发展,但是究竟能走多远抱有谨慎乐观的态度(如今微信也加进来应该更乐观了)。

其次,当你主导的技术在市场上被广泛采用的时候,你在整个行业的话语权都会提高,也有更多的获利机会。

比如我在广告业务的的技术支持部门工作,有的同事就会去有的广告业务客户那里推销 PWA,同时公司内部也有各种 PWA 的培训和讲座。如果公司没有或者用户没有安装原生应用的话,PWA 拥有比传统网页更好的体验,在计算竞价排名上也有优势(Landing page experience),PWA 就会给客户公司带来更多的用户,而更多的用户也就带来了更多的收入,自然的Google也就获得了更多的广告收入。。

PWA 这个概念在行业内发展的挺快,,基于 Chromium 的浏览器 Chrome 和 Opera 已经完全支持 PWA 了,Firefox 和微软的 Edge 正在开发中,水果公司的 Safari 最近刚刚表达了可能会支持 PWA。从长久的角度看,只要 Google 不断推动一些网站往 PWA 转型,其他的浏览器或者竞争对手也就会自然跟风上船。

一、PWA与小程序特点比较

PWA的技术特点

渐进式增强:PWA可以在所有现代浏览器中运行,并逐步提供更高级的功能,使得应用程序可以适应不同的浏览器和设备。 响应式设计:PWA可以自适应不同屏幕尺寸和设备类型,提供一致的用户体验。

离线访问:PWA能够通过使用Service Worker技术实现离线访问,使应用程序在网络连接不可用时继续运行。

安装与推送通知:PWA可以通过添加到主屏幕和发送推送通知来模拟原生应用的体验。

更新简便:通过Service Worker,PWA可以实现自动更新,无需用户手动更新应用程序。

小程序的技术特点

快速加载:小程序采用了轻量级的框架和组件,加载速度快,用户可以迅速打开应用程序。

原生集成:小程序能够与设备的硬件功能(如摄像头、定位、陀螺仪等)进行原生集成,提供更丰富的功能和用户体验。

应用商店分发:小程序可以通过应用商店进行分发,用户可以方便地搜索、发现和安装小程序。

统一开发环境:小程序开发使用统一的开发工具和语言,减少了开发者的学习成本。

数据共享:小程序可以共享用户数据,提供更便捷的登录和数据传输。

二、PWA与小程序生态系统支持比较

PWA生态系统支持

广泛支持:PWA可以在几乎所有现代浏览器上运行,无需安装和更新,具有广泛的设备和平台支持。

Web技术栈:PWA使用Web标准技术(HTML、CSS和JavaScript),开发者可以充分利用现有的Web开发知识和工具。 开发者社区:PWA拥有庞大的开发者社区,提供丰富的资源、工具和支持。

小程序生态系统支持

流量入口: 小程序可以通过微信、支付宝等主流社交平台作为流量入口,除了这些巨头的流量平台以外,小程序目前也可以运行在企业自有App中了,任何企业的App只需要通过集成小程序运行时SDK,即可获得小程序运行能力,(目前市面上主流的小程序SDK商有FinClip、Mpaas等),让小程序拥有更多分发渠道。

开放能力:小程序提供了丰富的开放能力,开发者可以与硬件设备和第三方服务进行集成。

数据分析和统计:小程序生态系统提供了数据分析和统计工具,帮助开发者了解用户行为、应用性能和使用情况。开发者可以通过这些工具获取关键指标和数据,进行数据驱动的优化和改进。这些工具提供了可视化的报表和图表,帮助开发者更好地理解用户行为和应用运行情况。

三、PWA与小程序跨平台能力比较

PWA的跨平台能力

基于Web标准:PWA基于Web技术,可以在不同平台和设备上运行,包括桌面、移动和平板设备。 响应式设计:PWA可以根据设备的屏幕尺寸和分辨率进行自适应,提供一致的用户体验。 兼容性:PWA能够在各种现代浏览器上运行,并且不需要针对不同平台进行额外的开发和适配工作。

小程序跨平台/终端能力

移动平台重点: 小程序之前主要面向移动平台(如微信、支付宝),现在小程序也可以在各类智能终端上运行(例如:智能车载设备、智慧大屏等等)

四、性能与用户体验比较

PWA的性能与用户体验

加载速度: PWA使用Service Worker缓存技术,可以实现快速加载和离线访问。 响应性: PWA具有较快的响应速度,并提供与原生应用类似的交互体验。 SEO友好: PWA可以被搜索引擎索引和检索,提高应用程序的可发现性。

小程序的性能与用户体验

快速启动: 小程序采用轻量级的框架和组件,具有较快的启动速度和页面切换。 无需安装: 小程序无需安装即可使用,用户可以直接访问并体验应用程序。 与硬件集成: 小程序可以与设备的硬件功能进行原生集成,提供更丰富的用户体验。

最后

小程序则在流量入口、应用商店支持和与硬件集成方面表现突出。开发者在选择适合自己项目需求的技术方案时,应根据具体情况权衡各自的优势,并结合项目需求、目标用户和开发团队的技术栈来做出决策。

PWA和小程序都是当前移动应用开发领域的热门技术方案,它们各自具有独特的优势。从开发者的角度出发,PWA具有广泛的浏览器支持、跨平台能力和成熟的Web开发生态系统。

标签:浏览器,体验,程序,用户,开发者,PWA,优势
From: https://www.cnblogs.com/pingan0828/p/17492989.html

相关文章

  • 三菱FX3U-485ADP-MB通讯三种变频器程序 已实现测试的变频器:施耐德ATV312,
    三菱FX3U-485ADP-MB通讯三种变频器程序已实现测试的变频器:施耐德ATV312,三菱E700,台达VFD-M三款变频器,支持rtu的协议的变频器都可实现。需要硬件:FX3UPLC,FX3U-485ADP-MB通信扩展模块,施耐德ATV312变频器或台达vfd-m变频器或三菱E700变频器,fx3u-cnv-bd。通过modbusrtu通讯方式,可......
  • 使用信捷PLC和台达变频器之间的通信程序,通过信捷XC3的Modbus通信控制台达VFD-M变频器
    使用信捷PLC和台达变频器之间的通信程序,通过信捷XC3的Modbus通信控制台达VFD-M变频器的正转、反转、加减速和停止。同时,可以使用威纶触摸屏监控变频器的运转频率、电压、电流以及详细的资料,包括参数设置和PLC程序的接线。您无需添加通信扩展模块,因为信捷PLC自带该功能,简单、方便且......
  • 集装箱吊车门机起重机电气电器图纸一套这是调试后的最终版图纸,含程序,元件清单,集装箱的
    集装箱吊车门机起重机电气电器图纸一套这是调试后的最终版图纸,含程序,元件清单,集装箱的,供学习参考用,这是电气图纸,没有机械的。plc是315-2dp,行车图纸有很多,串电阻的,各种变频,plc通讯的这套图纸是集装箱吊车门机起重机的电气图纸,经过调试后成为最终版本。图纸包含了程序、元件清单以及......
  • 污水净化处理厂PLC自动化程序设计编程调试一套市政污水处理厂PLC自动化程序设计编程调
    污水净化处理厂PLC自动化程序设计编程调试一套市政污水处理厂PLC自动化程序设计编程调试一套含技术要求合同,上位机画面_组态王,plc程序_西门子300,触摸屏_ktp1000,电气设计图纸一套,plc点表等,此项目现场调试两个月,现正常运行中,非常适合自动化刚入行的新手学习,也适合对污水处理需要的......
  • 从零开始学Python第02课:第一个Python程序
    在上一课中,我们对Python语言的过去现在有了一些了解,我们准备好了运行Python程序所需要的解释器环境。相信大家已经迫不及待的想开始自己的Python编程之旅了,但是新问题来了,我们应该在什么地方书写Python程序,然后又怎么运行它呢?编写和运行代码的工具下面我们为大家讲解几种可......
  • 注重隐私安全以及方便运行 Windows 程序的发行版:Robolinux
    导读Robolinux 是一个基于最新的Ubuntu长期支持版本的Linux发行版,它使用Ubuntu20.04,22.04等LTS的源代码从零开始构建,注重隐私和安全以及高生产力,2023年5月更新了其最新版本 RobolinuxR12。该项目的一个更有趣的特点是提供了一个预配置的虚拟机支持包,其中包含......
  • 小程序关注公众号方法
    关联的不同主体的小程序有限制,一般为3个1、官方组件official-account(需关联)优点:官方组件、流程简单缺点:需要绑定,进入小程序需要特定场景才显示2、使用web-view嵌入公众号文章引导关注(需关联)  优点:文章能可以嵌入关注组件、可以做一定的引导,这也是现在大部分使用的方案......
  • pyinstaller打包程序后提示No module named ‘xxxx‘
    解决方法11、检查先在venv环境中安装xxx 报错的这个包以我的举例 查看settings>projectinterpreter (存在对应的包) 解决方法22、在xxx.spec 文件中 添加 导入模块 pytest 再次重新打包 pyinstallerxxx.spec运行exe 运行成功..... ......
  • 编译程序的任务
    编译程序是一种翻译程序,编译程序是将一种语言形式翻译成另一种语言形式。它将高级语言所写的源程序翻译成等价的机器语言或汇编语言的目标程序。整个编译过程一般可以划分为5个阶段:词法分析、语法分析、语义分析及中间代码生成、中间代码优化和目标代码生成。我们以一个简单的......
  • 与其整天担心 AI 会取代程序员,不如先让 AI 帮助自己变得更强大
    @目录为代码生成对应的单元测试代码利用ChatGPT帮助自己研读经典框架的源代码代码重构和性能优化阅读正则表达式觉得头疼?让ChatGPT来替我们阅读利用ChatGPT帮助自己入门一个相对比较陌生的技术领域我从2007年大学毕业参加工作至今,已经在软件开发这个岗位上工作16年了。......