모질라와 Web Components: 현황 보고

이 글은 가 쓴 Mozilla and Web Components: Update의 한국어 번역본입니다.

에디터 노트: 모질라는 오랫동안 표준화 활동에 참여해 왔습니다. 이 글은 표준을 논의하고 수립하는 현재 상황에 관한 보고입니다. 이 글의 목적은 Firefox 개발목표에 관심 있어하는 개발자들에게 미리 내용을 알리는 것입니다. 가능하다면 특히 자바스크립트 라이브러리와 프레임워크 개발자들로부터 피드백을 얻고 싶습니다.

모질라는 그동안 웹 컴포넌트(Web Components)를 개발하기 위해 노력해 왔습니다. 웹 컴포넌트는 HTML Imports, Custom Elements, Shadow DOM 기술로 이루어져 있습니다. 우리는 이제 Gaia에 구현한 웹 컴포넌트 기능을 테스트하는 단계에 이르렀습니다. Gaia는 Firefox OS의 프론트엔드(frontend)입니다. 표준화 과정에 모질라가 의견을 제시하더라도 항상 변화를 이끌어내는 것은 아닙니다. 불행히 웹 컴포넌트 기능도 표준화 과정의 문제로 인해 기능 출시에 문제가 있는 상황입니다. 그래서 우리는 모질라의 입장을 개발자 커뮤니티 멤버들과 함께 다시 조정하기로 결정했습니다.

우리는 Firefox에 웹 컴포넌트 기능을 출시하는 것과 관련해서 다음과 같은 임시적인 계획을 세웠습니다. 우리는 개발자 커뮤니티로부터 우리 계획에 대한 의견을 듣고 싶습니다. 웹 컴포넌트는 웹 플랫폼에 근본적인 변화를 가져옵니다. 그렇기 때문에 표준을 올바르게 만드는 것이 중요합니다. 우리는 웹 컴포넌트 표준을 올바르게 만들려면 JavaScript 라이브러리 개발자들이 힘들게 얻은 교훈을 활용해야 한다고 믿습니다.

  • 모질라는 HTML Imports 기능을 출시하지 않을 것입니다. 우리는 JavaScript Module 기능이 출시되면 HTML Imports 기능을 바라보는 관점이 바뀔 것이라고 생각합니다. JavaScript Module 기능은 개발자 커뮤니티가 만든 JavaScript 라이브러리들에 의해 정립된 기능입니다. 우리는 Gaia를 포함해서 여러 프로젝트들을 수행하면서 HTML Imports 기능이 없더라도 크게 문제될 것이 없는다는 사실을 알게됐습니다. 만약 지금 HTML Imports 기능이 필요하다면 폴리필(polyfill)을 이용해서 해결할 수 있습니다.
  • 모질라는 Custom Elements 기능을 출시할 것입니다. 컴포넌트 입장에서 라이프사이클을 공개하는 것은 매우 중요한 일입니다. 우리는 표준화 커뮤니티와 함께 콜백을 정의할 때 이름 충돌 방지를 위해 “Symbol-속성이름” 형태의 속성을 사용하도록 정할 것입니다. 우리는 또 정책적으로 서브클래싱 관련된 JavaScript의 최신 산출물 동향을 반영하고 콜백을 통해 엘리먼트의 라이프사이클을 충분히 서술할 수 있게 보장할 것입니다. 최소한 그런 방향으로 노력할 것입니다.
  • 모질라는 Shadow DOM 기능을 출시할 것입니다. 스타일 격리(style isolation) 개념과 이벤트 타겟 재설정(event retargeting) 개념을 분리해서 프레임워크 안에서 이벤트 위임(event delegation)이 가능해지려면 더 많은 작업이 필요하다고 생각합니다. 그래야 Selector 차원을 넘어서는 배포(distribution)가 가능해집니다. Gaia에서 이 기능을 확인할 수 있을 것입니다.

우리의 다음 단계는 이런 변화를 만들기 위해 표준화 커뮤니티와 협업하고, web-platform-tests의 테스트 커버리지가 충분한지 확인하고, 표준을 구현할 수 있을 정도로 충분히 자세하게 만드는 것입니다.

어떻게 생각하나요? 이 포스트에 댓글로 당신의 생각을 알려주세요. 아니면 public-webapps 표준 목록에 직접 의견을 남겨주셔도 좋습니다!

작성자: ingeeKim

"누구에게나 평등하고 자유로운 웹"에 공감하는 직장인.

ingeeKim가 작성한 문서들…


2 댓글

  1. ingeeKim

    Hacks 원글에 무척 많은 댓글이 달렸습니다. 대부분 표준대로 HTML Imports 기능을 넣어서 출시하라는 의견들이 압도적으로 많습니다.
    개인적으로는 좀 더 논의를 거쳐 <올바르게> 만들자는 모질라의 입장에 공감합니다. 서둘 필요 없다고 생각합니다.

    1월 1st, 2015 at 1:54 오후
  2. […] 일전에 이야기한 바와 같이, 모질라는 현재로서는 HTML Import를 구현할 계획이 없습니다. 이는 우선 모질라가 외부에 있는 재료를 가져오는 또다른 방법을 내놓기 전에 ES6의 module이 정립되는 양상을 지켜보고 싶기 때문입니다. 그리고 모질라는 HTML Import가 절실히 필요하다고 생각하고 있지 않습니다. […]

    8월 3rd, 2015 at 9:10 오전

댓글 쓰기