W3C

[草案] MiniApps工作组章程

这是用于讨论的MiniApps工作组章程中文版草案,正式版本为英文版,请参见这里

MiniApps工作组任务是制定规范,以促进可互操作且功能强大的MiniApps的开发。

加入MiniApps工作组

章程的草案可在GitHub上找到,欢迎随时提issue

结束日期 2023-01-20
小组主席 安勍(阿里巴巴)
王子韬(华为)
周丹(百度)
W3C联络人 薛富侨(0.2 FTE)
常规会议安排 电话会议:根据需要
面对面会议:每年至少一次

使命

MiniApp作为一种新的移动应用形式,利用Web技术(尤其是CSS和JavaScript)以及原生应用的功能,在全球范围内越来越受欢迎。为了增强不同MiniApp平台(又称为超级应用或宿主应用)之间的互操作性,主流MiniApp平台提供商自2019年5月以来一直在W3C中文Web兴趣组中合作,并于2019年9月发布了MiniApp标准化白皮书作为初步的标准化探索。随着越来越多的全球公司对加入MiniApp相关讨论感兴趣,MiniApps生态社区组在TPAC 2019期间被提议成立,以便全球Web社区可以加入讨论。

在探索阶段,由于MiniApp与典型的Web环境相比具有独特的性质,因此确定了潜在的标准要求。MiniApps生态社区组已经进行了大量的研究工作并与W3C相关小组进行了联合讨论,以阐明MiniApp标准化的要求和可能的解决方案。例如,宿主平台可能不是浏览器,而应用的构造也可能不是基于Web上的资源。因此,MiniApp与典型的Web环境在UI配置、渲染、资源打包以及对本地系统功能的API访问中使用了不同但相关的技术。现有的Web标准(如Web PackagingWeb App Manifest和Web API)则未涵盖此类情况。

MiniApps工作组旨在协调多样化的的MiniApp生态系统,实现不同MiniApp平台之间的互操作性,最大程度地实现MiniApps与万维网的融合,降低开发成本并促进该技术的采用。

范围

工作组的工作将基于MiniApps生态系统社区组针对MiniApp功能而制定的规范,包括:

  1. MiniApp的基本架构和基本功能,例如Manifest、Packaging、Addressing和Lifecycle,详情见交付文档
  2. 可以增强不同MiniApp平台之间以及MiniApp平台和Web之间的互操作性的MiniApp UI组件(封装的可重用代码,用于呈现UI的一部分)和与组件相关的API和页面布局模板机制。工作组可以通过修订章程从MiniApp社区组的孵化结果包含其他组件和API的规范。
  3. 在Web的通用性上与其他W3C的工作进行协调,尤其是安全性、隐私、信息无障碍、国际化和其他Web API(包括渐进式Web应用,即PWA)。

超出范围

以下工作不在工作组的工作范围内:

交付文档

规范性文档

工作组将交付以下W3C规范性文档:

MiniApp Manifest

This specification defines a JSON-based manifest document that enables developers to set up descriptive information, window styling, page routing, feature policies, and other information of a MiniApp. The MiniApp Manifest specification will follow the recommendations of the Web Platform Design Principles to extend the Web App Manifest.

草稿状态在MiniApp CG中孵化

Adopted Draft: https://w3c.github.io/miniapp/specs/manifest/

MiniApp Packaging

This specification defines the standardized MiniApp package structure and its construction method. The MiniApp package file includes all the application assets such as document templates, components, stylesheets, scripts, internationalization resources, security resources, and the manifest file. The MiniApps Working Group aims at defining a MiniApp package format to be processed by various runtime environment.

草稿状态在MiniApp CG中孵化

Adopted Draft: https://w3c.github.io/miniapp/specs/packaging/

MiniApp Lifecycle

This specification defines the MiniApp lifecycle events and the process that enables developers to manage the lifecycle events of both MiniApp application lifecycle and each MiniApp page's lifecycle. MiniApp application lifecycle includes a set of events, including application initialization, application running in foreground, application running in background. MiniApp page lifecycle includes a set of events, including page loading, page first rendering ready, page running in foreground, page running in background and page unloading. Whenever possible, the specification should provide a mapping to existing Web specifications such as Service Workers and Page Visibility.

