最新版小程序开发白皮书解读系列(1) — 由来

简介: 本系列文章将会解读 W3C 小程序白皮书第 2 版(最新版),这份白皮书是制定小程序的标准。

本系列文章将会解读 W3C 小程序白皮书第 2 版(最新版),这份白皮书是制定小程序的标准。

本文将为大家介绍小程序的由来。

背景

虽然原生应用在我们的日常生活中很受欢迎,但仍有很多问题亟待解决,例如:

  • 用户在从原生应用获取服务之前,往往需要经历下载->安装->注册应用的过程。
  • 由于存储能力的限制,用户只能在手机上保留有限数量的原生应用。
  • 不同的原生应用程序之间共享数据并不容易。
  • 要开发原生应用程序,开发人员可能需要学习一些新的编程语言。
  • 为了提供与原生应用程序相同的服务,开发人员可能需要为不同平台维护重复的产品。

解决上述问题,曾经有研发人员认为,Web 可以避免这些问题,但到目前为止 Web 仍然不完美。

因为与原生相比,要利用系统提供的能力/API 并不容易。

此外,通常很难设计一个性能实际上可以匹配或超过类似原生应用程序的 Web 应用程序。

除此之外,在移动设备上,用户要频繁获取浏览器之外的服务或内容。这样频繁的操作显然不够友好。

此外,有时用户可能希望与应用程序共享一些数据。例如当前设备的个人手机号码或联系人列表,用户在 Web 上给予许可的方式并不友好。

于是,小程序出现在研发人员的想法中。

什么是小程序

小程序是一种新的移动应用程序格式,是一种依赖 Web 技术(尤其是 CSS 和 JavaScript)并与原生应用程序功能集成的混合解决方案。

而超级应用是托管和支持其他应用程序(即小程序)的软件平台,通过使用平台的资源来实现它们的执行。同时,因为小程序能够在一些超级应用上的使用,就变得流行起来,这就有助于填补 Web 和原生应用程序之间的空白。例如,它具备如下特点:

  • 免费安装的。
  • 有多个 WebView 以提高性能。
  • 它提供了一些机制来通过本机访问操作系统功能或数据。
  • 内容/数据通常更值得信任,因为应用程序需要经过平台验证。
  • 一个小程序可以分发到多个小程序平台(Web、本机应用程序,甚至操作系统)。 这些平台还提供了小程序的入口,以确保用户可以轻松发现它。

小程序与 PWA 的差异

小程序并非旨在取代渐进式 Web 应用程序 (PWA)、原生应用程序或 Web。

从广义上讲,这些技术之间的显着差异之一是执行环境。 PWA 可以在浏览器中几乎任何支持 Web 的环境中运行,而 小程序 则绑定到特定平台或超级应用程序。另一个重要的区别是分发机制,小程序打包依据自身,而 PWA 的资源则分布在 Web 上。

两种技术在编码方面都使用相似的编程和标记语言以及基于 CSS 的样式表。 小程序实现了基于 HTML 子集的专用领域特定语言以及用于数据绑定和事件管理的特定机制,遵循 MVVM 范式和虚拟 DOM 管理。 小程序供应商定义了类似的 UI(用户界面)元素,这些元素在 HTML 中并不总是具有直接等效的元素。

在服务方面,PWA 和小程序开发者可以访问具有相同目的和等效功能的 API,但不遵循确切的规范。

小程序供应商通过其渠道定义了面向应用发布和分发管理的专有 API。其他专用 API 与具体场景和运行平台相关联。 例如,使用设置提醒、接听电话和触发警告的服务。尽管两种技术都有相似的 API 和服务,但每种应用程序类型的 API 规范之间存在很大差距。 PWA 依赖于标准的 Web API,而小程序实现非标准的 API 以最大限度地发挥平台的功能,例如特定于设备的功能和供应商专有的服务。

根据实现的不同,小程序用户代理可以是操作系统、超级应用程序或任何其他基于不同渲染引擎和 WebViews 的托管平台。如下图所示, 小程序用户代理的架构不同于 PWA 用户代理。

在这里插入图片描述
下表也总结了一些差异:

请添加图片描述

应用案例

AR

在这里插入图片描述

智能交通

在这里插入图片描述

IoT

在这里插入图片描述

TV

在这里插入图片描述
可以看到,小程序在多个领域已经有了很成功的落地应用。

