게코 (소프트웨어)
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
게코는 1997년 넷스케이프가 디지털스타일을 인수하면서 개발이 시작된 레이아웃 엔진이다. 넷스케이프 네비게이터의 느린 성능과 웹 표준 미준수 문제를 해결하기 위해 개발되었으며, 1998년 모질라 프로젝트를 통해 오픈 소스로 공개되었다. 게코는 파이어폭스, 넷스케이프, 선더버드 등 다양한 웹 브라우저와 소프트웨어에 사용되었으며, 2016년에는 성능 개선을 위한 퀀텀 프로젝트가 시작되었다. 퀀텀 프로젝트는 서보 기술을 통합하여 CSS, 렌더링, 컴포지터 등 다양한 구성 요소를 개선했으며, 안드로이드 환경에서의 재사용성을 높이기 위해 게코뷰 프로젝트도 진행되었다.
더 읽어볼만한 페이지
- 레이아웃 엔진 - 웹킷
웹킷은 KDE의 KHTML에서 시작된 오픈 소스 웹 브라우저 엔진으로, 애플 Safari 브라우저의 렌더링 엔진으로 사용되면서 다양한 운영체제와 플랫폼으로 이식되어 HTML5, CSS3 등 최신 웹 표준을 지원한다. - 레이아웃 엔진 - 브라우저 엔진
브라우저 엔진은 웹 페이지의 레이아웃을 지정하고 시각적 표현을 계산하여 화면에 표시하는 소프트웨어 구성 요소이다. - 게코 기반 소프트웨어 - 시몽키
시몽키는 웹 브라우저, 이메일 클라이언트, HTML 편집기, IRC 클라이언트를 통합한 오픈 소스 인터넷 스위트이며, 모질라 애플리케이션 스위트의 개발 중단 후 시몽키 위원회가 이어받아 개발하고 파이어폭스와 동일한 게코 엔진을 사용한다. - 게코 기반 소프트웨어 - 플로크
플로크는 소셜 네트워킹 및 미디어 서비스를 통합한 웹 브라우저로, 다양한 서비스 지원, 텍스트/미디어 공유, 피드 구독 등의 기능을 제공했으나 2011년 징가에 인수된 후 지원이 종료되었다. - 넷스케이프 - 제임스 H. 클라크
제임스 H. 클라크는 3D 시각화 및 컴퓨터 그래픽스 분야의 미국 컴퓨터 과학자이자 기업가로, SGI와 넷스케이프 창업을 통해 실리콘 밸리의 인터넷 붐을 이끌었으며 다양한 분야에서 기업 설립 및 사회 공헌 활동을 하고 있다. - 넷스케이프 - NPAPI
NPAPI는 웹 브라우저 플러그인이 브라우저와 상호 작용하는 인터페이스였으나, 새로운 웹 표준 등장, API 노후화, 보안 문제로 쇠퇴하여 주요 브라우저들이 지원을 중단했고, 대한민국에서는 액티브X 대안으로 고려되다 HTML5 전환으로 과도기적인 기술로 사용되었다.
| 게코 (소프트웨어) - [IT 관련 정보]에 관한 문서 | |
|---|---|
| 개요 | |
| 종류 | 브라우저 엔진 |
| 개발 | 모질라 재단, 모질라 코퍼레이션, 어도비 시스템즈 및 기타 기여자 |
| 프로그래밍 언어 | C++, 자바스크립트, 러스트 |
| 라이선스 | MPL 2.0 |
| 웹사이트 | Gecko |
| 최초 공개 | 1998년 (NGLayout으로) |
| 최신 버전 | 125 |
| 최신 릴리스 날짜 | 2024년 5월 9일 |
2. 역사
게코는 1997년 넷스케이프 커뮤니케이션스가 디지털스타일을 인수하면서 개발이 시작되었다. 넷스케이프는 기존 넷스케이프 내비게이터 1.0부터 사용해오던 레이아웃 엔진이 인터넷 익스플로러의 레이아웃 엔진보다 느리고, W3C 표준을 준수하지 않으며, DHTML 지원 및 페이지를 새로 불러올 때 페이지 요소 재정렬 기능이 부족하다는 문제점을 인지하고 있었다.
새로운 레이아웃 엔진은 처음에는 랩터(Raptor)라고 불렸으나 상표권 문제로 NGLayout(Next Generation Layout)으로, 이후 다시 게코로 이름이 변경되었다. 게코는 넷스케이프 커뮤니케이터에 탑재될 예정이었으며, 개발되는 동안 기존 레이아웃 엔진을 사용하는 판이 몇 개 더 출시되었다.
1998년 모질라 프로젝트가 시작되면서 게코는 오픈 소스 라이선스로 공개되었다. 같은 해 10월, 넷스케이프는 차기 브라우저에 게코를 탑재할 것이라고 발표했다. 그러나 개발자들은 6개월이라는 촉박한 일정에 불만을 품었고, 넷스케이프 커뮤니케이터 5.0을 위해 준비했던 기존 엔진 개선 작업(마리너)을 포기해야 했다.[11]
최초로 게코를 탑재한 넷스케이프 6은 2000년 11월에 출시되었다. 이후 게코는 아메리카 온라인의 콤퓨서브 7.0, 맥 OS X용 AOL 등에 탑재되었으나, 마이크로소프트 윈도우판 AOL에는 일부 베타판을 제외하고는 탑재되지 않았다.
2003년 7월 15일, 아메리카 온라인은 게코 개발에서 손을 뗐고, 같은 날 설립된 모질라 재단이 게코 개발을 이어받았다. 넷스케이프 시절, 게코는 기술적, 관리적 문제로 소프트웨어 비대화 현상을 겪었다.[11][13][12] 이로 인해 애플은 2001년 게코 대신 KHTML을 포크하여 사파리 브라우저용 웹킷 엔진을 만들기도 했다.[13][12] 그러나 2008년까지 모질라는 비대화 문제를 해결하고 게코의 성능을 크게 개선했다.[14]
2016년 10월, 모질라는 퀀텀 프로젝트를 발표했다. 이는 서보 프로젝트의 기술을 게코에 통합하는 것을 포함했다.[15][16] 2017년 11월 출시된 파이어폭스 57(파이어폭스 퀀텀)은 퀀텀 프로젝트의 주요 구성 요소가 활성화된 최초의 버전이었다.
2018년 9월, 모질라는 게코뷰를 발표했다. 이는 게코를 안드로이드에서 쉽게 사용할 수 있도록 하는 라이브러리였다. 파이어폭스 포커스 7.0,[17] 파이어폭스 리얼리티 등이 게코뷰를 사용했다.[18] 2019년 6월에는 게코뷰 기반의 파이어폭스 프리뷰 프로젝트가 발표되었고,[20] 2020년 8월 파이어폭스 for 안드로이드 79(파이어폭스 데이라이트)가 출시되었다.[21]
게코의 버전별 주요 내용은 다음과 같다.
| 버전 | 주요 내용 |
|---|---|
| 0.6 | 넷스케이프 6에 탑재 |
| 1.8 | CSS 등의 오류 감지 기능 구현, canvas 요소 지원 |
| 1.8.1 | 파이어폭스/썬더버드 2.0, 시몽키 1.1, 넷스케이프 네비게이터 9, 카미노 1.5 및 1.6에 탑재 |
| 1.9 | 파이어폭스 3.0, 카미노 2.0에 탑재, 선버드 0.3에 알파판 탑재, Acid2 통과, WSDL 및 SOAP 네이티브 지원 삭제 |
| 1.9.1 | 파이어폭스 3.5, 썬더버드 3.0, 시몽키 2.0에 탑재, CSS 3 일부 속성 및 HTML 5 일부 요소 지원 |
| 5.0 | 빠른 릴리스 사이클 채택 (6주마다 업데이트), 파이어폭스, 썬더버드와 버전 번호 통일 |
| 57 | 파이어폭스의 게코 컴포넌트가 세르보로 대체되기 시작[55] |
2. 1. 개발 초기 (넷스케이프 시대)
게코는 1997년 넷스케이프 커뮤니케이션스가 디지털스타일을 인수하면서 개발이 시작되었다.[10] 넷스케이프 내비게이터 1.0부터 사용된 기존 레이아웃 엔진은 느리고, W3C 표준을 준수하지 않았으며, DHTML 지원도 부족했다.[10] 이러한 문제점을 해결하기 위해 새로운 레이아웃 엔진 개발이 필요했다.새로운 레이아웃 엔진은 기존 엔진과 병행하여 개발되었으며, 초기에는 '랩터(Raptor)'라는 이름으로 불렸다.[10] 그러나 상표권 문제로 인해 'NGLayout'(Next Generation Layout, 차세대 레이아웃)으로 이름이 변경되었다.[10] 이후 넷스케이프는 NGLayout을 '게코(Gecko)'로 다시 이름을 바꾸었다.[10]
2. 2. 모질라 프로젝트와 오픈 소스
1998년 모질라 프로젝트가 시작되면서 게코는 오픈 소스 라이선스로 공개되었다. 처음에는 '랩터'(Raptor)라는 이름으로 공개되었으나, 상표 문제로 인해 'NG레이아웃'(Next Generation Layout, 차세대 레이아웃)으로 이름을 변경해야 했다. 넷스케이프는 나중에 NG레이아웃을 '게코'로 다시 상표화했다. 모질라 재단의 전신인 모질라 기구는 처음에 NG레이아웃 이름을 계속 사용했지만(게코는 넷스케이프의 상표였다),[10] 결국 게코라는 이름이 공식적으로 사용되었다.2. 3. 넷스케이프 6 이후
1998년 10월, 넷스케이프는 다음 브라우저에 게코(당시 NGLayout이라고 불렀음)를 레이아웃 엔진으로 사용할 것이라고 발표했다.[11] 이 결정은 웹 표준 지지자들에게는 좋은 소식이었지만, 넷스케이프 개발자들은 6개월이라는 짧은 시간 안에 브라우저를 다시 만들어야 했기 때문에 불만을 가졌다.[11] 또한 넷스케이프 커뮤니케이터 5.0을 위해 진행했던 대부분의 작업(기존 레이아웃 엔진의 마리너 개선 포함)을 포기해야 했다.최초로 게코를 탑재한 넷스케이프 6은 2000년 11월에 출시되었다(넷스케이프 5라는 이름은 사용되지 않았다). 게코 개발이 계속되면서, 다른 소프트웨어 회사들도 게코를 사용하기 시작했다. 넷스케이프의 모회사였던 아메리카 온라인은 콤퓨서브 7.0과 맥 OS X용 AOL에 게코를 탑재했다. 그러나 마이크로소프트 윈도우판 AOL에서는 몇몇 베타판을 제외하고는 게코가 사용되지 않았다.
2003년 7월 15일, 아메리카 온라인은 게코 개발에서 손을 뗐고, 그날 만들어진 모질라 재단이 게코를 관리하게 되었다.[11]
2. 4. 모질라 재단 설립 이후
2003년 7월 15일, 아메리카 온라인(AOL)은 게코 개발에서 손을 뗐고, 같은 날 설립된 모질라 재단이 게코 개발의 주요 관리자가 되었다.[10] 현재 게코는 모질라 코퍼레이션 직원, 모질라 프로젝트에 기여하는 회사 직원, 그리고 자원 봉사자들이 개발하고 있다.2. 5. 퀀텀 프로젝트
모질라는 2016년 10월, "파이어폭스 사용자를 위한 차세대 웹 엔진 구축"을 목표로 하는 퀀텀(Quantum) 프로젝트를 발표했다.[15][16] 이 프로젝트는 실험적인 서보 프로젝트에서 가져온 기술을 게코에 통합하여 성능을 향상시키는 것을 목표로 했다.파이어폭스 57 (파이어폭스 퀀텀)은 2017년 11월에 출시되었으며, 퀀텀/서보 프로젝트의 주요 구성 요소가 처음으로 도입된 버전이다.[15] 여기에는 CSS 및 GPU 렌더링 구성 요소의 성능 향상이 포함된다. 이후 버전에서도 서보의 기술 요소들이 게코에 점진적으로 통합될 예정이었다.[15]
2. 6. 게코뷰 프로젝트
2018년 9월, 모질라는 게코를 안드로이드에서 재사용할 수 있게 해주는 소프트웨어 라이브러리를 기반으로 하는 차세대 모바일 제품의 기반인 게코뷰(GeckoView)를 발표했다. 이는 게코를 다른 애플리케이션에 쉽게 임베드할 수 있도록 엔진 자체를 사용자 인터페이스로부터 분리하는 새로운 소프트웨어 개발 노력을 포함했다.[18] 같은 달에 출시된 파이어폭스 포커스 7.0은[17] 게코뷰를 도입한 최초의 버전으로, 페이지 로딩 중간 속도가 향상되었다.[18][19] 파이어폭스 리얼리티 또한 게코뷰로 제작되었다.[18] 2019년 6월, 모질라는 게코뷰를 사용하여 안드로이드 웹 브라우저를 구축하는 데 초점을 맞춘 진행 중인 프로젝트인 파이어폭스 프리뷰를 발표했다.[20] 2020년 8월에 처음 출시된 "파이어폭스 데이라이트"라고도 하는 파이어폭스 for 안드로이드 79는 게코뷰 엔진으로 구동되는 주요 구성 요소가 포함된 최초의 안정적인 릴리스이다.[21]3. 지원하는 표준
게코는 처음부터 열린 인터넷 표준을 지원하도록 설계되었다. 1.8 계열 이전에는 Web Standards Project가 CSS 2.1 테스트로 준비한 Acid2에 합격하지 못했지만, 1.9 계열부터는 합격했다.
3. 1. 주요 웹 표준
- HTML 4.0
- CSS 레벨 1 (CSS 2와 3의 경우 부분 지원. 더 자세한 정보는 모질라 CSS 지원 차트를 참조)
- CSS 레벨 3
- HTML5
- 자바스크립트 1.8 (ECMAScript)[22] (ECMAScript 2021 ES12, 스파이더몽키에서 구현)
- DOM 레벨 1, 2 (DOM 3의 경우 부분 지원)
- XML 1.0
- XHTML 1.0
- XHTML 1.1
- XSLT, XPath (TransforMiiX에서 구현)
- MathML
- XForms (공식 확장기능을 통해)
- RDF
- SVG 1.1(부분지원)[23]
3. 2. 기타 지원
4. 호환성
게코는 구형 넷스케이프 및 인터넷 익스플로러용 문서를 올바르게 표시하기 위해 '''DOCTYPE''' 전환을 지원하며, `marquee`나 `document.all` 같은 일부 인터넷 익스플로러 전용 명령도 지원한다. 다만, 일부 구형 넷스케이프용 문서에 대한 지원은 아직 완벽하지 않다.[24]
4. 1. DOCTYPE 전환
게코는 구형 넷스케이프 및 구형 인터넷 익스플로러용 문서를 바르게 볼 수 있도록 '''DOCTYPE''' 전환을 지원한다.[24] 웹 페이지를 지원하기 위해, 게코는 DOCTYPE 전환을 지원한다.[24] 최신 DOCTYPE을 가진 문서는 W3C 표준을 엄격히 따르는 표준 호환 모드로 렌더링된다.[24] DOCTYPE이 없거나 이전 DOCTYPE을 가진 문서는 쿼크 모드로 렌더링되며, 이는 넷스케이프 커뮤니케이터 4.x의 비표준적 특징 일부를 에뮬레이션한다.[24] 그러나 일부 4.x 기능 (예: 레이어)은 지원되지 않는다.[24]게코는 또한 marquee 요소 및 `document.all` 속성과 같은 일부 비표준 인터넷 익스플로러 기능에 대한 제한적인 지원을 제공한다 ( `document.all`을 명시적으로 테스트하는 페이지는 지원되지 않는다고 표시됨).[24]
4. 2. 인터넷 익스플로러 전용 기능 지원
게코는 `marquee` 요소 및 `document.all` 속성과 같은 일부 비표준 인터넷 익스플로러 기능에 대한 제한적인 지원을 제공한다 (`document.all`을 명시적으로 테스트하는 페이지는 지원되지 않는다고 표시됨).[24]5. 기술
Mozilla는 1998년 공개된 Netscape 5.0을 위해 개발 중이던 소스 코드를 기반으로 개발되었지만[54], 경량화를 위해 당시 인수했던 Digital Style사의 엔진을 기반으로 새롭게 작성되었다. 이것이 게코이다. 파싱 부분은 W3C의 권고에 부합하는 것을 목표로 제작되었다. 1.8 계열 이전에는 Web Standards Project가 CSS 2.1 테스트로 준비한 Acid2에 합격하지 못했지만, 1.9 계열부터는 합격했다.
5. 1. XUL (XML User Interface Language)
XUL은 애플리케이션의 GUI를 XML로 기술한 형식이다. 이벤트 핸들러를 사용하여 자바스크립트를 호출함으로써 HTML, 자바스크립트를 조합한 웹 애플리케이션과 같은 감각으로 네이티브 GUI에 가까운 애플리케이션을 제작할 수 있다. XUL은 애플리케이션으로 로컬에서 읽어올 수 있으며, 웹상의 파일이라도 표시할 수 있다. (단, 파일의 읽기/쓰기 등의 특권은 이용할 수 없다.)5. 2. 구성 요소
게코는 C++로 작성된 여러 컴포넌트들로 구성되어 있다. HTML, CSS 렌더링, 통신, 파일 읽기/쓰기 등의 API는 각각 컴포넌트화되어 있으며, 다른 C++ 코드에서 필요한 것만 호출할 수 있다. 또한, XPCOM을 통해 JavaScript 등 스크립트 언어에서도 이러한 API를 호출할 수 있다.[54] 파이어폭스 등의 XUL 애플리케이션에서 실제로 사용되고 있으며, XPCOM 대응으로 빌드된 JavaScript 셸에서도 사용할 수 있다.5. 3. 렌더링
게코는 HTML, CSS로 스타일이 지정된 HTML, MathML, SVG를 표시할 수 있다.[54]HTML 렌더링에는 복잡한 페인터 알고리즘이 사용된다. HTML이 CSS의 "상자" 그룹으로 변환되어 레이아웃이 결정되면, 렌더링 순서를 결정하는 목록을 구성하고, 목록이 만들어지면 실제로 렌더링이 수행된다.
렌더링 백엔드에는 카이로가 사용된다. 반투명, 곡선 렌더링 등에 해당 기술이 사용된다.
5. 4. 스크립트 엔진 (SpiderMonkey)
스크립트 처리 부분은 SpiderMonkey라고 불린다. SpiderMonkey는 ECMAScript 3을 준수한다. 파이어폭스에 탑재된 상태에서는 특권 관리를 통해 웹 페이지의 자바스크립트를 실행할 수 있을 뿐만 아니라, 브라우저 본체나 확장 기능을 자바스크립트로 작성할 수 있다. 애플리케이션 측에서도 웹 페이지의 자바스크립트 객체에 (간접적으로) 접근 가능하다. 2007년경부터 웹 애플리케이션의 보급으로 자바스크립트 성능이 화제가 되기 시작했는데, Gecko 1.9.1 (2008) 이후 JIT 방식의 자바스크립트 컴파일러/인터프리터(TraceMonkey)가 탑재되어 성능이 향상되었다.[55] Gecko 2.0 (aka 1.93a) / 파이어폭스 4 (2010)에서는 저속이지만 컴파일이 빠른 JIT 컴파일러(JägerMonkey)와 TraceMonkey를 조합하여 사용하는 방식이 되었다. Gecko 9 / 파이어폭스 9 (2011)에서는 타입 추론이 도입되어 출시 제품에 탑재되었다.5. 5. 사용자 에이전트 정보
게코 엔진을 사용한 사용자 에이전트의 대부분은 사용자 에이전트명에서 사용 환경 등을 확인할 수 있다.Mozilla영어/5.0 (Windows; U; Windows NT 5.1; ja; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
이 예시에서 각 항목은 다음과 같은 의미를 가진다.
- ''Windows'': 대상 플랫폼이 마이크로소프트 윈도우임을 나타낸다.
- ''U'': 강력한 보안 레벨임을 나타낸다.
- ''Windows NT 5.1'': 사용하고 있는 시스템이 Windows NT 5.1임을 나타낸다.
- ''ja'': 사용하고 있는 언어 설정이 일본어임을 나타낸다.
- ''rv:1.8.1.1'': Gecko의 리비전이 1.8.1.1임을 나타낸다.
- ''Gecko/20061204'': 빌드된 날짜가 2006년12월 4일임을 나타낸다.[58]
- ''Firefox/2.0.0.1'': 위와 같은 Gecko를 탑재한 Firefox 2.0.0.1임을 나타낸다.
5. 6. Mozilla ActiveX Control
마이크로소프트 윈도우에서 작동하는 플러그인이다. Mozilla ActiveX Project에 의해 개발되었다. ActiveX를 게코 브라우저에서 관리하거나, 게코의 렌더링 엔진 부분을 컴포넌트로서 윈도우 애플리케이션에 통합할 목적으로 개발되었다.ActiveX 관리 기능은 안전성이 확인된 설치된 ActiveX를 브라우저에서 관리하기 위한 것이며, 브라우저에서 ActiveX를 실행하거나 설치하기 위한 것은 아니다.[59]
브라우저 엔진으로는 XUL 기반 애플리케이션이 아닌, 윈도우 네이티브 애플리케이션으로 통합하여 더 가볍게 사용할 수 있다. mozctl.dll을 소프트웨어에 연결하면 게코 엔진을 컴포넌트로 이용할 수 있다. 웹 브라우저에 사용되는 경우가 많지만, 웹 페이지 표시 확인 등 보조적인 기능으로 사용된 예도 있다.
Mozilla ActiveX Control의 HTML 렌더링 엔진으로서의 기능은 XUL 네이티브 프로그램과 동일하며, 설정 항목 등도 공통이다. 단, 표준 대화 상자 등의 표시는 XUL 네이티브의 것과 다르다.
6. 퀀텀 (Quantum)
'''퀀텀(Quantum)'''은 모질라가 파이어폭스 사용자를 위한 차세대 웹 엔진 구축을 목표로 진행한 프로젝트이다. 이 프로젝트는 실험적인 서보 프로젝트에서 많은 부분을 가져와 게코를 개선하는 것을 포함하며, 사용자 인터페이스 및 상호 작용 개선도 포함한다.[15][16]
파이어폭스 57은 2017년 11월에 출시된 서보 구성 요소가 활성화된 초기 버전이다. 모질라는 이 버전과 향후 출시될 여러 버전을 "파이어폭스 퀀텀"이라고 부른다.[33][34]
6. 1. 배경
모질라는 2012년에 동시성 및 병렬 처리를 개선하고 메모리 안전 취약성을 줄이는 것을 목표로 실험적인 서보 프로젝트를 시작했다. 서보는 모질라가 제작한 러스트 프로그래밍 언어로 작성되었는데, 러스트는 C++ 코드를 컴파일한 것보다 메모리 안전성, 동시성 및 병렬 처리가 더 나은 컴파일된 코드를 생성하도록 설계되었다.[5]2016년 4월 기준으로, 서보는 완전한 기능을 갖춘 브라우저 엔진이 되기까지 최소 수 년의 개발 기간이 필요했다.[35] 그래서 서보의 안정적인 부분을 파이어폭스에 도입하기 위해 퀀텀 프로젝트를 시작하기로 결정했다. 모질라는 2020년 8월에 모든 서보 개발자를 해고했다.[36]
6. 2. 구성 요소
퀀텀 프로젝트는 여러 하위 프로젝트로 구성되어 있다.[15]- '''CSS''': Servo의 병렬 스타일 시트 시스템이 게코에 통합되었다. 벤치마크에 따르면 성능은 CPU 코어 수에 따라 선형적으로 확장된다.[37] 이는 파이어폭스 57에 출시되었다.[34]
- '''렌더''': Servo의 렌더링 아키텍처인 WebRender는 최초의 파이어폭스 퀀텀 출시 2년 후인 2019년 파이어폭스 67에 게코에 통합되었다. WebRender는 즉시 모드 그리기 모델을 보존 모드 모델로 대체하여 GPU가 CSS/DOM이 씬 그래프와 유사하다는 점을 활용하여 더 쉽게 가속할 수 있다. 최악의 경우 테스트에서 렌더링은 초당 60프레임을 초과한다.[38] 모질라는 파이어폭스 67에서 특정 하드웨어/OS 조합에 대해 새로운 렌더러를 활성화하기 시작했다.[39]
- '''컴포지터''': 게코의 기존 컴포지터를 자체 프로세스로 이동하여 브라우저 탭을 그래픽 드라이버 관련 충돌로부터 격리했다. 컴포지터 충돌이 브라우저 콘텐츠 프로세스를 중단시키지 않으므로 컴포지터 프로세스를 사용자 데이터를 손실하지 않고 투명하게 다시 시작할 수 있다. 이는 파이어폭스 53에 출시되었다.[40]
- '''DOM''': Servo의 Constellation 아키텍처[41]와 오페라의 프레스토 엔진에서 영감을 받아,[42] 퀀텀 DOM은 프로세스 수를 늘리지 않고 메모리 사용량을 늘리지 않고 문서 객체 모델 내에서 협력적으로 예약된 스레드를 사용하여 응답성을 높인다. 이것의 핵심은 파이어폭스 57에 포함되었다.[43]
- '''플로우''': 게코 구성 요소 전체에서 작동하는 팀이 주도하는 사용자에게 보이는 성능 개선을 위한 상위 프로젝트이다. 주요 웹앱, 주로 G Suite (현재 구글 워크스페이스라고 함) 및 페이스북에서 실제 사용자 성능 개선에 중점을 두었다.[44] 이 작업은 완료되어 파이어폭스 57에 출시되었다.[45]
- '''포톤''': UI 성능 향상에 중점을 둔 전체 응용 프로그램의 UI 새로 고침이다. 퀀텀 플로우의 자매 프로젝트로 취급되었다.[46] 이는 파이어폭스 57에 출시되었다.[33]
- '''네트워크''': 게코의 네트워킹 계층인 Necko의 성능을 개선하기 위해 더 많은 네트워크 활동을 메인 스레드에서 벗어나게 하고, 네트워크 스트림의 컨텍스트 종속적 우선 순위를 지정하고, 캐시 계층과 네트워크를 경쟁시킨다.[47] 이 기능은 파이어폭스 59에 출시되었다.[48]
7. Azure
'''모질라 아쥬어'''(Mozilla Azure)는 파이어폭스에서 사용되는 그래픽스 추상화 API이다.[49] 아쥬어는 3D 그래픽 백엔드 위에 2D 하드웨어 가속을 제공하며, 파이어폭스는 2012년부터 카이로 대신 아쥬어를 사용하기 시작했다.[50][51] C++로 작성되었으며 서보에서도 사용된다.[52] 아쥬어라는 이름은 넷스케이프 창업자 제임스 H. 클라크와 실리콘 그래픽스에서의 그의 초기 작업에 대한 오마주인데, 여기서 워크스테이션은 종종 색상으로 이름 붙여졌다.[53]
7. 1. 목표
모질라 아쥬어 프로젝트는 파이어폭스에서 사용되는 무상태 저수준 그래픽스 추상화 API이다.[49] 이 프로젝트는 다음과 같은 몇 가지 목표를 가지고 있다.- 보다 정확한 Direct2D 호환성
- 최적화된 상태 상호 운용성
- 성능 특성과 버그에 대한 개선된 제어
7. 2. 특징
파이어폭스에서 사용되는 무상태 저수준 그래픽스 추상화 API인 '''모질라 아쥬어''' 프로젝트는 다음과 같은 몇 가지 목표를 가지고 있다.[49]- 보다 정확한 Direct2D 호환성
- 최적화된 상태 상호 운용성
- 성능 특성과 버그에 대한 개선된 제어
아쥬어는 3D 그래픽 백엔드 위에 2D 하드웨어 가속을 제공한다. 파이어폭스는 2012년부터 카이로 대신 아쥬어를 사용하기 시작했다.[50][51] 이는 C++(C++)로 작성되었으며 서보에서 사용된다.[52] 아쥬어라는 이름은 초기 넷스케이프 창업자 제임스 H. 클라크와 실리콘 그래픽스에서의 그의 초기 작업에 대한 오마주이며, 여기서 워크스테이션은 종종 색상으로 명명되었다.[53]
8. 게코를 탑재한 소프트웨어
게코 엔진은 다양한 소프트웨어에서 활용되고 있다.
| 웹 브라우저 | 기타 소프트웨어 |
|---|---|
8. 1. 웹 브라우저
| 게코를 사용하는 웹 브라우저 | 과거에 게코를 사용했던 웹 브라우저 | 게코를 사용했던 단종 제품 |
|---|---|---|
8. 2. 기타 소프트웨어
- Nvu (웹 저작 도구)
- KompoZer (웹 저작 도구)
- 송버드 (미디어 플레이어)
- Wine (오픈 소스 윈도우 API 구현, Internet Explorer 구현에 이용)[1]
9. 게코 버전별 탑재 소프트웨어
wikitext
| 파이어폭스 | 넷스케이프 | 모질라 | 씨몽키 | 썬더버드 | 플록 | 송버드 / 나이팅게일 | Beonex | 루나스케이프 | K-Meleon | 페일 문 | 카미노 | 갈레온 | 에피파니 | scope="col" | | 마이크로B | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Gecko 0.6 | 6.0 | 0.6 | | | | | 0.6[63] | | | | | | | | | |||||||||||||||
| Gecko 0.8 | | 0.8 | | | | | | 0.3 | | | | | | | | |||||||||||||||
| Gecko 0.9.2 | 6.1 | 0.9.2 | | | | | | | | | | | | | | |||||||||||||||
| Gecko 0.9.4 | 6.2 | 0.9.4 | | | | | | 0.5 | | | | | | | | |||||||||||||||
| Gecko 0.9.4.1 | 6.2.2 | 0.9.4.1 | | | | | 0.7[63] | | | | | | | | | |||||||||||||||
| Gecko 0.9.5 | | 0.9.5 | | | | | | 0.6 | | | | | | | | |||||||||||||||
| Gecko 0.9.7 | | 0.9.7 | | | | | | | | | 1.0.2 | | | | | |||||||||||||||
| Gecko 1.0.1 | 7.0 | 1.0.1 | | | | 0.8.1[61] | | | | | | | | | | |||||||||||||||
| Gecko 1.0.2 | | 1.0.2 | | | | 0.8.2[62] | | | | | | | | | | |||||||||||||||
| Gecko 1.1 | | 1.1 | | | | 0.9pre[63] | | | | | | | | | | |||||||||||||||
| Gecko 1.2b | | 1.2b | | | | | | 0.7 | | | | | | | | |||||||||||||||
| Gecko 1.3a | | 1.3a | | | | | | | | | | | | | | |||||||||||||||
| Gecko 1.4 | 7.1 | 1.4 | | | | | | | | | | | | | | |||||||||||||||
| Gecko 1.4.1 | | 1.4.1 | | | | | | | | | 1.0.4 | | | | | |||||||||||||||
| Gecko 1.5 | | 1.5 | | 0.1 - 0.3 | | | | 0.8 | | | | | | | | |||||||||||||||
| Gecko 1.6 | | 1.6 | | 0.4 - 0.5 | | | | | | | | | | | | |||||||||||||||
| Gecko 1.7 | | 1.7 | | 0.6 - 1.0 | | | | | | | 2.0 | | 0.2.8 | | | |||||||||||||||
| Gecko 1.7.2 | 7.2 | 1.7.2 | | | | | | | | | | | | | | |||||||||||||||
| Gecko 1.7.5 | 8.0.2 | 1.7.5 | | | | | | 0.9 | | | | | | | | |||||||||||||||
| Gecko 1.8.0 | | | 1.0 | 1.1 - 1.5 | 0.7 | 0.2 | | | 1.0 | | | | | | | |||||||||||||||
| Gecko 1.8.1 | 2.0 | 9.0 | | 1.1 | 2.0 | 1.0 | | | 4.8 | 1.1, 1.5 | | 1.5 - 1.6 | | 2.16 | | | |||||||||||||||
| Gecko 1.9.0 | 3.0 | | | | 3.0a1 - a2 | 2.0 - 2.6 | 0.5 - 1.4 | | | 2.2 | 2.0 | | 2.22 | | | | |||||||||||||||
| Gecko 1.9.1 | 3.5 | | | 2.0 | 3.0a3 - 3.0 | | | | 5.0 | 1.6 | 3.5 | | | | | | |||||||||||||||
| Gecko 1.9.2 | 3.6 | | | | 3.1 | | 1.9.3 | | 6.3 | 1.7 | 3.6 | 2.1 | | | | 1.7.4.8 |
| 파이어폭스 | 씨몽키 | 썬더버드 | 루나스케이프 | K-Meleon | 페일 문 | |
|---|---|---|---|---|---|---|
| Gecko 2.0 | 4.0 | 2.1 | (3.3a) | | | 4.0 | |||||
| Gecko 5.0 | 5.0 | 2.2 | 5.0 | | | 5.0 | |||||
| Gecko 6.0 | 6.0 | 2.3 | 6.0 | | | 6.0 | |||||
| Gecko 7.0 | 7.0 | 2.4 | 7.0 | | | 7.0 | |||||
| Gecko 8.0 | 8.0 | 2.5 | 8.0 | | | 8.0 | |||||
| Gecko 9.0 | 9.0 | 2.6 | 9.0 | | | 9.0.1 | |||||
| Gecko 10.0 | 10.0, | 2.7 | 10.0, | | | 9.1, 9.2 | |||||
| Gecko 11.0 | 11.0 | 2.8 | 11.0 | | | 11.0 | |||||
| Gecko 12.0 | 12.0 | 2.9 | 12.0 | | | 12.0 - 12.3 | |||||
| Gecko 13.0 | 13.0 | 2.10 | 13.0 | | | | |||||
| Gecko 14.0 | 14.0 | 2.11 | 14.0 | | | | |||||
| Gecko 15.0 | 15.0 | 2.12 | 15.0 | | | 15.0 - 15.4.1 | |||||
| Gecko 16.0 | 16.0 | 2.13 | 16.0 | | | | |||||
| Gecko 17.0 | 17.0, | 2.14 | 17.0.x | | | | |||||
| Gecko 18.0 | 18.0 | 2.15 | (18.0b) | | | | |||||
| Gecko 19.0 | 19.0 | 2.16 | (19.0b) | | | 19.0 | |||||
| Gecko 20.0 | 20.0 | 2.17 | (20.0b) | | | 20.0.1 - 20.3 | |||||
| Gecko 21.0 | 21.0 | (2.18) | (21.0b) | | | | |||||
| Gecko 22.0 | 22.0 | 2.19 | (22.0b) | | | | |||||
| Gecko 23.0 | 23.0 | 2.20 | (23.0b) | | | | |||||
| Gecko 24.0 | 24.0, | 2.21 | 24.x | | 74 | 24.x - 25.x | |||||
| Gecko 25.0 | 25.0 | 2.22 | (25.0b) | | | | |||||
| Gecko 26.0 | 26.0 | 2.23 | (26.0b) | | | | |||||
| Gecko 27.0 | 27.0 | 2.24 | (27.0b) | | | | |||||
| Gecko 28.0 | 28.0 | 2.25 | (28.0b) | | | | |||||
| Gecko 29.0 | 29.0 | 2.26 | (29.0b) | | | | |||||
| Gecko 30.0 | 30.0 | (2.27) | (30.0b) | | | | |||||
| Gecko 31.0 | 31.0, | (2.28) | 31.x | | 75.x | | |||||
| Gecko 32.0 | 32.0 | 2.29 | (32.0b) | | | | |||||
| Gecko 33.0 | 33.0 | 2.30 | (33.0b) | | | | |||||
| Gecko 34.0 | 34.0 | 2.31 | (34.0b) | | | | |||||
| Gecko 35.0 | 35.0 | 2.32 | (35.0b) | | | | |||||
| Gecko 36.0 | 36.0 | 2.33 | (36.0b) | | | | |||||
| Gecko 37.0 | 37.0 | 2.34 | (37.0b) | | | | |||||
| Gecko 38.0 | 38.0, | 2.35 | 38.x | | | | |||||
| Gecko 39.0 | 39.0 | (2.36) | (39.0b) | | | | |||||
| Gecko 40.0 | 40.0 | (2.37) | (40.0b) | | | | |||||
| Gecko 41.0 | 41.0 | 2.38 | (41.0b) | | | | |||||
| Gecko 42.0 | 42.0 | 2.39 | (42.0b) | | | | |||||
| Gecko 43.0 | 43.0 | 2.40 | (43.0b) | | | | |||||
| Gecko 44.0 | 44.0 | (2.41) | (44.0b) | | | | |||||
| Gecko 45.0 | 45.0, | 2.42 | 45.x | 6.15 | | | |||||
| Gecko 46.0 | 46.0 | (2.43) | (46.0b) | | | | |||||
| Gecko 47.0 | 47.0 | (2.44) | (47.0b) | | | | |||||
| Gecko 48.0 | 48.0 | (2.45) | (48.0b) | | | | |||||
| Gecko 49.0 | 49.0 | 2.46 | (49.0b) | | | |
참조
[1]
웹사이트
Mozilla Foundation End-User Licensing Agreements
https://www.mozilla.[...]
[2]
웹사이트
Mozilla Licensing Policies
https://www.mozilla.[...]
mozilla.org
2013-03-26
[3]
웹사이트
Embedding Mozilla
https://www.mozilla.[...]
Mozilla.org
2012-10-31
[4]
웹사이트
Simple Firefox for Android build
https://developer.mo[...]
2017-05-03
[5]
논문
Engineering the Servo Web Browser Engine using Rust
https://raw.githubus[...]
2016-05
[6]
웹사이트
Google Groups
https://groups.googl[...]
[7]
웹사이트
Mozilla binds Firefox's fate to the Rust language
https://www.infoworl[...]
2017-02-03
[8]
웹사이트
MPL 2 Upgrade
https://wiki.mozilla[...]
2012-08-18
[9]
웹사이트
Gecko FAQ
https://developer.mo[...]
2017-05-03
[10]
웹사이트
nglayout project: identity crisis
https://www.mozilla.[...]
Mozilla.org
2012-10-31
[11]
웹사이트
Ars Technica sits down with Scott Collins from Mozilla.org
https://arstechnica.[...]
2017-02-16
[12]
웹사이트
Thursday 2003-01-09
http://dbaron.org/lo[...]
self-published
2017-02-16
[13]
웹사이트
Apple snub stings Mozilla
http://news.cnet.com[...]
CNET Networks
2017-02-16
[14]
웹사이트
Why Mozilla is committed to Gecko as WebKit popularity grows
https://arstechnica.[...]
2017-02-16
[15]
웹사이트
Quantum
https://wiki.mozilla[...]
2017-04-20
[16]
뉴스
Mozilla Announces Quantum, a New Browser Engine for Firefox
http://news.softpedi[...]
2016-11-07
[17]
웹사이트
Firefox Focus 7.0 enters beta, Switches to GeckoView (Gecko Engine)
https://techdows.com[...]
2019-09-19
[18]
웹사이트
Firefox Focus with GeckoView
https://hacks.mozill[...]
2019-09-04
[19]
웹사이트
What's new in Firefox Focus for Android (version 7) {{!}} Firefox Focus Help
https://support.mozi[...]
2019-09-04
[20]
웹사이트
GeckoView in 2019
https://hacks.mozill[...]
2019-09-04
[21]
웹사이트
Fast, personalized and private by design on all platforms: introducing a new Firefox for Android experience
https://blog.mozilla[...]
2020-09-22
[22]
웹사이트
Cross Browser Compatibility of ECMAScript 2015 (ES6) in Firefox 102
https://www.lambdate[...]
2022-08-21
[23]
웹사이트
Cross Browser Compatibility of SVG (basic support) in Firefox 102
https://www.lambdate[...]
2022-08-21
[24]
웹사이트
Mozilla Adds Undetectable document.all Support, Part of New Novell Linux Distribution?
http://www.mozillazi[...]
Developer.mozilla.org
2018-02-07
[25]
웹사이트
IE Uses Gecko Under Wine
http://wiki.winehq.o[...]
Wine Wiki
2009-09-14
[26]
웹사이트
Gecko
https://www.fsf.org/[...]
2019-05-23
[27]
뉴스
One Laptop Per Child readies 'Sugar' interface
http://www.infoworld[...]
IDG News Service
2007-12-28
[28]
웹사이트
KaiOS Technologies partners with Mozilla to improve Gecko
https://www.neowin.n[...]
2024-07-12
[29]
웹사이트
Picasa 3.0 for Linux
http://picasa.google[...]
2008-12-28
[30]
웹사이트
Building Firefox for Windows
https://firefox-sour[...]
[31]
웹사이트
Gecko versions and application versions
https://developer.mo[...]
2013-11-18
[32]
웹사이트
Not much in new Thunderbird 5, but roadmap looks promising
https://arstechnica.[...]
2018-02-07
[33]
웹사이트
Firefox 57.0, See All New Features, Updates and Fixes
https://www.mozilla.[...]
2018-10-30
[34]
웹사이트
Introducing the New Firefox: Firefox Quantum – The Mozilla Blog
https://blog.mozilla[...]
2018-10-30
[35]
웹사이트
Servo remaining work
https://github.com/s[...]
2017-02-17
[36]
웹사이트
Mozilla lays off 250 employees while it refocuses on commercial products
https://www.zdnet.co[...]
2022-06-14
[37]
웹사이트
The Changelog
https://changelog.co[...]
2017-03-28
[38]
웹사이트
Bay Area Rust Meetup February 2016
https://air.mozilla.[...]
2017-03-28
[39]
웹사이트
Webrender Where
https://wiki.mozilla[...]
2020-07-14
[40]
웹사이트
Firefox faster and more stable with the first big bytes of Project Quantum, simpler with compact themes and permissions redesign
https://blog.mozilla[...]
2017-04-27
[41]
웹사이트
Servo Architecture
https://www.youtube.[...]
2017-03-28
[42]
웹사이트
Mozilla's Quantum Project
https://billmccloske[...]
2016-10-27
[43]
웹사이트
Entering the Quantum Era
https://hacks.mozill[...]
2020-07-14
[44]
웹사이트
Quantum Flow
https://wiki.mozilla[...]
2017-03-28
[45]
웹사이트
Quantum Flow Engineering Newsletter #25
https://ehsanakhgari[...]
2020-07-14
[46]
웹사이트
Photon Engineering Newsletter #1
https://dolske.wordp[...]
2017-07-04
[47]
웹사이트
TPE Necko/Projects - MozillaWiki
https://wiki.mozilla[...]
2017-07-04
[48]
웹사이트
Firefox 59 Release Notes
https://www.mozilla.[...]
2019-01-16
[49]
웹사이트
Platform/GFX/Moz2D - MozillaWiki
https://wiki.mozilla[...]
[50]
웹사이트
Firefox Now Uses the Azure Graphics API for Canvas on All Platforms
http://news.softpedi[...]
2012-09-07
[51]
웹사이트
Azure Replacing Cairo In Mozilla Firefox - Phoronix
https://www.phoronix[...]
[52]
웹사이트
Parallel page rendering with Mozilla Servo
https://lwn.net/Arti[...]
LWN.net
2015-06-27
[53]
웹사이트
Introducing the Azure project - JOEDREW!
https://web.archive.[...]
2019-09-22
[54]
웹사이트
Communicator 5.0はどうしたのですか?
https://web.archive.[...]
[55]
웹사이트
Firefoxの新バージョン「Quantum」、エンジン刷新で約2倍に高速化
http://itpro.nikkeib[...]
Computerworld
2017-09-30
[56]
문서
"[[拡張機能 (Mozilla)|拡張機能]]の[[IE Tab]]でIEコンポーネントの利用も可能。"
[57]
문서
バージョン2.1.0からIEコンポーネントも使用可能。
[58]
문서
"ただし Firefox 4.0 Beta 5以降のリリース版ではビルドした日付ではなく、''Gecko/20100101''固定となった。詳しくは [https://bugzilla.mozilla.org/show_bug.cgi?id=591537 Bug 591537 - Freeze UA build id for Firefox branded builds] 参照。"
[59]
웹사이트
http://www.mozilla-j[...]
[60]
문서
バージョン26以降ではレンダリングエンジンとしてGeckoの代わりに[[Goanna]]を採用
[61]
웹사이트
"0.8.1"
http://www.beonex.co[...]
2011-01-29
[62]
웹사이트
Release-notes
http://www.beonex.co[...]
2011-01-29
[63]
웹사이트
News
http://www.beonex.co[...]
2003-03-12
[64]
문서
バージョン26以降ではレンダリングエンジンとしてGeckoの代わりに[[Goanna]]を採用
[65]
웹사이트
Release Notes: Mozilla Developer Preview
http://www.mozilla.o[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com