草稿状态在MiniApp CG中孵化

Adopted Draft: https://w3c.github.io/miniapp/specs/lifecycle/

新的规范性文档

如果在章程到期之前需要向章程中添加其他在章程范围内的规范性文档,工作组将准备一份仅在交付文档章节有所不同的新章程。

工作组不会采用未经MiniApps生态社区组孵化的提案。

其他交付文档

MiniApp Addressing

This document defines a MiniApp URI Deep Link solution that will work across various MiniApp platforms, with reference to existing URI standard work in W3C and related standard bodies.

草稿状态在MiniApp CG中孵化

Adopted Draft: https://w3c.github.io/miniapp/specs/uri/

MiniApp Widget Requirements

This document describes the requirements for MiniApp widgets, a special form of MiniApp pages.

草稿状态在MiniApp CG中孵化

Adopted Draft: https://w3c.github.io/miniapp/specs/widget-req/

时间表

里程碑
规范 FPWD CR PR Rec
MiniApp Manifest Q1 2021 Q4 2021 Q3 2022 Q4 2022
MiniApp Packaging Q2 2021 Q4 2021 Q3 2022 Q4 2022
MiniApp Lifecycle Q1 2021 Q4 2021 Q3 2022 Q4 2022
MiniApp Addressing Q1 2021
Widget Requirement Q1 2021

注意:某些交付文档的实际发布时间可能会与时间表不同。

成功标准

在达到提案推荐标准(Proposed Recommendation)之前,每个规范中的所有特性必须已有两个独立的实现。

每个规范都会包含全面的测试套件,以确保互操作性,该小组将创建互操作性报告。小组还将按要求维护勘误表,以保证其制定的规范的可用性。

每个规范都必须包含有关无障碍的部分,描述可带来的好处和影响,包括规范里的特性如何解决这些问题,以及在实现中最大限度地提高无障碍的建议。

每个规范都必须详细说明与实现者、Web开发者和最终用户相关的的所有已知安全性和隐私隐患。

在发布API标准之前,须证明该API可以安全地实现。

相关小组

W3C小组

对于所有规范,该工作组将对相关工作组、兴趣组和TAG的发起信息无障碍、国际化、性能、隐私和安全性的横向审阅请求。工作组还会征询关于可访问性用户需求的意见。在进入包括FPWD在内的每个标准的主要阶段之前,都必须发出审阅邀请。在每个规范的制定过程中,鼓励工作组与横向审阅小组合作。建议工作组至少在进入CR之前至少3个月进行审查,并鼓励在审查后规范中发生重大更改时主动通知横向审阅小组。

根据W3C流程文档,将与以下小组进行其他技术协调:

MiniApps生态社区组
MiniApps生态社区组将孵化规范,以开始标准流程。此外,MiniApps工作组计划与MiniApps生态社区组密切合作,以开发新功能,尤其是在社区组中进行工作组当前范围之外的功能的孵化,并且在将来的工作组章程中将其包括在内。
Web应用安全工作组
Web应用安全工作组正在开发用于管理权限的API,这与该组的规范相关,如manifest中的权限信息
Web平台孵化社区组
Web平台孵化社区组为提议、孵化和讨论新的Web平台特性提供了一个轻量级的场所。MiniApps工作组将与WICG进行协调,以确保MiniApp尽可能利用WICG中的现有提案。
Web应用工作组
该小组与Web应用工作组进行协调,以尽量确保MiniApp Manifest和Web App Manifest的一致性。
Web性能工作组
Web性能工作组开发了页面可见性(Page Visibility)规范,其功能与MiniApp Lifecycle规范中的特性有关。
Service Workers工作组
Service Workers工作组开发了Service Workers规范,其功能与MiniApp Lifecycle规范中的功能有关。
CSS工作组
CSS工作组开发了向Web应用中的组件添加样式的机制,这与该组中潜在的UI组件标准化有关。

外部团体

以下是工作组应与之合作的外部机构的暂定清单:

