티스토리 뷰

Mobile/iOS

WKWebView와 UIWebView의 차이점 비교

out of coding 2018. 4. 4. 21:39

iOS8 부터는 WKWebView를 사용할수 있습니다.

심지어 xcode에서는 현재 deprecate 되었습니다. xcode9 기준...


그렇지만 스토리보드에서 바로 붙여서 사용하려고 하면 오류가 발생하죠.


어쩔수 없이 코드에서 붙여서 사용하면 되는데, container를 하나만 붙여서 사용하면 되니까 문제는 없을것 같네요.


특징


1. iOS8부터 지원을 합니다. 요즘은 웬만하면 9부터 앱을 만드니까 상관없겠죠?


2. WebKit을 import하여야 사용이 가능합니다.


3. IndexedDB 및 ObjectStore ArrayBuffer와 같은 기능을 제공합니다.


4. WKWebView는 약 8500개의 개체를 렌더링하지만 UIWebView는 약 3500개의 개체를 렌더링한다고 합니다. 성능이 두배정도 좋습니다. 실제로 써보세요 정말 빠릅니다.


5. WKWebView는 25%, UIWebView는 90% 의 CPU를 이용하여 렌더링을 진행합니다.


6. 로컬파일을 로드 가능합니다. (다른 의미로는 UIWebView도 가능합니다.)


7. 쿠키의 캐싱 기능이 없어서 항상 동일한 성능의 페이지 로드 시간을 가집니다. UIWebView는 한 번 로드된 페이지는 캐싱한다고 하네요. UIWebView는 저장된 페이지를 부를때는 속도가 더 빠릅니다.


8. WKWebView는 프로세스를 벗어나 실행이 된다고 합니다. 앱이 구동될때는 각기의 할당된 용량이 있기 마련인데, WKWebView는 다른 메모리에서 동작을 하므로 앱이 종료가 되지 않고 페이지를 다시 로드하려고 시도한다고 합니다. (당해본적이 없습니다.)


9. JS Engine로 Nitro를 사용합니다.


10. JS를 비동기적으로 처리한다고 합니다.


11. 서버 인증 문제를 지원한다고 합니다. 실질적으로 WKWebView를 사용할 때 암호로 보호 된 웹 사이트의 사이트 자격 증명을 입력 할 수 있음을 의미한다고 하네요.


12. 오류가 있는 인증서 사용 가능. 보안 인증서가 만약 오류가 있을 경우에 팝업등을 노출하여서 사용이 가능하도록 만들수 있다고 합니다. 하지만 권장하지는 않을것 같네요.


단점


항상 좋은 기능만 제공을 하는것은 아니겠죠.

단점도 있습니다.


1. iOS8 이상 필요.


그냥 이 부분은 7이하 앱을 개발하는 불쌍한 개발자들에게는 필요가 없겠네요.


2. Local File의 AJAX 요청을 지원하지 않습니다.


크로스도메인을 허용하지 않는 문제로 인하여 이부분은 당연히 안된다고 합니다. 뭐... 서버에서 수정을 하는 방법이 있겠죠.


3. 쿠키 허용 설정을 지원하지 않습니다.


4. 고급 캐시 설정 기능을 지원하지 않습니다.


5. 앱 종료시 HTML5 로컬 스토리지가 지워짐.


- 이 부분은 혹시나 찾게 되면 내용을 추가하도록 하겠습니다.


참고로 이 자료는 제가 작성한게 아니라 참고를 하였습니다.

다른점이나 틀린점은 찾는대로 수정해서 올릴게요.


참고 : https://docs.kioskproapp.com/article/840-wkwebview-supported-features-known-issues

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함