Skip to content

Instantly share code, notes, and snippets.

@NiklasMerz
Last active July 29, 2022 16:55
Show Gist options
  • Save NiklasMerz/e9058d5a687d8e5b2b5e3f7e63a867ad to your computer and use it in GitHub Desktop.
Save NiklasMerz/e9058d5a687d8e5b2b5e3f7e63a867ad to your computer and use it in GitHub Desktop.
Different WebViewAPIs
Name Platforms Description Features Limitations UX flexibility Usage Example State shared
Android Webview Android Default WebView implementation on Android Rich API with JS and CSS interaction, Tie WebView and native APIs together Features equal to current Chrime but some Web APIs are not supported Allows you to mix native content with the WebView and to resize it Hybrid Frameworks (Cordova, Capacitor)
Custom Tabs Android API for opening browser-like WebViews on Android Browser navigation and conveniance features like password fill App has no access to Web content Covers the entire application with some minimal top bar customization Link preview in social media apps
SFSafariViewController iOS, iPadOS API for opening browser-like WebViews on iOS Browser navigation and conveniance features like password fill App has no access to Web content Covers the entire application with some minimal top bar customization Link preview in social media apps
UIWebView (deprecated) iOS, iPadOS, macOS Soon-to-be-removed WebView API of iOS Rich API with JS and CSS interaction, Tie WebView and native APIs together Some current Web standards not implemented. Performance and security wise inferior to WKWebView, deprecated Allows you to mix native content with the WebView and to resize it Hybrid Frameworks (Cordova, Capacitor)
WKWebView iOS, iPadOS, macOS Default WebView implementation on iOS Rich API with JS and CSS interaction, Tie WebView and native APIs together Features similar to current Safari but some Web APIs are not supported Allows you to mix native content with the WebView and to resize it Hybrid Frameworks (Cordova, Capacitor)
WebView2 Windows Default WebView implementation on Windows Rich API with JS and CSS interaction
@NiklasMerz
Copy link
Author

State sharing

Usecase table

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment