Framework: WebKit

Overview: Use the WebKit framework to integrate richly(화려하게, 풍성하게) styled web content into your app’s native content. WebKit offers a full browsing experience for your content, offering a platform-native view and supporting classes to:

Present a WKWebView object from your custom view hierarchies and load the content you want to display. (커스텀 뷰 계층에서 WKWebView 객체를 표시하고 표시하려는 콘텐츠 로드)

Use Supporting objects to manage cookies, evaluate scripts, control navigation, generate snapshots, and perform text-based searches. (쿠키, 스크립트, 탐색, 스냅샷, 검색 기능 지원)

Always call WebKit functions and methods from your app’s main thread or main dispatch queue.(WebKit 함수와 메소드는 메인 스레드, 메인 디스패치 큐에서 호출 할 것)

WKWebView tend to be asynchronous, while the methods of UIWebView were synchronous. 둘의 가장 큰 차이는 동기와 비동기

WKWebView는 WebKit2를 기반으로 하여, 성능과 메모리 사용 효율이 크게 높아져 콘텐츠 로드와 렌더링하는 속도가 더 빠름.

또한, WKWebView는 멀티 스레드를 지원하여 비동기가 가능합니다. ’load(_:completionHandler:)’

UIWebView는 비동기를 지원하지 않지만 가능은 하게 할수있습니다. GCD, NSOperationQueue를 사용하여 백그라운드 스레드 수행하여 처리하는 방식은 있지만 제체 비동기 API는 없습니다.

Consider WebKit

 **SFSafariViewController**

ASWebAuthenticationSession

MKMapView

WKWebView

WKNavigationDelegate