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

最新小程序开发白皮书解读系列—缘起

时间:2023-03-28 19:16:54 HTML

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