Samuel Bezerra Gomes
UIWebView
WKWebView
- Existant depuis la version 2.0 d'iOS
- Composant déjà existant dans l'UIKit
- Implementation directe avec Interface Builder
- Vieux méthodes pratiques disponibles comme "ScalePageToFit"
- Existant depuis la version 8.0 d'iOS
- Composant à part dans la bibliothèque WebKit
- Implementation manuelle sans l'Interface Builder
- Solution alternative existante avec WKUserScript
UIWebView
WKWebView
- UIWebView tourne sur le même processus de l'application lancé
- Benchmark :
- WKWebView tourne sur un processus séparé pour avoir un meilleur rendu pour des optimisations Javascript
- Benchmark :
- Usage du CPU : 30 à 50 %
- Usage du CPU : 2 à 8 %
- Mémoire : 7 Mo
- Mémoire : 40 Mo
- Performance WebGL : 25 % de CPU pour renderiser des particules à 60fps
- Performance WebGL : 90 % de CPU pour renderiser des particules à 60fps
UIWebView
WKWebView
- Support à IndexedDB : Non
- Support à ArrayBuffers : Non
- Support au stockage d'objets Blob : Non
- Support à IndexedDB : Oui
- Support à ArrayBuffers : Oui
- Support au stockage d'objets Blob : Non
UIWebView
WKWebView
- Injection simple des codes JS
- Support à des messages : via un prefix comme "app_link" uniquement
- Méthodes simples de navigation
- Injection complètement configuré en passant la source JS, le moment de l'injection si au debut ou à la fin du chargement de la page entre autres options.
- Un meilleur suivi de la navigation avec WKNavigationDelegate (Action / Response)
- Support à des messages integré directement avec WKScriptMessageHandler
Le composant UIWebView est plus indiqué à l'affichage des pages web sans un besoin majeur dans le suivi de navigation ni dans la communication entre la page et l'interface native, en étant plus pratique à implementer une fois qu'il est integré directement dans l'Interface Builder.
Le composant WKWebView est plus indiqué à l'affichage des pages web qui ont besoin d'un suivi complet de navigation, chargement, injections JS, ainsi que des pages qui contiennent du contenu WebGL vu son coût niveau performance.