홍로그

UIWebView, WKWebView, SFSafariView 차이 본문

iOS

UIWebView, WKWebView, SFSafariView 차이

성홍민 2022. 10. 25. 17:08

   UIWebView   

  • 현재는 Deprecated 된 상태
  • UIKit 프레임워크의 일부
  • 페이지 크기 조절 가능
  • 약 3500개의 개체를 렌더링
  • 90% CPU를 사용하여 렌더링
  • 데이터가 쿠키에 저장되므로 다음 로딩 시간은 이전에 비해 적음
  • 프로세스 내에서 실행. 웹에서 사용하는 메모리가 앱 사용 공간의 일부로 간주
  • iOS에서 할당하려는 값을 초과하면 앱 자체가 운영체제에 의해 손상됨

   WKWebView   

  • WebKit 프레임워크
  • 약 8500개의 개체를 렌더링함으로써 UIWebView보다 두배이상의 성능
  • 25% CPU를 사용하여 렌더링
  • 데이터가 쿠키에 저장되지 않아 항상 로딩시간이 동일함
  • 프로레스를 벗어나 별도의 스레드에서 실행하기 때문에 할당량을 초과해도 앱이 죽지 않음. (앱이 알림을 받고 페이지를 다시 로드하려고 시도함.)
  • 서버 인증 문제를 지원함. 암호로 보호 된 웹 사이트의 사이트 자격 증명을 입력할 수 있음.

   SFSafariView   

  • SafariServices 프레임워크
  • 뒤로가기/ 앞으로 가기/ 공유 버튼 등 사파리의 기능을 이용할 수 있어서 더욱 다양한 동작들을 수행
  • 웹주소 텍스트 필드를 편집할 수 없음
  • https를 사용하여 페이지를 안전하게 로드할 때 잠금 아이콘을 표시
  • 피싱이 의심되는 페이즈를 로드 할 때 경고 메시지 표시
  • iCloud 키 체인에서 중요한 정보와 자격 증명을 안전하게 자동 완성 가능기존 아이폰의 safari 쿠키, 데이터 등을 공유

     UIWebView       WKWebView       SFSafariView   
Apple에서 권장하는
컨텐츠 차단
JavaScript Nitro Engine
기능 제어 권한
UI / UX 앱 사용자화

 

 

 

 

반응형

'iOS' 카테고리의 다른 글

inout / mutating  (2) 2023.05.26
Swift final을 쓰는 이유  (0) 2022.11.01
메모리 순환 참조 방식 ( Strong, Weak, Unowned )  (2) 2021.04.18
iOS ARC (Automatic Reference Counting)  (0) 2021.04.18
UIViewController LifeCycle  (0) 2021.01.28