테크레시피

사파리 16.4, 웹킷에 135개 항목‧280개 업데이트 추가

애플은 iOS 16, 아이패드OS 16, 맥OS 벤추라, 맥OS 몬테레이, 맥OS 빙 서용 사파리 16.4를 3월 28일 출시했다. 사파리 16.4 렌더링 엔진인 웹킷(WebKit) 업데이트 내용을 애플 웹킷 개발진이 정리했다.

이에 따르면 먼저 iOS 16.4에선 웹 푸시 알림을 사용할 수 있어 2월 공지한 대로 웹사이트에서 사용자에게 알림을 보낼 수 있다. 다음으로 배징(Badging) API 지원이 추가되어 웹앱에서도 앱 위에 알림 수를 표시하는 배지 수를 표시할 수 있다. 또 타사 웹브라우저에서 공유 메뉴에서 홈 화면에 추가를 선택하면 웹사이트 바로가기 아이콘을 추가할 수 있게 된다.

다음은 웹 콤포넌트 개선. 선언형 셰도우 DOM(Declarative Shadow DOM) 지원을 추가해 개발자는 자바스크립트를 이용하지 않고 섀도우 DOM을 정의할 수 있다. 또 임퍼랙티브 슬롯 API(Imperative Slot API)가 지원되면서 개발자는 자바스크립트로 슬롯에 할당된 노드를 지정해 유연성을 높일 수 있다.

또 마진-트림(margin-trim)에 의한 여백 조정, 타이포그래피나 CSS 프로퍼티 커스터마이징성 향상, 상대 컬러 구분이나 웹애니메이션 지원 추가, 미디어 쿼리 구문 개선 등이 이뤄졌다. 여기에 동영상 등 삽입에 사용되는 인라인 프레임을 개선했고 사파리 16.4부터는 정규 표현 후독이 가능하게 되는 기능(RegExp Lookbehind), 자바스크립트로 취득하는 모듈 URL을 제어할 수 있는 자바스크립트 임포트 맵스(JavaScript Import Maps) 등에 대응했다.

다음으로 API(OffscreenCanvas, Full Screen, ScreenOrientation, 화면 시작 잠금, UserActivation, Compression Streams) 지원이 추가됐다. 또 WebGL 캔버스가 디스플레이 P3 넓은 색영역을 지원한다.

이어 영상 편집이나 화상 회의, 영상 실시간 처리를 실시하는 애플리케이션에 도움이 되는 API(WebCodecs API) 영상 부분 지원이 추가됐다. 사파리 16.4에선 영상 회의 음성 품질 향상과 AV캡처(AVCapture) 가상 카메라 지원 추가 등이 추가됐다.

iOS와 아이패드OS 16.4 WKWebView에서 사용되는 WKPreference에서 인쇄할 때 페이지 배경을 포함하도록 선택하는 API(shouldPrintBackgrounds API) 지원이 추가됐다. 또 해당 도구(WKWebView 또는 JSContext)를 지원하는 모든 플랫폼에서 새로운 속성(isInspectable)을 사용할 수 있다. 기본값은 꺼져 있지만 켜면 앱 릴리스 빌드에서도 웹 인스펙터(Web Inspector)를 이용해 콘텐츠를 검사할 수 있도록 하는 옵션을 쓸 수 있다. 또 사파리 16.4를 사파리드라이버(safaridriver)로 자동화할 때 섀도우 루트 요소를 가져오는 명령과 요소 역할과 레이블을 가져오는 접근성 명령이 지원됐다.

웹 인스펙터에 타이포그래피 검사 기능도 추가됐다. 적절한 스타일을 제공하지 않는 폰트에 대해 렌더링 엔진이 이런 스타일을 생성해야 하는 경우 경고가 표시된다. 또 CSS 추가 도구와 HTML 요소에 배지를 추가할 수 있는 기능도 더했다. 이를 통해 타사 강력한 프레임워크 서비스를 이용하고 개발할 때 도움이 될 것으로 기대된다.

넷 리퀘스트(Net Request) API 기능도 향상됐다. 또 확장 기능 아이콘으로 SVG 이미지가 지원되는 것 외에 API(scripting.registerContentScript API) 지원을 도입해 개발자는 프로그래밍 방식으로 등록, 업데이트, 삭제할 수 있는 동적 콘텐츠 스크립트를 작성할 수 있다.

또 사파리 콘텐츠 블로커 룰로 ‘:has()’ 셀렉터를 지원해 콘텐츠 블록 가능성이 크게 퍼졌다고 한다. 개발자는 웹페이지 특정 부분을 타깃팅하는 것보다 정확한 규칙을 만들 수 있어 사용자 브라우징 경험을 유지하면서 원하지 않는 콘텐츠를 차단할 수 있다. 다음으로 사이버 공격 표적이 됐을 때 기기 기능을 엄격하게 제한하는 락다운 모드로 뮤효로 하는 API가 추가됐다.

사파리 16.4에선 텍스트 파일 다크 모드를 지원한다. 또 ‘data: 혹은 about:’로 시작하는 URL 리디렉션을 방지한다. 그 밖에 사파리 16.4 웹킷은 다양하 버그를 수정하고 피드백을 제공한다. 관련 내용은 이곳에서 확인할 수 있다.

정용환 기자

대기업을 다니다 기술에 눈을 떠 글쟁이로 전향한 빵덕후. 새로운 기술과 스타트업을 만나는 즐거움을 독자들과 함께 나누고 싶습니다.

뉴스레터 구독