W3C 成立 MiniApps 标准工作组,推动 MiniApp 生态繁荣健康发展

Part of Corporate

作者及发布日期

由:
发布:

该博客文章由董永清、李安琪、薛富侨、张腾元、张永靖、周丹联合编辑(文章英文原文)。

传统的 HTML 5应用开发效率较高,但用户性能体验不够完美,于是出现了使用 Web 技术开发具有类似于原生应用的用户体验的 Web 应用的尝试,包括 Cordova、Electron、NativeScript、Progressive Web Apps、W3C Widgets 等。

一种名为 MiniApp 的新尝试出现并迅速受到用户的欢迎。MiniApp 是一种小型、免安装、快速加载的程序,通常在一个宿主应用或操作系统中运行(如小程序、快应用),也可以是支持跨端部署的 JS 原生应用。MiniApp 既使用了 CSS 和 JavaScript 等 Web 技术,同时又可以使用操作系统提供的能力。

目前的 MiniApp 厂商众多,而各厂商都有着各自不同的 API。为了增强不同 MiniApp 平台之间的互操作性,阿里巴巴、百度、华为、小米等 MiniApp 厂商自2019年5月以来通过在 W3C Web 中文兴趣组的合作,于同年9月联合编撰发布 《MiniApp 国际标准化白皮书》,作为初步的标准化探索。随着全球越来越多的公司表现出对 MiniApp 相关标准讨论的浓厚兴趣,MiniApps生态社区组于TPAC 2019期间正式成立,以便全球 Web 社区展开广泛合作推动 MiniApp 的国际标准化进程。

经过为期一年的孵化,MiniApps 生态社区组开发了一系列 MiniApp 技术规范提案和一个需求文档。为了使 MiniApp 标准化具有更强的互操作性,最大限度地与 Web 融合,W3C 团队和 MiniApp 社区组协调组织了一次全球范围的 MiniApp 标准化研讨会,W3C 技术架构组(TAG)代表及20多个全球厂商参会,共同探讨推动 MiniApp 未来的标准化方向。 在此特别感谢 MiniApps 生态社区组主席陈胤立(小米)、谷盛(Google)、李安琪(阿里巴巴)、祖明(百度),各提案编者以及全体成员的贡献,该社区组将继续孵化新的标准化需求与规范提案。

基于广泛的标准化需求,W3C 现正式成立 MiniApps 工作组,致力于联合广大会员及社区成员深入探索协调多样的 MiniApp 生态、增强不同 MiniApp 平台间的互通性,从而最大程度地提升 MiniApps 与 Web 的融合,减少技术碎片化并降低开发者的学习成本。李安琪(阿里巴巴)、张永靖(华为)、祖明(百度)出任 MiniApps 工作组主席,联合主持小组的日常工作。

工作组章程详细介绍了小组的标准化范畴,开发中的规范提案包括:

MiniApp Manifest:MiniApp Manifest 以 JSON 文件方式对 MiniApp 进行全局参数配置,包括 MiniApp 的基本描述信息、页面路由信息、窗口显示样式、权限管理等。MiniApp Manifest 是 Web App Manifest 的扩展,它继承了 Web App Manifest 的部分基本成员属性(如name, lang等),同时基于运行环境的差异而扩展了版本管理、页面路由、窗口配置等相关的成员属性(如versionName)。

MiniApp Packaging:MiniApp Packaging 规范定义了 MiniApp 的标准化打包文件结构及其构造和解析方法,解决不同运行时环境识别、加载、缓存和更新 MiniApp 包时的互通性问题。一个 MiniApp package 包含了该应用所需的资源文件,包括文档模板、UI 组件、样式表、JS 脚本、本地化配置、安全签名、manifest 文件等。

MiniApp Lifecycle:MiniApp 生命周期规范定义了 MiniApp 生命周期的事件与管理 MiniApp 应用及各个 MiniApp 页面的生命周期流程。通过实施本规范可以实现 user agent 对 MiniApp 全局应用生命周期与 MiniApp 页面生命周期的管理。MiniApp 生命周期规范将为 MiniApp 的跨平台互通提供基础,不同的 MiniApp 平台基于该规范可以实现一致性的 MiniApp 生命周期管理,进而实现一致性的 MiniApp 页面的展示。

MiniApp Addressing:MiniApp Addressing 机制定义了 MiniApp 的定位方式,规范了 MiniApp 的包信息、页面路径、参数信息的语法格式,以及这些语法部件在小程序中的含义。规范还定义了宿主平台对 MiniApp 定位协议的解引用算法,并提出 Addressing 过程中的安全性相关的建议。

MiniApp Widget Requirements:MiniApp Widget 是 MiniApp 页面的一种特殊形式,Widget 可以仅占用屏幕部分区域,常可于为用户显示关键信息和响应简单的用户操作,例如在负一屏卡片中展现用户行程、订单配送等服务内容和简单交互。此需求描述了 MiniApp Widget 规范的场景需求和制定 MiniApp Widget 规范需要考虑的各个部分需求,其中包含了对 Miniapp 的 Manifest、Packaging、Lifecycle 等其他规范在 Widget 场景下需要做出调整的描述,以及 Widget 特定的需求描述,例如 Widget 与宿主原生应用之间的通讯。


欢迎加入 W3C MiniApps 工作组!作为全球极具影响力的中立技术平台,W3C 拥有成熟的技术社区和发展流程,相应提案在此可以获得来自 Web 技术架构专家国际化无障碍安全隐私等层面的全方位审核,以及众多相关技术小组的意见输入,确保规范符合Web架构设计原则。

工作组计划于2021年1月27日召开线上分享会,欢迎国内 MiniApp 厂商、感兴趣的社区开发者注册参会(选择「"YES" 使用 W3C 账号登陆」或「"NO" 无账号直接输入邮箱」查看页面内容并注册),与 W3C MiniApps 标准工作组主席、规范提案作者深入交流 MiniApp 开发的现状和未来的标准化计划。

期待大家一起参与 MiniApp 的技术讨论,共同推动 MiniApp 标准化,促进国际厂商间的广泛交流,推动产业界的互联互通,维护 One Web 的技术理念,让 MiniApp 技术为更广大的人群提供更加优质的服务。

 

 

相关的 RSS

(0)条评论

该贴的评论区已关闭。