Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarification around Web Bundles, WebViews, and MiniApps? #34

Open
aluhrs13 opened this issue Aug 8, 2022 · 3 comments
Open

Clarification around Web Bundles, WebViews, and MiniApps? #34

aluhrs13 opened this issue Aug 8, 2022 · 3 comments

Comments

@aluhrs13
Copy link

aluhrs13 commented Aug 8, 2022

This doesn't fully align with adding a use-case, but there's a number of ongoing areas that seem closely related to WebViews and would be worth listing where we see WebViews differing from other standards and proposals. From what I've seen:

@QingAn
Copy link
Contributor

QingAn commented Aug 23, 2022

@QingAn Add some description on MiniApps using WebView

@QingAn QingAn removed the Agenda+ label Aug 23, 2022
@tomayac
Copy link

tomayac commented Aug 23, 2022

Shameless plug for my article series on mini apps: web.dev/mini-apps.

@QingAn
Copy link
Contributor

QingAn commented Oct 9, 2022

How MiniApps use WebView

MiniApp is a mobile application format, a hybrid solution that relies on Web technologies (especially CSS and JavaScript) and integrates with the capabilities of native apps. Usually, MiniApp runs inside a super app, which is a software platform that hosts and supports multiple MiniApps.

In a MiniApp, the view layer is separated from the logic layer.

  • The view layer is responsible for rendering MiniApp pages, including Web components and native components display. WebView enables the rendering of web content. For some Web components not supported by the WebView or have performance limitations (such as map, video, etc.), native components are used and are rendered by native view.
  • The logic layer is implemented with JavaScript Worker. A worker is responsible for MiniApp’s event processing, API calls, and lifecycle management.
    In most cases, one MiniApp has multiple views (WebViews and Native Views) and only one worker. The views can be considered stateless, and all the states will be stored in the worker.

More info can be found in MiniApp Standardization White Paper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants