[iOS] WebView의 종류를 알아보자 !

eung7_·2022년 3월 12일
1

iOS

목록 보기
5/17
post-custom-banner

주로 뉴스나 여러 커뮤니티 앱을 보면 내장되어 있는 것이 바로 WebView이다. WebView는 주로 특정 앱을 실행하고 하이퍼링크나 정보성 글을 클릭했을 때 보여진다. 이건 말 안해도 자주 사용해 보셨을 것이기 때문에 익숙할 것이라고 생각한다. 그럼 WebView의 종류와 그 쓰임새를 알아보자.

WebView의 종류?

iOS에는 WebView를 구현할 수 있는 방법이 총 3가지가 있다.

  1. UIWebView
  2. SFSafariView
  3. WKWebView

결론부터 말하자면 특별한 경우가 아닌 이상, WKWebView를 사용하면 된다. 그럼 하나씩 어떤 차이점이 있는지 알아보자.

UIWebView

UIWebView는 일단 출시된지 너~무 오래됐다. iOS 2.0부터 쓰여왔기 때문에... 한국에 처음 출시된 아이폰 3gs에서 쓰였던 WebView라고 생각하면 될 것 같다. 일단 성능적인 부분에서 많이 부족하고, 복합적인 측면에서 WebView는 사용을 안 하는 것이 좋을 것 같다.

이 사실을 알고 있는 Apple의 공식문서에서는 WebView를 Deprecated해서 개발자들의 사용을 막아두고 있다.

WKWebView

가장 많이 사용되고 있는 것은 WKWebView이다. WKWebView는 iOS 8.0부터 꾸준하게 사용되어 오고 있는 WebView이다. 일반적으로 위에서 설명했던 UIWebView보다 성능이 좋다. WKWebView에는 또다른 장점이 있는데, 바로

웹 페이지에서 할당하는 메모리는 앱과 별도의 스레드에서 관리

즉 웹 페이지는 앱 메모리와 별도로 동작하기 때문에 웹 페이지의 메모리가 아무리 크더라도 앱이 죽지 않는다고 볼 수 있다.

SFSafariView

마지막으로 SFSafariView이다. iOS 9.0부터 사용되기 시작했으며, 이름에서 볼 수 있는 것처럼 Safari를 이용하는 WebView이다. 사용자가 어떤 웹 페이지에 들어가면, Safari에서 웹 페이지를 구동하는 것과 같은 똑같은 화면이 구현된다. WKWebView에서는 단순 웹 페이지 하나만 보여주는 역할을 한다고 하면, SFSafariView는 사파리의 기능을 이용할 수가 있어서 더욱 다양한 동작들을 수행할 수 있게 된다. 여기서 또 주목할 점은

기존 아이폰의 Safari 쿠키, 데이터 등을 공유할 수 있다.

라는 점이다. 앱 내에서 SFSafariView를 열어도 기존에 내가 사용하던 Safari의 쿠키와 데이터를 공유할 수 있다는 장점?이 있다.


지금 까지 WebView 종류에 대해서 살펴봤다. 주로 사용하는 것은 WKWebView와 SFSafariView인 것을 확인했다. 일반적으로 사용하는 것은 WKWebView이지만 "나는 웹 페이지에서 좀 더 복잡한 기능들을 사용자가 했으면 좋겠다!" 라고 한다면 SFSafariView도 좋은 선택지가 될 것 같다 !

profile
안녕하세요. SW Engineer eung7입니다.
post-custom-banner

0개의 댓글