WHATWG
WHATWG维护与该工作组中的UI组件相关的HTML和DOM标准。

参与方式

为了取得成功,该工作组将在其章程期内至少有6名或以上的积极参与者,并且在其制定的规范相关领域中将有行业领导者的参与。

预计主席和规范编辑每周为工作组贡献一到两天的时间。对其他参与者没有最低要求。

根据小组参与者的意见,主席还可以决定成立特别任务组(task force),以便就需要特定专业知识的主题进行更集中的讨论。

该工作组还将分配用于构建每个规范的测试套件的必要资源。

该小组鼓励在其公共邮件列表和文档repo上提出问题和评论,如沟通方式中所述。

该小组还欢迎非会员在同意W3C专利政策条款的前提下提交技术意见。

该小组的参与者必须(通过W3C流程)遵守W3C道德与职业行为守则

沟通方式

该工作组的技术讨论是公开进行的:电话会议和面对面会议的会议记录将被存档以供公众查看,技术讨论和问题跟踪将以一种由一般公众可参与的方式进行。规范的工作草案和编辑草案将在公开的repo上开发,并可以允许公众直接贡献。但是,会议本身并不开放给公众参与。

可从MiniApps工作组主页上获得有关该组的信息(例如,有关交付文档、问题、行动、状态、参与者的详细信息等)。

工作组的电话会议着重讨论特定的规范,并根据需要进行。召开临时电话会议时,主席须提前至少3个工作日通知。

该小组主要在public-miniapps-wg@w3.orgGitHub issues上进行技术工作。如果超过80%的小组参与者决定接受其他交流工具,则可以使用其他交流工具。如果新的W3C会员加入工作组,则必须重新评估使用其他交流工具的决定。公众可以审阅、讨论小组的工作,并为小组的工作做出贡献。

该小组将会员邮件列表用于内部管理目的,并由小组主席和参与者酌情决定何时使用。

决策方式

根据W3C流程文档第3.3节,该小组将寻求通过共识和正当程序做出决策。通常,参与者提出初始提案,然后在与小组成员和其他审阅者的讨论中进行细化,并且在几乎不需要正式投票的情况下达成共识。

但是,如果必须作出决定以及时取得进展,但在仔细考虑所提出的意见范围后未能达成共识,主席可要求进行集体投票,并记录决定以及任何异议。

为了提供异步决策和组织审议,在面对面会议或电话会议中做出的任何决议(包括文档发布决定)都将被视为临时决议。对所有决议,小组主席都将(例如,通过邮件或网页调查方式)呼吁成员进行一致协商(Call for Consensus),响应期为5至10个工作日,具体取决于主席对该项决议共识达成程度的评估。若在回复期限内没有人通过邮件列表提出反对意见,那么该决议将被视为工作组协商一致后的共识决策。

除非出现与决议相关的新信息、小组主席或W3C理事长判定重新开放对该决议的讨论,否则小组作出的所有决议均应被视为最终决策。

本章程是根据W3C流程文档(第3.4节,投票)编写的,不包括超出流程文档要求的投票程序。

专利政策

该工作组根据W3C专利政策(2020年9月15日版本)运作。为了促进Web标准的最广泛采用,W3C试图发布可以根据此政策在免专利使用费的基础上实现的正式推荐标准。有关小组的专利披露义务的更多信息,请参见W3C专利政策实施

文档许可

工作组的全部交付文档均使用W3C软件与文档使用许可

关于此章程

MiniApps工作组章程依据W3C流程文档第5.2节制定。若此文档或任何规则与W3C流程文档有冲突,W3C流程文档将有优先决定权。

章程历史

根据W3C流程文档第5.2.3节,下表列出了章程中的所有更改:

章程动态 开始日期 结束日期 更改
初始章程 2021年1月19日 2023年1月20日
  • 2021年10月张永靖卸任联合主席,王子韬出任联合主席。
  • 2021年11月李安琪卸任联合主席,安勍出任联合主席。
  • 2022年3月祖明卸任联合主席,周丹出任联合主席。

Fuqiao Xue