Leaving presentation mode.

MiniApp Packaging, Manifest, and MiniApp Components

Industry Meetup: W3C MiniApps Standardization and Implementation

Martin Alvarez-Espinar

Vision Hotel, Beijing (CN) - 22 Dec 2023

Contents

Progress and Next-Steps of:

  1. MiniApp Packaging
  2. MiniApp Manifest
  3. Incubation of MiniApp Components

Contents

Progress and Next-Steps of:

  1. MiniApp Packaging
  2. MiniApp Manifest
  3. Incubation of MiniApp Components

MiniApp Packaging

Describes the logical and physical structure of a MiniApp

Status: WD

Types of Resources

Breakout of components in miniapp package

Pages & Components

Based on Web Components

File System

Filesystem structure of a miniapp package

Homogeneous structure:

Packaging: Open Issues

Security and efficiency concerns (TAG's Review):

  1. Preservation of the origin model
    • UA SHOULD use SSL/TSL for distribution
    • UA SHOULD keep track of the origin (save it in manifest?)
  2. Secure context (integrity of the package)
    • Package SHOULD be hashed (integrity);
    • and SHOULD be signed (e.g, developer + distributor)
  3. Efficiency of ZIP container

Ongoing discussion.

Contents

Progress and Next-Steps of:

  1. MiniApp Packaging
  2. MiniApp Manifest
  3. Incubation of MiniApp Components

MiniApp Manifest

JSON document to describe a MiniApp

Status: WD

Manifest Next: Internationalization

Localization of manifest members

Currently, MiniApps apply text localization techniques during the compilation stage

We must distribute texts in different languages and localize color schemes, icons, and images (good for marketplaces).

Expected alignment with Web App Manifest (working draft)

Manifest Next: Content Security Policy (CSP)

Increase security and integrity of MiniApps

Currently, the standard CSP directives enable restricting the origin of resources through HTTP headers like default-src, connect-src, img-src, script-src, or font-src

Manifest Next: CSP

"content-security-policy" : 
    {
      "default-src": 
        [ 
          "trusted1.example.org", 
          "trusted2.example.org" 
        ], 
      "origin": "superapp-store.example.org" 
    }
   

Open discussion

Manifest: Open Issues

Contents

Progress and Next-Steps of:

  1. MiniApp Packaging
  2. MiniApp Manifest
  3. Incubation of MiniApp Components

MiniApp Components

To MiniApp Pages (based on different MiniApp implementations)

Status: Draft Community Group Report

Thank you!

Questions?