Is WKWebView designed as a replacement of UIWebView?
As per Apple Developer site:
If your app still embeds web content using the deprecated
UIWebView
API, we strongly encourage you to update toWKWebView
as soon as possible for improved security and reliability.WKWebView
ensures that compromised web content doesn’t affect the rest of an app by limiting web processing to the app’s web view. And it’s supported in iOS and macOS, and by Mac Catalyst.The App Store will no longer accept new apps using
UIWebView
as of April 2020 and app updates usingUIWebView
as of December 2020.
Update: UIWebView
is now deprecated and Apple is actively discouraging developers from using it.
There are several reasons, including security (out of process model), performance and memory management. Whether Apple would deprecate UIWebView
is not something anyone can answer but Apple, however considering the many limitations there currently are (some partially solved in WebKit2 source repository for future iOS WK2 framework inclusion), my educated guess would be that UIWebView
is here to stay for different needs. And considering both WebKitLegacy and WebKit2 (now renamed WebKit) frameworks reference the same implementation frameworks (WebCore, JSCore, etc.), it would not require a lot of work to keep UIWebView
alive.
According to Xcode 9, UIWebView
is deprecated. ð¤·♂️
And a documentation message reads:
Legacy UIWebView for support of older macOS platforms. Prefer using WKWebView if possible.
Updated: UIWebView is deprecated for real now in iOS 12. https://developer.apple.com/documentation/uikit/uiwebview