GeckoView/수정 이력

수정 이력

1개의 판이 있어요. 줄마다 펼쳐 바뀐 부분을 보거나, 두 판을 골라 비교할 수 있어요.

왼쪽 동그라미 = 이전 판, 오른쪽 = 이후 판
#450AI 조사: 게임 제작 도구 문서GGWiki 자동 · · 현재 판+6,981자
1번째 줄 근처
추가: ## 개요
추가: GeckoView는 모질라(Mozilla)가 개발한 안드로이드(Android)용 웹뷰(WebView)형 소프트웨어 컴포넌트다. 안드로이드 시스템에 내장된 기본 WebView와 달리, GeckoView는 모바일 브라우저 및 웹 콘텐츠를 표시해야 하는 애플리케이션 개발을 위해 설계된 독립적인 라이브러리다. 파이어폭스(Firefox) 브라우저의 핵심 엔진인 게코(Gecko)를 안드로이드 환경에서 재사용할 수 있도록 분리·패키징한 것으로, 모질라 퍼블릭 라이선스 버전 2.0(MPL 2.0) 하에 배포되는 자유 소프트웨어다.[1][3]
추가:
추가: 안드로이드 기본 WebView는 시스템 구성 요소로 제공되며 기기 제조사와 안드로이드 버전에 따라 탑재 버전이 제각각이라, 개발자가 테스트한 코드가 사용자 단말에서 다르게 동작할 위험이 있다. 또한 브라우저 제작 용도로는 고급 웹 API 다수가 비활성화되어 있다. GeckoView는 엔진을 애플리케이션에 번들로 포함시키는 '자체 포함(Self-Contained)' 방식을 취해, 개발자가 테스트한 엔진 버전이 그대로 사용자 기기에서 실행되도록 보장한다. API는 안드로이드 WebView와 유사하게 설계되어 기존 WebView 사용자가 비교적 쉽게 마이그레이션할 수 있도록 했다.[3]
추가:
추가: ## 역사
추가:
추가: ### 게코 엔진의 기원과 발전
추가:
추가: GeckoView의 기반이 되는 게코 엔진은 1997년 넷스케이프(Netscape)가 디지털스타일(DigitalStyle)을 인수한 뒤 기존 렌더링 엔진의 한계(느린 속도, W3C 표준 미준수, 동적 HTML 지원 부족, 점진적 리플로우 미지원 등)를 극복하기 위해 차세대 레이아웃 엔진으로 개발을 시작한 것이 시초다. 초기에는 '랩터(Raptor)'라는 코드명으로 불렸으나 상표권 문제로 'NGLayout(Next Generation Layout)'으로 변경되었고, 이후 넷스케이프가 '게코(Gecko)'로 재브랜딩했다. 1998년 모질라 프로젝트 출범과 함께 오픈소스로 공개되었다.[2]
추가:
추가: 넷스케이프 6(2000년 11월 출시)이 게코를 탑재한 첫 넷스케이프 브라우저였으며, 2003년 7월 AOL이 게코 개발 인력을 해고한 뒤 모질라 재단(Mozilla Foundation)이 개발 주체가 되었다. 현재는 모질라 코퍼레이션(Mozilla Corporation) 직원, 기여 기업 직원, 자원봉사자가 공동 개발한다.[2]
추가:
추가: 초기 게코는 기술·관리 판단 미스로 소프트웨어 비대화(bloat) 문제가 있었으나, 2008년경 상당 부분 개선되어 성능이 크게 향상되었다. 2016년 10월 모질라는 '퀀텀(Quantum)' 프로젝트를 발표, 실험적 엔진 서보(Servo)의 구성 요소(병렬 CSS 스타일 시스템, WebRender 렌더링 아키텍처 등)를 게코에 이식하기 시작했다. 파이어폭스 57(2017년 11월, '파이어폭스 퀀텀')부터 주요 퀀텀 구성 요소가 활성화되었다.[2]
추가:
추가: ### GeckoView의 탄생과 모바일 제품군 적용
추가:
추가: 2018년 9월 모질라는 GeckoView를 발표했다. "엔진을 사용자 인터페이스에서 분리하고 다른 애플리케이션에 쉽게 임베드할 수 있게 만든 소프트웨어 라이브러리"로서, 모질라 차세대 모바일 제품군의 기반이 되는 기술로 소개되었다.[2]
추가:
추가: 같은 달 출시된 파이어폭스 포커스(Firefox Focus) 7.0이 GeckoView를 탑재한 첫 제품이며, 중간값 기준 페이지 로딩 성능이 향상되었다. 이어서 파이어폭스 리얼리티(Firefox Reality)도 GeckoView 기반으로 제작되었다. 2019년 6월 모질라는 '파이어폭스 프리뷰(Firefox Preview)' 프로젝트를 발표, GeckoView 기반 안드로이드 브라우저 개발을 본격화했다. 2020년 8월 출시된 파이어폭스 포 안드로이드 79(코드명 '파이어폭스 데이라이트/Firefox Daylight')가 GeckoView 엔진을 주요 구성 요소로 사용하는 첫 안정화 버전이다.[2]
추가:
추가: ## 기능과 사용법 개요
추가:
추가: ### 무엇을 만들 수 있는가
추가:
추가: GeckoView는 안드로이드에서 웹 콘텐츠를 렌더링해야 하는 모든 애플리케이션에 사용할 수 있으나, 특히 **모바일 브라우저 제작**에 최적화되어 있다. 전체 웹 플랫폼 기능을 노출하는 풍부한 API를 제공하므로, 일반 웹뷰로는 구현하기 어려운 고급 브라우저 기능(확장 프로그램 지원, 고급 프라이버시 보호, 커스텀 렌더링 파이프라인 등)을 구현할 수 있다. 브라우저 외 용도로도 웹 엔진 컴포넌트가 필요한 모든 안드로이드 앱에 임베드 가능하다.[3]
추가:
추가: ### 대상 사용자
추가:
추가: 주 대상은 안드로이드 브라우저 개발자와, 앱 내에 표준 준수 웹뷰가 필요한 애플리케이션 개발자다. 안드로이드 WebView API에 익숙한 개발자가 학습 곡선 없이 전환할 수 있도록 WebView 유사 API를 제공한다.[3]
추가:
추가: ### 주요 특징
추가:
추가: * **완전한 기능(Full-featured)**: 게코 엔진의 전체 능력을 API를 통해 노출한다. 안드로이드 시스템 WebView에서 비활성화된 고급 웹 API도 사용 가능하다.[3]
추가: * **자체 포함(Self-Contained)**: 라이브러리를 앱에 번들로 포함하므로, 시스템 WebView 버전 파편화 문제를 피할 수 있다. 테스트한 코드가 사용자 환경에서 동일하게 실행됨을 보장한다.[3]
추가: * **표준 준수(Standards Compliant)**: 파이어폭스와 동등한 수준의 현대 웹 표준 지원을 제공한다. 게코가 지원하는 표준 목록은 방대하다(아래 '지원 표준' 참조).[2][3]
추가: * **WebView 유사 API**: 기존 안드로이드 WebView 개발자가 쉽게 적응할 수 있도록 API 설계를 WebView와 유사하게 했다.[3]
추가:
추가: ### 지원 표준 (게코 엔진 기준)
추가:
추가: GeckoView는 게코 엔진을 기반으로 하므로, 게코가 지원하는 웹 표준을 대부분 그대로 계승한다. 주요 지원 표준은 다음과 같다.[2]
추가:
추가: * **마크업·스타일·레이아웃**: HTML5 (WHATWG HTML Living Standard 추적), XHTML 1.0, XML 1.0, CSS Level 3 및 진행 중인 CSS4 모듈, WOFF 1.0/2.0, MathML, SVG
추가: * **자바스크립트·웹어셈블리**: ECMAScript 2025(ES16)까지 지원하는 스파이더몽키(SpiderMonkey) 엔진, WebAssembly (W3C)
추가: * **DOM·API**: DOM, Fetch API (WHATWG), IndexedDB, Service Worker API (WHATWG), Web Workers (WHATWG), WebSocket (IETF RFC 6455/WHATWG), WebRTC (W3C/IETF), WebTransport (IETF/W3C, 파이어폭스 114부터), WebCodecs (W3C, 파이어폭스 130부터), WebGPU (W3C, wgpu 구현), WebGL (Khronos/W3C), WebXR (W3C Immersive Web WG, WebVR 후속), WebAuthn (W3C/FIDO Alliance), Web Notifications, WebExtensions API
추가: * **데이터·문서 포맷**: RDF, XForms(공식 확장), XSLT·XPath(TransforMiiX 구현)
추가: * **접근성**: WAI-ARIA (W3C WAI)
추가: * **레거시 호환**: DOCTYPE 스위칭(표준 준수 모드/쿼크 모드), 마키(marquee) 요소 및 `document.all` 속성 등 구 인터넷 익스플로러 비표준 기능 제한적 지원
추가:
추가: ## 생태계·커뮤니티
추가:
추가: GeckoView는 모질라가 주도하는 오픈소스 프로젝트다. 공식 사이트에서 다음 채널을 통해 개발자와 소통한다.[3]
추가:
추가: * **문서·가이드**: 'Getting Started with GeckoView', 'Using GeckoView', 'API Documentation', 'API Changelog' 등 체계적인 문서 제공 (Jekyll 기반 Just the Docs 테마)
추가: * **소스 코드**: 'GeckoView Source Code' 링크를 통해 공개 저장소 접근 가능
추가: * **버그 리포트**: 'Raise a bug on GeckoView code', 'Raise a documentation bug'로 이슈 등록
추가: * **실시간 대화**: Matrix 채널('Talk to us on Matrix') 운영
추가: * **위키**: 'GeckoView Wiki' 별도 운영
추가:
추가: 라이선스는 MPL 2.0으로, 소스 코드 수정·재배포 시 동일 라이선스 적용 의무가 있으나 독점 소프트웨어와의 결합은 비교적 자유롭다.[1]
추가:
추가: ## 사용 사례·작품
추가:
추가: GeckoView를 엔진으로 사용하는 주요 모질라 제품은 다음과 같다.[2][3]
추가:
추가: * **파이어폭스 포커스(Firefox Focus) 7.0** (2018년 9월): GeckoView 최초 탑재 제품, 중간값 페이지 로딩 성능 향상
추가: * **파이어폭스 리얼리티(Firefox Reality)**: 가상현실(VR) 브라우저, GeckoView 기반
추가: * **파이어폭스 프리뷰(Firefox Preview)** (2019년 6월 발표): GeckoView 기반 안드로이드 브라우저 개발 프로젝트
추가: * **파이어폭스 포 안드로이드 79 (파이어폭스 데이라이트/Firefox Daylight)** (2020년 8월): GeckoView 주요 구성 요소 사용 첫 안정화 버전
추가:
추가: 이 밖에도 GeckoView는 제3자 안드로이드 브라우저나 웹뷰가 필요한 앱에서 자유롭게 채택할 수 있도록 공개되어 있다.
추가:
추가: ## 평가
추가:
추가: 자료에 명시된 직접적인 제3자 평가·비판·논란 내용은 없다. 다만 자료에서 간접적으로 확인할 수 있는 기술적 평가는 다음과 같다.
추가:
추가: * **성능**: 파이어폭스 포커스 7.0 출시 시 "중간값 기준 페이지 로딩 성능 증가"가 언급되었으며, 퀀텀 프로젝트(서보 구성 요소 이식)를 통해 CSS 병렬 처리, GPU 가속 렌더링(WebRender), 컴포지터 프로세스 분리, 퀀텀 DOM, 네트워크 계층 개선 등 다중 코어 활용 및 응답성 향상이 이루어졌다.[2]
추가: * **표준 준수·호환성**: "파이어폭스와 동등한 수준의 현대 웹 표준 지원", "안드로이드 시스템 WebView에서 비활성화된 고급 웹 API 노출"로 개발자 자유도 확대.[3]
추가: * **배포 안정성**: 자체 포함 라이브러리 방식 덕분에 "시스템 WebView 버전 파편화 문제 회피", "테스트한 코드가 사용자 기기에서 동일 실행 보장"이 강점으로 제시됨.[3]
추가: * **마이그레이션 용이성**: "WebView 유사 API" 설계로 기존 안드로이드 WebView 개발자 진입 장벽 낮춤.[3]
추가:
추가: 자료에는 경쟁 엔진(웹킷/WebKit, 블링크/Blink 등)과의 벤치마크 비교, 메모리 사용량, 배터리 소모, 앱 크기 증가분 등 정량적 평가 지표는 포함되어 있지 않다.
추가:
추가: ## 그 밖의 주제
추가:
추가: ### 라이선스
추가:
추가: MPL 2.0(Mozilla Public License version 2.0) 하에 배포된다. 파일 단위 콥레프트(file-level copyleft) 라이선스로, 수정된 소스 파일을 배포할 때는 동일 라이선스를 적용해야 하나, 더 큰 저작물에 포함시키는 것은 허용된다.[1]
추가:
추가: ### 운영체제 지원
추가:
추가: 공식 지원 대상은 안드로이드다. 게코 엔진 자체는 리눅스(Linux), 맥OS(macOS), 윈도우(Windows)도 지원하나, GeckoView 패키징·API는 안드로이드 전용으로 제공된다.[1][2]
추가:
추가: ### 프로그래밍 언어
추가:
추가: 게코 엔진은 C++, 자바스크립트, 러스트(Rust, 2016년 이후)로 작성된다. GeckoView는 안드로이드 네이티브 인터페이스(JNI 등)를 통해 자바/코틀린(Java/Kotlin) 애플리케이션에서 호출할 수 있도록 래핑되어 제공된다.[2]
추가:
추가: ### 퀀텀(Quantum) 프로젝트와의 관계
추가:
추가: GeckoView는 게코 엔진을 안드로이드용 라이브러리로 패키징한 것이므로, 게코 엔진에 적용된 퀀텀 프로젝트 개선 사항(CSS 병렬 스타일 시스템, WebRender, 컴포지터 프로세스 분리, 퀀텀 DOM, 플로우, 포톤 UI, 네트워크 계층 개선 등)을 그대로 상속받는다. 파이어폭스 57(2017년 11월)부터 퀀텀 주요 구성 요소가 단계적으로 활성화되었으며, WebRender는 파이어폭스 67(2019년)부터 하드웨어/OS 조합별로 점진적 활성화되었다.[2]
추가:
추가: ### 애저(Azure) 그래픽 추상화 레이어
추가:
추가: 게코는 2012년부터 카이로(Cairo) 대신 모질라 애저(Mozilla Azure)라는 무상태 저수준 그래픽 추상화 API를 사용한다. 애저는 Direct2D 호환성 향상, 상태 상호운용성 최적화, 성능 특성·버그 제어 강화를 목표로 하며, 3D 그래픽 백엔드 위에서 2D 하드웨어 가속을 제공한다. 서보 엔진에서도 사용된다. 초기 넷스케이프 창업자 제임스 H. 클라크(James H. Clark)와 실리콘 그래픽스(Silicon Graphics) 워크스테이션 명명 관행(색상 이름)에서 이름을 따왔다.[2]
추가:
추가: ### 버전 관리
추가:
추가: 게코 2.0 이후 버전 번호는 파이어폭스·썬더버드(Thunderbird) 메이저 버전과 동기화된다(예: 게코 5.0 = 파이어폭스 5). 이는 게코가 더 이상 별도 구성 요소가 아님을 반영한다. GeckoView도 이 버전 체계를 따른다.[2]
추가:
추가: ### 과거 게코 기반 제품과의 구별
추가:
추가: GeckoView는 안드로이드 네이티브 라이브러리로서 현대적 임베딩 API를 제공한다는 점에서, 과거 게코를 임베드했던 제품들(예: JRex - 자바 API, 카이OS(KaiOS)/파이어폭스 OS 기반 모바일 OS, 미니모(Minimo) 등 초기 모바일 브라우저, 송버드(Songbird)·나이팅게일(Nightingale) 등 미디어 플레이어, 인스턴트버드(Instantbird)·컨커러(Conkeror) 등 특수 목적 브라우저)와 구별된다. 이들 다수는 중단되었거나 웹킷(WebKit) 등으로 엔진을 전환했다.[2]
추가:
추가: 이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.

편집 요청

편집 요청이 없어요.