目录
打赏
0
0
0
0
44
分享
相关文章
【一步步开发AI运动小程序】二十一、如何将AI运动项目配置持久化到后端?
本文介绍基于云智「Ai运动识别引擎」的运动配置持久化方案,旨在优化小程序或Uni APP中AI运动识别能力。通过将运动检测参数(如`Key`、`Name`、`TickMode`、`rules`或`samples`)持久化到后端,可避免因频繁调整运动参数而重新发布应用,提升用户体验。持久化数据结构支持规则和姿态样本存储,适用于关系数据库、文件或文档数据库(如MongoDB)。此外,云智还提供运动自动适配工具及「AI乐运动」产品,助力快速实现AI体育、全民健身等场景。
技术小白如何利用DeepSeek半小时开发微信小程序?
通过通义灵码的“AI程序员”功能,即使没有编程基础也能轻松创建小程序或网页。借助DeepSeek V3和R1满血版模型,用户只需用自然语言描述需求,就能自动生成代码并优化程序。例如,一个文科生仅通过描述需求就成功开发了一款记录日常活动的微信小程序。此外,通义灵码还提供智能问答模式,帮助用户解决开发中的各种问题,极大简化了开发流程,让普通人的开发体验更加顺畅。
812 11
技术小白如何利用DeepSeek半小时开发微信小程序?
【一步步开发AI运动小程序】十八、如何识别用户上传图片中的人体、运动、动作、姿态?
【云智AI运动识别小程序插件】为小程序提供人体、运动及姿态检测的AI能力,本地引擎支持10余种运动,无需后台服务,具备快速、低成本等优势。本文介绍如何通过Canvas方案读取用户上传图片的像素数据,实现人体检测与姿态分析功能,代码简单高效,适合快速集成。更多内容欢迎交流!
【一步步开发AI运动小程序】十九、运动识别中如何解析RGBA帧图片?
本文介绍了如何将相机抽取的RGBA帧图像解析为`.jpg`或`.png`格式,适用于体测、赛事等场景。首先讲解了RGBA图像结构,其为一维数组,每四个元素表示一个像素的颜色与透明度值。接着通过`uni.createOffscreenCanvas()`创建离屏画布以减少绘制干扰,并提供代码实现,将RGBA数据逐像素绘制到画布上生成图片。最后说明了为何不直接使用拍照API及图像转换的调用频率建议,强调应先暂存帧数据,运动结束后再进行转换和上传,以优化性能。
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
149 11
【一步步开发AI运动小程序】二十、AI运动小程序如何适配相机全屏模式?
本文探讨了小程序`camera`组件在全屏模式下的适配问题及其解决方案。由于`camera`组件存在预览图像裁切特性,可能导致入镜检测与预览不一致、骨骼图与人体不重合等问题。通过分析其裁剪逻辑(长边按比缩放,短边居中裁切),我们提供了计算裁剪比例和留白的适配方法,并优化了插件特性以支持全屏应用。同时,文章还讨论了全屏模式可能带来的副作用,如人体可视区域变小、检测范围变化及抽帧帧率下降等,并给出了改进建议。该方案适用于云上赛事、健身锻炼、AI体测、AR互动等场景,助力提升用户体验和UI布局合理性。
【一步步开发AI运动小程序】十五、AI运动识别中,如何判断人体站位的远近?
【云智AI运动识别小程序插件】提供人体、运动及姿态检测的AI能力,无需后台支持,具有快速、体验好、易集成等特点。本文介绍如何利用插件判断人体与摄像头的远近,确保人体图像在帧内的比例适中,以优化识别效果。通过`whole`检测规则,分别实现人体过近和过远的判断,并给出相应示例代码。
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
|
3月前
|
圈子源码如何打包生成App小程序/开发一个圈子系统软件所需要的费用体现在哪里?
将PHP源码打包成App的过程涉及多个步骤和技术选择。以圈子源码为例,首先明确需求,确定App功能和目标用户群体,并根据需求开发小程序页面,如用户注册、圈子列表等。源码准备阶段确保源码适用于小程序开发,环境配置需安装IDE(如微信开发者工具)及依赖库。最后在IDE中打包小程序并上传至管理平台,通过审核后发布。费用方面,模板开发成本较低,定制开发则更高,具体取决于需求复杂度和第三方服务费用。
114 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等