Firefox 와 XUL


발생일: 2013.04.17

키워드: Firefox, 파이어폭스, Gaia, XUL, zool

문제:
무엇 때문이었는지 잘 생각이 나지 않지만, `XUL`에 대해 알아보면서 정리해뒀던 메모다.


브라우저의 렌더링 엔진으로 웹킷이 대세임에도,

파이어폭스에서 웹킷을 도입하지 않는 이유에 대한 인터뷰가 인상적이었다.


노트를 정리하다가 발견해서 옮겨둔다.



해결책:

Gaia

- https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Platform/Gaia

- Firefox OS 의 유저 인터페이스 레이어

- 단순히 Gecko로 구현된 표준 웹 API를 사용해 운영체제에 접근할 수 있는 인터페이스일 뿐이다. 

  (참고로, Gecko는 레이아웃 엔진. HTML, CSS, XUL, JavaScript 같은 웹 컨텐츠를 읽어서 유저 스크린에 렌더링하거나 프린트한다.)

- HTML, CSS, JavaScript로 구현되어 있다.

- Firefox OS 디바이스 뿐만 아니라 다른 운영체제나 웹 브라우저에서도 실행할 수 있다.



XUL

- http://en.wikipedia.org/wiki/XUL


XUL('zool'이라고 발음한다)는 XML User Interface Language 의 약자로,

모질라 프로젝트에서 개발한 유저 인터페이스 마크업 언어이다.

이름처럼 XML 형태이며, Gecko 엔진으로 크로스 플랫폼을 지원하는 애플리케이션의 UI를 구현할 수 있다.

실제로, 파이어폭스의 UI 영역을 구현하는데 사용된 언어이기도 하다.

참고로, Webkit 에서는 XUL 언어를 통한 렌더링을 지원하지 않는다.


XUL로 애플리케이션을 개발할 수 있는 런타임 환경인 XULRunner(http://en.wikipedia.org/wiki/XULRunner) 가 있다.



https://developer.mozilla.org/en-US/docs/The_Joy_of_XUL





파이어폭스가 웹킷 엔진을 사용하지 않는 이유

http://browserfame.com/363/why-mozilla-gecko-will-not-adopt-webkit


1. 브라우저 시장의 경쟁을 유지해야 한다.

개발자들이 '웹킷 사이트'가 아닌 '웹 사이트'를 개발하도록 하기 위함이다.

(오래 전 브라우저에 IE만 있었던 걸 떠올려보자)


2. 파이어폭스의 UI는 XUL로 작성되어 있는데, 웹킷은 XUL 렌더링을 지원하지 않는다.

웹킷으로 바꾸면 전체 UI를 재작성해야 한다.


3. 대부분의 파이어폭스와 파이어폭스 애드온(add-on) 애플리케이션은 자바스크립트로 작성되어 있고,

최신 자바스크립트 표준을 구현하고 있는 Gecko와 Spidermonkey 엔진을 활용하고 있다.

이 기능 중 웹킷에 구현되어 있지 않은 것들도 있기 때문에, 파이어폭스를 웹킷으로 구현하게 되면

다른 애플리케이션도 모두 새로 작성되어야 한다.


4. 웹킷은 브라우저 엔진을 다른 애플리케이션에 포함해 확장하기 쉽게 설계한 반면,

겍코는 브라우저와 브라우저 엔진을 커스터마이징하기 쉽게 설계되어 있다.

파이어폭스 애드온 생태계는 XUL을 포함한 겍코 API로 구현되어 있기 때문에 웹킷 애드온과는 다르다.

파이어폭스를 웹킷으로 바꾼다면 이 역시 모두 새로 작성해야 한다.



http://www.xul.fr/mozilla/gecko-or-webkit.php

https://brendaneich.com/2013/02/why-mozilla-matters/




카테고리

분류 전체보기 (710)
About me. (6)
Daylogs (675)
영어공부 (0)
My works - 추억 (29)
비공개 (0)