This slides were made for the TPAC 2024, using the official template.

To start the slide show, press ‘A’. Return to the index with ‘A’ or ‘Esc’. On a touch screen, use a 3-finger touch. Double click to open a specific slide. In slide mode, press ‘?’ (question mark) to get a list of available commands.

Leaving slide mode.

WebView CG - Chinese Community Survey

TPAC 2024
Anaheim CA, USA
hybrid meeting
24 SEPTEMBER 2024

WebViews Survey for the Chinese Community

The W3C WebView Community Group (CG) created a survey with the objective of identifying, understanding the issues arising from WebViews (apps that render Web technology-based content outside a Web browser). The CG appreciated the input of 34 anonymous developers and experts who took part in the survey.

The survey ran for over a month (until September 15th 2024) with the kind support of W3C China. This presentation summarizes the insights of those 34 replies. (Spreadsheet)

#1. Is the majority of your users using WebViews or browsers to run your web application(s)?

Most of developers use WebViews (20), 11 respondents use browser and 3 only native

The description of the pie chart, here as a table:

Options Replies
WebViews 20
Browsers 11
None (native only) 3

2. What do you use WebView for?

Hybrid apps (76%), Mini apps (52%), Browser apps (29%) are the top preferred options

The description of the pie chart, here as a table:

Options Replies
Hybrid apps (Apache Cordova, Capacitor...) 26
Mini apps 18
Browser apps 12
Internal/Information pages 10
Offline web content 5
External links 4
Ads 3

3. What WebView features do you use?

JavaScript Injection (85%) and WebStorage (64%) are the most selected options

The description of the pie chart, here as a table:

Options Replies
JavaScript Injection 29
WebStorage (localStorage, sessionStorage...) 22
Cookies 18
CSS Injection 17
Video playback 17
WebSockets 10
webRTC 1
offscreencanvas 1

This includes the replies to the question #4 (other...)

5. What are your top pain points with using WebView?

Inconsistency (23) and Performance (16) are the top pain points

The description of the pie chart, here as a table:

Options Replies
Inconsistency 23
Performance 16
WebView bug 14
Lack of web functionality 8
Safety 5
Memory comsuption 2
Lack of updates & new features 1
Lack of extensibility to native alignment 1

This includes the replies to the question #6 (other...)

7. What specific platforms do you develop on?

Android (22), iOS (20) and Windows (16) are the top platforms used

The description of the pie chart, here as a table:

Options Replies
Android 22
iOS 20
Windows 16
macOS 15
Linux 7
HarmonyOS 5
other 2

9. Which WebView implementation do you use?

Android WebView (24), WKWebView (16), WebView2 (12), and X5 (Tencent)	(10) are the top implementations used

The description of the pie chart, here as a table:

Options Replies
Android WebView 24
WKWebView 16
WebView2 12
X5 (Tencent) 10
ArkWeb (HarmonyOS) 4
UIWebView 4
Custom Tabs 3
SFSafariViewController 3
UCWebView 1
JxBrowser 1
other 1

This includes the replies to the question #10 (other...)

11. Do you know how to file bugs, search for documentation about WebView?

Five respondents know how to do it, 19 don't

The description of the pie chart, here as a table:

Options Replies
Yes 5
No 19
Not sure 10

12. Do you feel WebView documentation is adequate?

Fourteen respondents replied 'yes', 10 'no', and 10 don't know

The description of the pie chart, here as a table:

Options Replies
Yes, enough 14
No, not enough 10
Not sure 10

13. Documentation missing

Challenge foundReplies
Scarce documentation in MDN on WebViews2
No standard documentation2
WebViews loading mechanism1
Performance optimization1
How web features are implemented and the influence of the native environment in the webview1
Limitations and restrictions of WebViews1
How to build homogeneous layouts in different platforms1
Existing documentation relative old1

14. How do you keep track of web platform features that are available in WebViews?

Social Media	(16), Blogs (14), Release Notes (13), Announcements (13)

The description of the pie chart, here as a table:

Options Replies
Social Media 16
Blogs 14
Release Notes 13
Announcements 13
other 1

16. What programming language is utilized in your embedding solution?

Top one is JS (with 7); Swift and Java (with 2), also with one response: .net Core, ArkTS, Kotlin multiplatform, OCaml, JSPy, Rust

The description of the pie chart, here as a table:

Options Replies
JS 7
Swift 2
Java 2
.net Core 1
ArkTS 1
Kotlin multiplatform 1
OCaml 1
JSPy 1
Rust 1

17. How are you achieving consistent behavior and rendering across different platforms and devices using WebView ?

12. What approaches do you take to test WebViews for consistency across devices & platforms?

ApproachMentions
Manual testing on different devices5
Using only web standards1
Regression Testing1
Automatic testing with Playwright, Appium1
Debugging with https://eruda.liriliri.io1
End to end testing1

19. Are there features or functionality missing from PWAs that if added would motivate you to maintaining a PWA instead of your WebView-based solution?

20. How do you decide when to use a WebView vs navigating to a browser app?

OptionsMentions
Keep experience within the app2
When all the pages are managed by the webview2
When the user does not want to use the browser1
If data interaction is required with the native app1
When the the browser sandbox is reached 1

21. How do you work around some of the shortcomings of WebView today?

OptionsMentions
Avoiding using WebViews2
Asking the community1
Relying on "advanced technology"1
Searching info and using examples1

22. What are your thoughts about WebView from a privacy and security point of view?

ThoughtsMentions
No opinion3
"Profile needs to be promoted as a standard"1
There are too many and too easy ways to bypass vulnerabilities1

23. Are there features of functionality missing in the WebView you use? (e.g., prerender, WebviewPool,...)

Four respondents mentioned Pre-rendering. Two, WebView Pool. The rest: quicker startup, Efficient communication and Native UI interoperability

The description of the pie chart, here as a table:

Options Replies
Pre-rendering 4
WebView Pool 2
Quicker startup 1
Efficient communication 1
Native UI interoperability 1