UIWebView를 사용하지 않는 이유 및 WKWebView를 사용하지 않는 이유

iOS 버전 Google Chrome ver480이(가) UIWebView에서 WKWebView(2016/01/28)로 이동합니다.이 업데이트에 따르면 그때까지 붕괴율이 70% 감소하고 자바스크립트의 실행 속도도 대폭 높아졌다고 적혀 있다.2015년 말 발표된 iOS 버전 Firefox에도 WKWebView가 사용됐다.
주요 응용 프로그램은 WKWebView 프로세스를 사용합니다.자신의 응용 프로그램에서 UIWebView를 사용하는 경우에도 WKWebView로 이동하는 것을 고려할 수 있습니다.제가 WKWebView를 사용한 브라우저 앱을 발표했고 15개월 이상 사용했는데 그중에 눈에 띄는 것도 적어 놓았습니다.

원인 1 붕괴율


UIWebView에는 개발자 수준으로는 해결할 수 없는 붕괴 문제가 잠재되어 있다.특히 여러 UIWebView를 사용하는 응용에서 매우 현저하다.Google 개발자도 피할 수 없습니다.
한편, WKWebView에서는 이런 억지 붕괴 문제와 인연이 없다.크롬은 붕괴율 70%를 삭감했지만, 나머지 30%도 기본적으로 WKWebView 자체에는 문제가 없고 실현 방법과 다른 부분의 것이죠.
UIWebView/WKWebView는 메모리를 많이 소모하지만 사용하는 메모리 영역은 다르다.UIWebView는 각 응용 프로그램의 저장 영역에 존재하고 WKWebView는 응용 프로그램 이외의 영역에 존재한다.따라서 Xcode로 WKWebView의 메모리 양을 측정할 수 없습니다.
그나저나 웹뷰를 자주 이용하는 앱은 최신 2GB 이상의 메모리가 탑재된 아이폰/아이패드에서 손쉽게 조작할 수 있다.

이유 2 보안


이미 UIWebView가 있지만 애플이 WKWebView를 공개한 가장 큰 이유는 여기에 있다.
UIWebView의 연결 주소는 다른 통신 관련 API를 통해 작동할 수 있습니다.따라서 개발자가 악의가 있다면 통신 주소를 교환하거나 완전히 차단할 수 있다.
WKWebView는 통신 관련 API에서 작동할 수 없습니다.크롬의 데이터 통신량 감축 기능이 폐지된 이유다.
iOS 9에서 새로운 App Transport Security 제한 사항이 추가되었습니다.추천하지는 않지만 브라우저 등 프로그램에서는 불특정 사이트를 많이 표시해야 하며 예외적으로 이 기능을 Off(info.plist:NSAppTransportSecurity)로 설정해야 한다.

이유3 장래성


초기 iOS에 UIWebView가 존재합니다.아직 Deprecated가 취소되지는 않았지만 WKWebView와 SFSafariViewController가 존재하는 지금도 애플은 앞으로도 계속 지원할 것인가?
브라우저에 가지 않더라도 사이트를 조금이라도 표시하려면 iOS 9에 등장하는 SFSafariViewController를 통해 따라잡을 수 있다.
WKWebView는 iOS 8에서도 기능이 부족하지만, iOS 9에도 기능이 포함돼 있다.
iOS 9WKWebView 주요 변경 사항 대략적
향후 iOS 버전에서는 추가 진화를 기대할 수 있다.

WKWebView 관련 링크


WKWebView가 걸려 넘어진 10가지 요약
iOS 어플리케이션이 WKWebView인지 UIWebView인지 판단하는 방법
GitHub ShingoFukuyama/WKWebViewTips
애플리케이션의 단일 및 OS 전체 스토리지 영역을 확인할 수 있는 툴

PR


Ohajiki Web Browser
WKWebView Express JavaScript 실행 환경의 기능을 사용하는 브라우저입니다.무료 버전도 있으니 꼭 시도해 보세요.모든 웹 페이지의 배경을 검게 만들고 특정 콘텐츠를 차단하는 등 자바스크립트의 실행 속도가 느린 UIWebView는 구현하기 어렵다는 점도 실용화했다.

좋은 웹페이지 즐겨찾기