本系列文章将解读W3C小程序白皮书第二版(最新版),这是开发小程序的标准。
本文将为您介绍小程序的由来。
背景
虽然原生应用程序在我们的日常生活中非常流行,但仍然存在许多问题需要解决,例如:
为了解决上述问题,一些开发人员一度认为Web可以避免这些问题,但迄今为止Web仍然不够完美。
因为相比原生来说,利用系统提供的能力/API并不容易。
此外,设计一个 Web 应用程序的性能实际上可以匹配或超过类似的本机应用程序通常很困难。
此外,在移动设备上,用户经常需要访问浏览器之外的服务或内容。如此频繁的操作显然不够友好。
此外,有时用户可能希望与应用程序共享一些数据。例如,当前设备的个人手机号码或联系人列表,用户在Web上授予权限的方式并不人性化。
于是,小程序就出现在了开发者的脑海中。
什么是小程序
是一种新的移动应用程序格式,是一种依赖于 Web 技术(尤其是 CSS 和 CSS)并与本机应用程序功能集成的混合解决方案。
超级应用程序是一个软件平台,它通过使用平台的资源来托管和支持其他应用程序(即小应用程序)以实现其执行。同时,小程序也变得流行起来,因为它们可以用在一些超级应用程序上,这有助于填补Web和本机应用程序之间的空白。例如,它具有以下特点:
小程序和PWA的区别
迷你应用程序无意取代渐进式 Web 应用程序 (PWA)、本机应用程序或网络。
从广义上讲,这些技术之间的显着差异之一是执行环境。 PWA 可以在几乎任何支持 Web 的环境中的浏览器中运行,而小程序则与特定平台或超级应用程序绑定。另一个重要的区别是分配机制。小程序自行打包,而PWA资源则分布在Web上。
这两种技术都使用类似的编程和标记语言以及基于 CSS 的样式表进行编码。该小程序实现了一种基于 HTML 子集的专门领域特定语言以及用于数据绑定和事件管理的特定机制,遵循 MVVM 范例和虚拟 DOM 管理。 供应商定义了类似的 UI(用户界面)元素,但在 HTML 中并不总是有直接等效项。
在服务方面,PWA 和小程序开发人员可以访问具有相同用途和等效功能的 API,但不遵循确切的规范。
小程序厂商定义专有API,通过其渠道进行应用程序发布和分发管理。其他专用 API 与特定场景和运行平台相关。例如,使用设置提醒、接听电话和触发警告的服务。尽管两种技术都有相似的 API 和服务,但每种应用程序类型的 API 规范之间存在很大差距。 PWA 依赖于标准 Web API,而小程序则实现非标准 API 以最大限度地发挥平台的功能,例如设备特定的功能和供应商专有的服务。
根据实现的不同,小程序用户代理可以是操作系统、超级应用程序或任何其他基于不同渲染引擎的托管平台。如下图所示,小程序用户代理的架构与PWA用户代理不同。
下表还总结了一些差异:
应用案例增强现实
智能交通
物联网
电视
可见,小程序已经在很多领域得到了成功落地。