W3C 권고 후보안으로 급부상 중인 웹 성능 API

새로운 세 가지 W3C 웹 성능 작업 그룹 규격이 W3C 권고안으로 채택되었음을 알려드립니다. 웹 속도를 높이기 위해 웹 응용 프로그램의 성능 특성을 정확하게 측정하는 것은 매우 중요하며, 개발자들은 응용 프로그램의 성능을 향상시키기 위해 기본 하드웨어를 사용할 필요가 있습니다. 이를 위해 지난 2년간 Microsoft, Google, Mozilla, Intel, Facebook 등은 W3C 작업 그룹을 통해 이러한 목표를 달성하고자 노력했습니다. 이는 업계와 커뮤니티가 W3C를 위해 함께 힘을 모을 때 어떤 일들이 가능한지를 보여주는 좋은 예입니다.

앞으로는 탐색 타이밍, 리소스 타이밍, 사용자 타이밍성능 시간 표시줄 규격을 활용하여 웹 응용 프로그램의 성능을 정확하게 측정할 수 있습니다. 최초로 선보이는 이 세 가지 규격은 개발자들에게 문서 탐색, 페이지 리소스, 개발자 스크립트와 관련된 정보를 제공합니다. 그중에서 성능 시간 표시줄 규격은 이 타이밍 데이터를 검색하는 통합 인터페이스를 정의합니다. 이러한 API들이 있기 전에는 개발자들이 사이트의 성능을 정확하게 측정할 수 없었습니다.

이러한 성능 메트릭이 최대한 가장 정확한 방법으로 측정되는지 확인하기 위해 고분해능 시간 규격은 1,000분의 1초보다 빠른 서브 밀리초의 클럭 분해능을 정의합니다. 이 인터페이스는 성능 메트릭의 정확한 측정이 가능하다는 장점뿐만 아니라 프레임 속도 계산, 애니메이션 동기화, 오디오 신호 측면에서도 더 나은 프레임을 제공합니다. 이에 따라 개발자들은 서브 밀리초의 정확성으로 작업을 측정할 수 있게 되었습니다.

또한 페이지 표시, 스크립트 기반 애니메이션의 타이밍 제어효율적인 스크립트 일드 규격을 통해 개발자들은 CPU 효율과 전원 효율이 더 뛰어난 웹 응용 프로그램을 개발할 수 있습니다. 페이지 표시 API는 페이지의 현재 표시 상태를 프로그래밍 방식으로 결정할 수 있게 해줍니다. 따라서 개발자들은 이 데이터를 사용하여 CPU 효율과 전원 효율을 향상시키는 방법(예: 이 페이지가 배경 탭에 있을 때 작업 속도를 낮추는 것 등)을 선택할 수 있습니다. 스크립트 기반 애니메이션의 타이밍 제어 규격에서 비롯된 requestAnimationFrame API에서는 보다 효율적인 JavaScript 애니메이션 생성이 가능합니다. 마지막으로 효율적인 스크립트 일드 규격의 setImmediate API는 개발자들이 제어 흐름을 효율적으로 사용자 에이전트에 일드하고 바로 콜백을 받으며 CPU를 활용할 수 있게 해줍니다.

웹 개발자들이 코드를 한 번만 작성하면 모든 브라우저에서 상호 운용이 가능하도록 하기 위해 지난 2년간 W3C 작업 그룹은 이러한 API를 표준화하는 데 많은 노력을 기울여 왔습니다. 최근에 이 작업 그룹에서 수정한 모든 규격의 기술 성숙 단계는 아래 표에서 확인할 수 있습니다.

규격 편집자 초안 첫 번째 공개 작업 초안 마지막 호출 마지막 호출 2 권고 후보안 제안 권고안 권고안
탐색 타이밍 2010년 9월 2010년 10월 2011년 1월 2011년 2월 2012년 7월
리소스 타이밍 2010년 9월 2011년 5월 2011년 6월 2012년 5월
사용자 타이밍 2010년 10월 2011년 8월 2011년 8월 2012년 5월 2012년 7월
성능 시간 표시줄 2011년 7월 2011년 8월 2011년 8월 2012년 5월 2012년 7월
고분해능 시간 2012년 3월 2012년 3월 2012년 3월 2012년 5월
페이지 표시 유형 2010년 4월 2011년 6월 2011년 7월 2012년 7월
그림판 알림 표시 2011년 5월 2011년 6월 2012년 2월
효율적인 스크립트 일드 2011년 6월
탐색 타이밍 2(최신) 2012년 4월 2012년 5월

W3C 웹 성능 규격의 상태를 보여주는 표

현재까지 탐색 타이밍 규격은 제안 권고안(PR)으로 게시되어 있습니다. 이 표준화 단계는 웹 표준이 공식 W3C 권고안이 되는 마지막 단계입니다. 또한 이 인터페이스는 Internet Explorer 9, Chrome 6, Firefox 7을 비롯한 다양한 브라우저에 채택되고 있습니다. 최근 W3C 작업 그룹은 그동안의 피드백을 종합적으로 검토하면서 차세대 규격인 탐색 타이밍 2의 개발에 박차를 가하고 있습니다.

현재 사용자 타이밍, 성능 시간 표시줄, 페이지 표시 규격은 권고 후보안(CR) 단계에 있습니다. 권고 후보안 단계는 PR의 전 단계로, 이 표준화 단계에 진입했다는 것은 W3C에서 이 규격을 면밀히 검토했으며 이 작업 그룹의 기술적 요건을 충족한다는 것을 의미합니다. 리소스 타이밍도 불과 두 달 전에 CR로 채택되었으며, 고분해능 시간 역시 3개월 만에 편집자 초안에서 CR로 상향되었습니다.

이러한 API들은 새로운 아이디어가 얼마나 빠르게 상호 운용성 표준(개발자가 최신 HTML5 지원 브라우저에 의존할 수 있는)이 될 수 있는가를 보여주는 훌륭한 예입니다. 이 모든 API를 설계할 수 있도록 도와준 W3C 웹 성능 작업 그룹, 그리고 상호 운용성에 대한 선견지명을 가지고 이러한 API의 구현을 시작한 브라우저 공급업체들에게 감사의 말씀을 드립니다.

- IE 성능 프로그램 관리자, Jatinder Mann