- Published on
브라우저 엔진 2026 완벽 가이드 - Chromium · Blink · Gecko · WebKit · Servo · Ladybird · LibWeb · Flow 심층 분석
- Authors

- Name
- Youngju Kim
- @fjvbn20031
1장 · 왜 브라우저 엔진 다양성이 중요한가
10년 전, 우리는 IE6 단일 지배의 트라우마에서 막 벗어나고 있었다. 2026년, 우리는 다시 비슷한 풍경 앞에 서 있다. Chromium/Blink가 데스크톱 점유율 70% 이상, 모바일을 합치면 65% 이상을 차지한다. Safari/WebKit이 iOS 시장을 사실상 독점하고, Firefox/Gecko는 3% 안팎으로 떨어졌다.
왜 이것이 문제인가?
- 표준의 약화 — 한 엔진의 구현이 사실상 표준이 된다. 사양보다 코드가 진실이 된다.
- 혁신의 정체 — 경쟁이 사라지면 새 API의 동기가 사라진다.
- 거버넌스의 집중 — Google이 W3C/WHATWG에 미치는 영향력이 비대해진다.
- 사용자 선택의 소멸 — "다른 엔진"이 선택지에서 사라지면 차별화도 사라진다.
이 글은 2026년 현재의 모든 의미 있는 브라우저 엔진을 짚는다. 거대 3대 엔진(Blink/Gecko/WebKit), 부활한 Servo, 떠오르는 Ladybird, 그리고 임베디드 시장의 숨겨진 엔진들까지.
이 글이 다루는 "엔진 다양성"은 "포크"와 다르다. Brave는 Chromium의 포크이지만 같은 Blink 엔진을 쓴다. 진짜 다양성은 레이아웃과 JS 인터프리터가 독립적으로 구현된 코드베이스의 수다.
2장 · 엔진 아키텍처 — HTML부터 픽셀까지
브라우저 엔진은 단일 컴포넌트가 아니라 파이프라인이다.
HTML 소스
↓
HTML Parser → DOM Tree
↓
CSS Parser → CSSOM
↓
Style Cascade (matched rules)
↓
Layout (box tree, fragments)
↓
Paint (display list)
↓
Composite (layers, GPU)
↓
픽셀
각 단계마다 엔진의 선택이 갈린다. Style cascade의 알고리즘, layout의 분할 단위, paint의 디스플레이 리스트 표현, composite의 레이어 합성 방식. 같은 HTML/CSS 한 파일도 엔진마다 미세하게 다른 결과가 나오는 이유다.
여기에 JavaScript 인터프리터가 또 다른 축이다. V8, SpiderMonkey, JavaScriptCore(JSC), LibJS 모두 ECMAScript를 구현하지만 JIT 전략과 최적화 패턴이 다르다.
3장 · Chromium / Blink — 사실상의 표준
역사
- 2008년 Chrome 출시, 당시 WebKit 기반
- 2013년 4월 Google이 Blink 포크 발표 — WebKit과 결별
- 이유: WebKit2의 다중 프로세스 모델이 Chrome의 자체 아키텍처와 충돌
핵심 컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| Blink | HTML/CSS 레이아웃 엔진 |
| V8 | JavaScript 인터프리터 + JIT (TurboFan, Maglev) |
| Skia | 2D 그래픽 렌더링 |
| Aura | 데스크톱 UI 프레임워크 |
| Viz | GPU 컴포지터 |
| RenderingNG | 차세대 렌더링 파이프라인 (2021~) |
Chromium을 쓰는 브라우저
데스크톱: Chrome, Edge, Brave, Opera, Vivaldi, Arc, Comet, Dia, NAVER Whale, Kinza
모바일: Chrome Android, Edge Mobile, Brave Mobile, Samsung Internet (Chromium 베이스)
Comet과 Dia는 2025~2026년에 등장한 AI 통합 브라우저로, Perplexity의 Comet, The Browser Company의 Dia 모두 Chromium 베이스다.
Manifest V3 — 확장 API의 큰 변화
- MV2 종료 일정: 2024년 6월부터 단계적 종료, 2025년 완전 종료
- MV3 핵심 변화:
webRequest차단 모드 제한,declarativeNetRequest도입 - 영향 — uBlock Origin은 MV3 호환 "Lite" 버전 별도 출시, AdGuard, AdBlock 등 모두 마이그레이션
광고 차단 효율성 논쟁이 가장 큰 이슈였다. Firefox는 여전히 MV2 webRequest를 지원해 차단 확장의 마지막 보루로 남았다.
4장 · WebKit — Apple과 iOS의 엔진
핵심 컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| WebCore | HTML/CSS 레이아웃 |
| JavaScriptCore (JSC) | JS 인터프리터 + JIT (LLInt, Baseline, DFG, FTL) |
| CoreGraphics / Cairo | 렌더링 백엔드 (Apple은 CoreGraphics, Linux는 Cairo) |
| WebKit2 | 다중 프로세스 아키텍처 |
누가 WebKit을 쓰는가
- Safari (Apple)
- iOS 모든 브라우저 — Chrome for iOS, Edge for iOS, Firefox iOS도 모두 내부는 WebKit (App Store 정책)
- GNOME Web (Epiphany) — Linux의 WebKitGTK
- Wails, Tauri — 데스크톱 앱 프레임워크의 기본 백엔드
- PlayStation 시스템 브라우저, Nintendo Switch eShop 브라우저
- BlackBerry OS의 마지막 흔적
EU DMA — iOS 엔진 선택의 균열
2024년 3월, EU의 디지털 시장법(DMA) 시행 이후 Apple은 EU 지역 iOS에서만 제3자 엔진 사용을 허용했다. Brave가 자체 엔진을 임포트할 수 있게 됐고, Firefox iOS도 진짜 Gecko를 임포트하는 옵션이 열렸다. 다만 2026년 현재도 미국·일본·한국 사용자는 여전히 WebKit 강제 상태다.
WebKit2의 메리트
- 프로세스 분리: 탭마다 별도 프로세스
- 보안: 사이트 격리(Site Isolation) 지원
- Linux 데스크톱: WebKitGTK가 GNOME 생태계의 기반
5장 · Gecko — Mozilla의 굳건한 대안
핵심 컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| Gecko | HTML/CSS 레이아웃 |
| SpiderMonkey | JavaScript 인터프리터 + JIT (Baseline, Ion, Warp) |
| Stylo | CSS 스타일 시스템 (Servo에서 통합, Rust) |
| WebRender | GPU 기반 렌더러 (Servo 기원, Rust) |
| Quantum DOM | 다중 코어 활용 DOM 처리 |
Rust 통합의 의미
Gecko는 2017년부터 Stylo를 통합해 CSS 스타일링을 Rust로 재작성했다. 이는 Servo 프로젝트의 가장 큰 성과다. WebRender 역시 Servo에서 나와 Firefox의 메인 렌더러가 되었다. Quantum CSS, Quantum Compositor 등 "Quantum" 시리즈가 그 결과물이다.
Gecko를 쓰는 브라우저
- Firefox (Mozilla)
- Tor Browser — Firefox ESR 기반
- LibreWolf — Firefox 프라이버시 강화 포크
- Mullvad Browser — Tor 기반, 일반 브라우징용
- GNU IceCat — 100% 자유 소프트웨어 Firefox
- Pale Moon — Gecko 분기, 자체 엔진 Goanna로 진화
Firefox의 위기와 가능성
데스크톱 점유율 3% 안팎까지 떨어진 Firefox는 위기에 처해 있다. Google과의 검색 엔진 계약 갱신 불확실성, 광고 차단 사용자 비율 정상화, 점진적 Servo 코드 흡수가 2026년의 주요 토픽이다.
6장 · Servo — Rust 엔진의 부활
역사
- 2012년 Mozilla Research에서 시작
- 2017년 일부 컴포넌트(Stylo, WebRender)가 Gecko로 이식
- 2020년 Mozilla 구조조정으로 사실상 동결
- 2023년 Linux Foundation으로 이관 — 새 메인테이너 진영(Igalia, NLnet)이 합류
- 2024~2025년 활발한 커밋 재개
핵심 특징
- 순수 Rust로 작성된 독립 엔진
- WebGPU 우선 설계
- 병렬 레이아웃이 처음부터 가정된 아키텍처
- 임베디드 시나리오 (Tauri의 서보 백엔드 실험 등)
2026년의 Servo
여전히 일반 사용자용 브라우저는 아니다. 하지만 자동차 인포테인먼트, 셋톱박스, 임베디드 디바이스를 노린 통합 시도가 활발하다. Servo의 진짜 미래는 "독립 브라우저"보다는 "임베디드 웹 런타임"일 가능성이 높다.
7장 · Ladybird — 25년 만의 진짜 새 엔진
출발
Andreas Kling이 만든 SerenityOS의 일부로 시작했다. 2024년 Kling이 SerenityOS에서 분리해 Ladybird 단독 프로젝트로 출범시켰다.
철학
- C++로 처음부터 작성 — 기존 코드 한 줄도 안 받음
- 표준 우선 — WPT(Web Platform Tests) 통과율을 KPI로
- 비영리 재단 — Ladybird Browser Initiative
- 광고 없음, 추적 없음, 텔레메트리 없음
핵심 컴포넌트
| 컴포넌트 | 역할 |
|---|---|
| LibWeb | HTML/CSS 레이아웃 (Ladybird 본체) |
| LibJS | JavaScript 엔진 |
| LibCrypto / LibTLS | 암호 / TLS |
| LibCore | 이벤트 루프, IPC, 표준 라이브러리 |
2026년 알파 발표
2024년 6월 Kling은 "2026년 알파, 2027년 베타"를 공식 로드맵으로 발표했다. 2026년 현재 알파 발표가 임박했거나 이미 이루어졌다. 일반 사용자용은 아니지만 개발자들이 시험해볼 수 있는 첫 빌드다.
후원
- GitHub 창업자 Chris Wanstrath가 100만 달러 후원
- Shopify CEO Tobi Lütke 등이 합류
- 풀타임 메인테이너 10명 이상 고용
25년 만에 처음으로 처음부터 작성된 메이저 웹 엔진이라는 상징성이 크다.
8장 · Flow Browser — 멀티코어 렌더링의 독립 엔진
Ekioh와 Flow
영국 케임브리지의 Ekioh가 만든 독립 브라우저 엔진. 출발은 SVG 기반 셋톱박스 UI 엔진이었고, 이를 풀 브라우저로 확장한 것이 Flow다.
차별점
- 멀티코어 병렬 렌더링 — 페이지의 각 부분을 별도 코어에서 동시 처리
- 임베디드 타겟 — 자동차, 셋톱박스, 디지털 사이니지
- 유료 라이센스 모델 — 오픈소스 아님
시장 위치
일반 사용자 시장은 아니다. 하지만 임베디드 시장에서는 CEF, WebKit과 함께 비교 대상이 된다. 자동차 인포테인먼트의 HUD/CID 디스플레이가 Flow의 주요 영역이다.
9장 · Goanna — Pale Moon의 분기 엔진
Pale Moon의 길
- 2009년 Firefox 포크로 시작
- 2017년 Goanna 엔진을 독자 노선으로 분기 (Gecko 28 기반)
- 신규 웹 API 추가에는 보수적, 옛 XUL 확장 호환에 집중
- ESR과는 다른 길
누가 쓰는가
- Pale Moon 본체
- Basilisk — Pale Moon의 동시 개발 형제 브라우저
- K-Meleon — 가벼운 Windows 브라우저
XUL 확장을 끝까지 지원하는 거의 마지막 메이저 브라우저로 마니아층이 두텁다.
10장 · Otter Browser와 NetSurf, Dillo — 미니멀리스트들
Otter Browser
- Opera 12 (Presto 엔진) 인터페이스의 정신을 잇는다
- Qt 기반 UI
- 백엔드는 QtWebEngine (Chromium) 기본, 다른 백엔드 실험 중
NetSurf
- 영국에서 시작한 미니멀 브라우저
- 자체 레이아웃 엔진, Duktape JS 엔진
- RISC OS, Haiku, AmigaOS 같은 비주류 OS에서도 동작
- 모던 웹의 일부만 지원 (의도적)
Dillo 3.x
- C/C++로 작성된 초경량 브라우저
- 자체 렌더링 엔진
- 2023~2024년 부활 — 메인테이너 교체와 새 릴리스
- HTTP 클라이언트, 단순 HTML/CSS, 일부 JS
Lynx, w3m, Browsh
| 브라우저 | 특징 |
|---|---|
| Lynx | 가장 오래된 텍스트 브라우저 (1992~) |
| w3m | 일본 발 텍스트 브라우저, 인라인 이미지 지원 |
| Browsh | Firefox를 백엔드로 쓰는 터미널 브라우저 — 진짜 웹 페이지를 ASCII로 렌더 |
11장 · 임베디드 엔진 — 우리가 모르는 사이 쓰는 것들
CEF — Chromium Embedded Framework
데스크톱 앱에서 Chromium을 임베드하는 사실상 표준 방법이다.
- Spotify 데스크톱 앱
- Steam 클라이언트의 스토어, 친구 목록 UI
- OBS Studio의 일부 위젯
- Battle.net 런처
- 수많은 게임 런처와 도구
WebView2 — Windows의 Edge 임베드
Windows의 모든 WebView 컴포넌트가 2024년부터 WebView2로 통합되었다. Edge(Chromium)를 시스템 컴포넌트로 제공한다.
- Office, Teams, Visual Studio의 일부 UI
- Tauri Windows 백엔드의 기본값
WKWebView — iOS의 표준 WebView
iOS의 모든 인앱 브라우징은 WKWebView를 쓴다. Slack, Discord, Twitter/X 등 모든 SNS 앱의 인앱 브라우저가 WKWebView다.
WebView Android
Android의 WebView 컴포넌트는 Chrome 기반이다. Trichrome 패키지로 Chrome과 WebView가 같은 바이너리를 공유한다.
Electron / Tauri / Wails / NeutralinoJS
| 프레임워크 | 엔진 | 특징 |
|---|---|---|
| Electron | Chromium + Node.js | VS Code, Slack, Discord, Figma 데스크톱 |
| Tauri | OS 기본 WebView (WebView2 / WKWebView / WebKitGTK) | Rust 백엔드, 작은 바이너리 |
| Wails | OS 기본 WebView | Go 백엔드 |
| NeutralinoJS | OS 기본 WebView | 초경량, 시스템 브라우저 활용 |
Tauri/Wails/Neutralino의 공통점은 시스템 WebView 활용이다. 즉 사용자의 OS가 Mac이면 WebKit, Linux면 WebKitGTK, Windows면 WebView2로 같은 앱이 다른 엔진 위에 돈다. Electron만 일관성을 제공하지만 그만큼 무겁다.
12장 · JavaScript 엔진 — V8, SpiderMonkey, JSC, LibJS
V8 (Chromium)
| 단계 | 이름 |
|---|---|
| Interpreter | Ignition |
| Tier 1 JIT | Sparkplug |
| Tier 2 JIT | Maglev (2024~) |
| Top tier JIT | TurboFan |
WebAssembly 백엔드는 Liftoff(빠른 컴파일) + TurboFan(최적화)이다.
SpiderMonkey (Gecko)
- Interpreter
- Baseline JIT
- Ion (옛 Top tier)
- Warp (2021~, IonMonkey 후속)
SpiderMonkey는 ECMAScript 사양 새 제안의 첫 구현이 자주 나오는 엔진이다.
JavaScriptCore — JSC (WebKit)
- LLInt — Low Level Interpreter
- Baseline JIT
- DFG — Data Flow Graph JIT
- FTL — Faster Than Light JIT (LLVM 기반에서 B3 백엔드로 진화)
LibJS (Ladybird)
- C++로 처음부터 작성
- WPT의 JS 테스트를 KPI로 삼아 ECMAScript 사양 충실 구현
- JIT 없이 인터프리터부터 시작 (단계적 JIT 추가 계획)
성능 비교 — 2026년 기준
| 벤치마크 | V8 | JSC | SpiderMonkey | LibJS |
|---|---|---|---|---|
| Speedometer 3.0 | 매우 빠름 | 매우 빠름 | 빠름 | 알파 |
| JetStream 2.2 | 매우 빠름 | 매우 빠름 (Apple Silicon 1위) | 빠름 | 알파 |
| MotionMark 1.3 | 좋음 | 좋음 | 보통 | 미평가 |
Apple Silicon에서 JSC가 V8을 능가하는 경우가 많은 것은 ARM64 코드 생성 최적화의 차이가 크다.
13장 · 렌더링 백엔드 — Skia, WebRender, CoreGraphics
Skia (Chromium)
- 2D 그래픽 라이브러리
- Google이 인수 (원래 Skia Inc.)
- Flutter도 사용 → 모바일/데스크톱 다중 플랫폼
- GPU 백엔드: Ganesh, Graphite (차세대, 2024~)
WebRender (Gecko)
- Rust로 작성
- GPU 우선 — 모든 페인팅을 GPU 셰이더로
- Servo 출신, 2019년부터 Firefox 기본 백엔드
CoreGraphics / Metal (WebKit)
- macOS/iOS의 시스템 그래픽 API 활용
- Metal 백엔드로 점진 이전
- WebKitGTK는 Cairo + OpenGL/Vulkan
LayoutNG (Blink) / RenderingNG (Blink)
- LayoutNG — Blink의 차세대 레이아웃 엔진, 2019~
- RenderingNG — LayoutNG + 페인트/컴포지트의 전반적 재설계, 2021~
- 목표: 정확성, 성능, 확장성 (CSS Houdini 같은 미래 기능을 위한 토대)
14장 · 웹 표준 거버넌스 — W3C, WHATWG, TC39, IETF
누가 무엇을 표준화하나
| 기관 | 영역 |
|---|---|
| W3C | CSS, ARIA, Accessibility, 일부 API |
| WHATWG | HTML, DOM, Fetch, URL, Streams |
| TC39 | ECMAScript (JavaScript 언어) |
| IETF | HTTP, TLS, QUIC, WebSocket 같은 네트워크 |
| Khronos | WebGL, WebGPU 사양 일부 |
의사 결정 메커니즘
- WHATWG: living standard, 합의 기반
- W3C: TR (Technical Report) 트랙, 권고안(Recommendation)
- TC39: 4단계 프로세스 (Stage 0~4)
- IETF: RFC
Google이 너무 강해진 문제
W3C와 WHATWG의 주요 결정에 Google 직원의 비중이 절반에 가깝다. 사양과 구현이 같은 회사에서 나오면 표준은 결국 구현을 따라간다.
일본의 W3C 활동
W3C 일본 노드는 매우 활발하다. KDDI, NTT, Yahoo Japan 등이 회원으로 참여하고, 일본어 텍스트 레이아웃(writing-mode: vertical-rl, 루비 등) 표준화에 영향을 끼쳤다.
15장 · EU DMA와 iOS 엔진 선택 — 균열의 시작
디지털 시장법 시행
2024년 3월부터 EU 시장에서 Apple은 다음을 허용해야 했다.
- 제3자 앱 스토어 (사이드로딩 비슷)
- WebKit이 아닌 브라우저 엔진 (EU iOS 한정)
- 기본 브라우저 변경 선택 화면 의무
iOS 엔진 자유화의 현실
- Brave, Firefox(Mozilla)는 EU iOS용으로 자체 엔진 임포트 가능
- 다만 별도 빌드 필요 — 미국, 일본, 한국에서는 여전히 WebKit
- Apple의 까다로운 자격 요건(보안 검토, 매년 갱신)이 진입 장벽
2026년 현재의 상태
- 일부 브라우저가 EU에서 비-WebKit 엔진을 출시했으나, 점유율은 미미
- 일반 사용자는 차이를 잘 느끼지 못함
- 그러나 선례가 만들어졌다는 점이 가장 큰 의의
16장 · 브라우저 선택 화면 — 유럽과 그 너머
Choice Screen의 부활
2024년 EU에서 시작된 브라우저 선택 화면이 점진적으로 다른 지역으로 확산되었다.
- 영국: 2025년 CMA가 유사 규정 검토
- 일본: 2024년 일본판 디지털 플랫폼 거래 투명화법이 비슷한 방향
- 한국: 공정거래위원회가 2025년부터 모바일 OS 사전 탑재 검토
선택 화면의 효과
- Firefox, Brave가 EU에서 신규 유입 증가
- 한국·일본의 NAVER Whale, Sleipnir, Lunascape 같은 로컬 브라우저에도 잠재 기회
17장 · 한국의 브라우저 — Whale, Samsung Internet, 알서포트
NAVER Whale
- 2017년 출시, Chromium 기반
- 한국 사용자 점유율 약 8~12% (2026년 추정)
- 사이드바, 멀티탭, 사전, 번역, 캡처 등 통합 도구
- 교육용 시장에서 큰 활약 — 학교 디지털 교과서 인프라
Samsung Internet
- Chromium 기반, Galaxy 시리즈 기본 브라우저
- 모바일 점유율 한국 약 15%, 글로벌 5~6%
- 광고 차단 통합(2017~), 비밀 모드 강화 등 프라이버시 기능
- WebXR 지원 우수
알서포트 Browser
- RSUPPORT 발 기업용 브라우저
- 원격 지원, 화상회의 통합
- B2B 중심
카카오 Brunch / Daum 검색 내장 뷰어
브라우저는 아니지만 모바일 카카오톡 인앱 브라우저가 한국에서 차지하는 비중이 크다. WebKit Mobile(iOS), Chrome WebView(Android) 기반.
18장 · 일본의 브라우저 — Sleipnir, Lunascape, Kinza
Sleipnir
- Fenrir 발 일본 브라우저
- Chromium 기반(과거에는 Trident 기반이었음)
- 제스처 기능 강력
- macOS, iOS 버전 인기
Lunascape
- 한때 Trident + Gecko + WebKit 멀티 엔진으로 유명
- 2026년 현재는 Chromium 베이스로 단순화
- "탭마다 엔진 선택" 같은 실험적 기능이 향수 포인트
Kinza
- Chromium 기반 일본 브라우저
- 2019년 일반 사용자 대상 개발 중단, 기업용으로 전환
- B2B와 교육 시장에서 잔존
Vivaldi의 일본 인기
Vivaldi(Chromium 기반)는 일본에서 유난히 인기다. Opera 출신 직원들이 만든 점, 일본 사용자가 좋아하는 커스터마이징 자유도 때문.
일본 WebKit 활동
소니의 PlayStation 브라우저, 닌텐도 Switch eShop 브라우저가 WebKit 임베드 사용자다. JSC의 임베디드 최적화에 일본 엔지니어 기여가 많다.
19장 · 성능 벤치마크 — Speedometer 3.0, JetStream, MotionMark
Speedometer 3.0
- BrowserBench가 운영, Apple/Google/Mozilla 공동 개발
- React, Vue, Svelte, Angular, Preact, Lit 등 현실 프레임워크의 TodoMVC 벤치
- 2024년 3.0 출시 — 더 현실적인 워크로드
- 2026년 모든 메이저 엔진이 이 벤치를 1차 KPI로 삼는다
JetStream 2.2
- Apple이 운영하는 JS 벤치마크 모음
- WebAssembly, JS, 마이크로벤치 혼합
- Apple Silicon에서 JSC가 V8을 추월하는 경우 많음
MotionMark 1.3
- 그래픽 성능 벤치
- Canvas, SVG, CSS 애니메이션
- 컴포지터/렌더러 차이를 잘 드러냄
Speedometer 결과 - 2026년 추정 트렌드
| 브라우저 | 데스크톱 | 모바일 |
|---|---|---|
| Chrome | 상위 | 상위 |
| Safari | 상위 (Apple Silicon에서 1위 흔함) | 상위 |
| Firefox | 중상위 | 중상위 |
| Edge | 상위 (Chrome과 유사) | 상위 |
| Ladybird | 알파 | 미측정 |
20장 · 미래 — Servo 부활, Ladybird 베타, Web Components, WebGPU 안정화
2026~2028 로드맵
Servo
- 임베디드 통합 사례 확대
- Tauri Servo 백엔드 실험 진전
- 자동차 인포테인먼트 POC
Ladybird
- 2026년 알파
- 2027년 베타 목표
- 2028년 1.0 비전
Web Components
- Declarative Shadow DOM 안정화
- Custom Elements 의미적 활용 확대
- Form-Associated Custom Elements
WebGPU
- 2025년 모든 메이저 엔진 안정 지원 완료
- 2026년 WebGPU 1.1 — Subgroups, 64-bit 정수 등
WebAssembly Component Model
- Wasm GC + Component Model로 새 임베디드 시나리오
- 브라우저 외부에서 Wasm이 더 큰 시장 형성
진짜 다양성을 위한 시나리오
- Ladybird 1.0이 일반 사용자도 무리 없이 쓸 수준이 되면 — 25년 만의 새 메이저 엔진 등장
- Servo가 자동차/임베디드의 표준 엔진이 되면 — 새로운 영역에서의 다양성
- EU DMA 모델이 다른 지역으로 확산되면 — iOS WebKit 강제의 균열이 더 벌어짐
- Firefox의 점유율 회복 — 가능성은 낮지만, 광고 차단 사용자가 늘면 가능
21장 · 개발자로서 이 다양성에 어떻게 대응할까
테스트 매트릭스
| 브라우저 | 우선순위 |
|---|---|
| Chrome (Blink) 최신 + ESR | 필수 |
| Safari (WebKit) 최신 + 직전 | 필수 (iOS 포함) |
| Firefox (Gecko) 최신 + ESR | 필수 |
| Edge | Chromium이지만 일부 동작 차이 |
| Samsung Internet | 모바일 한국 시장에서 필수 |
| Whale | 한국 시장 필요시 |
진정한 크로스 브라우저 점검 항목
- CSS: Container Queries, View Transitions, Anchor Positioning의 브라우저별 미세 차이
- JS: 새 ECMAScript 제안의 구현 차이 (Set methods, Promise.withResolvers 등 2024 추가분)
- Forms:
<input type="date">등 UI 위젯의 외관 차이는 여전히 큼 - Storage: SharedArrayBuffer, COOP/COEP 같은 보안 헤더의 요구사항
- Service Worker: Safari가 일부 기능(
importScripts, BackgroundSync)에서 늦다
폴리필과 점진적 향상
// 기능 감지 우선
if ('startViewTransition' in document) {
document.startViewTransition(() => updateUI())
} else {
updateUI()
}
// CSS @supports
// @supports (anchor-name: --x) { ... }
22장 · 윤리적 고민 — 광고 차단, 텔레메트리, 프라이버시
광고 차단의 미래
- MV3 전환으로 차단 효율 일부 저하 (Chromium 계열)
- Firefox는 여전히 MV2를 지원해 차단 사용자의 마지막 보루
- iOS는 Safari Content Blocker가 표준 — 정적 룰셋 방식
- Brave는 자체 차단 내장
텔레메트리
- Chrome, Edge: 상당량 송신, 옵트아웃 옵션 제한적
- Firefox: 상당히 투명, 옵트아웃 명확
- Brave, LibreWolf: 거의 없음
- Ladybird: 0 — 처음부터 없도록 설계
광고 ID와 추적 방지
- WebKit의 ITP (Intelligent Tracking Prevention)
- Firefox의 ETP (Enhanced Tracking Protection)
- Chrome의 Privacy Sandbox, Topics API (광고 산업과 타협)
- Brave의 Shield, P3A 메트릭스
23장 · 한국 / 일본 자료 — 어디서 따라잡을까
한국
- 네이버 D2 (d2.naver.com) — Whale 팀의 Chromium/Blink 글이 종종 올라온다
- 삼성 인터넷 블로그 — Samsung Internet 개발자가 Chromium 변화를 글로 정리
- 카카오 테크 블로그 — 인앱 브라우저, WebView 관련
- TOAST UI 블로그 — 표준과 구현의 경계
- MDN 한국어 — 일부 번역되지만 영문판이 빠르다
일본
- html5.jp — 사양 일본어 번역, W3C 사양 동향에 강하다
- mizchi 블로그 (zenn.dev) — 프런트엔드/엔진 분석 비판적 시각
- WebKit 블로그 일본어 미러 — JSC 관련 기술 글
- Web Developer Conference Tokyo — 매년 엔진 관련 발표
- MDN 일본어 — 영문판과 거의 동시 갱신
영어권
- web.dev — Google 공식
- WebKit.org Blog — Apple 공식
- Mozilla Hacks — Mozilla 공식
- Igalia 블로그 — Servo, WebKit, Chromium 모두 커밋하는 컨설팅사
- rsms.me / Surma 블로그 — 엔진 내부 글
24장 · 직접 빌드해 보기 — Chromium, Firefox, Ladybird
Chromium 빌드
mkdir chromium && cd chromium
fetch --nohooks chromium
cd src
./build/install-build-deps.sh
gclient runhooks
gn gen out/Default
autoninja -C out/Default chrome
수 시간~수십 시간 걸린다. SSD 약 100GB 필요.
Firefox 빌드
git clone https://github.com/mozilla/gecko-dev.git
cd gecko-dev
./mach bootstrap
./mach build
./mach run
mach라는 빌드 도구가 모든 것을 추상화한다.
Ladybird 빌드
git clone https://github.com/LadybirdBrowser/ladybird.git
cd ladybird
./Meta/ladybird.sh run
Linux/macOS에서 비교적 짧은 시간에 빌드된다. Ladybird의 매력 중 하나는 빌드 단순성이다.
직접 빌드의 의미
- 표준 동작을 코드 차원에서 확인할 수 있다
- 버그를 직접 패치할 수 있다 — 패치를 업스트림에 제안할 기회
- 엔진의 진짜 비용을 체감할 수 있다 — 빌드 시간, 디스크 사용량, 의존성
25장 · 마무리 — 2026년의 엔진 풍경을 정리하며
브라우저 엔진은 단순한 도구가 아니다. 웹이라는 공공재가 어떻게 표현되고 실행되는지를 결정하는 인프라다.
2026년 현재의 풍경은 양면적이다.
좋은 점:
- 메이저 엔진 셋이 모두 모던화 완료 (Blink RenderingNG, Gecko Stylo/WebRender, WebKit Metal)
- Servo가 부활했고 Ladybird가 알파를 발표한다
- EU DMA가 iOS WebKit 강제에 균열을 냈다
- 임베디드 시장이 커지면서 다양한 엔진이 살아남을 공간이 있다
우려되는 점:
- 데스크톱 Chrome/Blink 점유율은 여전히 압도적
- Firefox는 위태롭다
- 모든 모바일 인앱 브라우저는 사실상 두 엔진(WebView/WKWebView)에 종속
- 새 엔진이 표준 호환을 따라잡는 데 수년 더 걸린다
당신이 개발자라면, 단순히 Chrome에서 잘 동작한다고 끝이 아니다. Safari, Firefox에서 직접 열어보자. 가능하면 Ladybird 알파도 시험해보자. 그것이 웹의 다양성을 지키는 가장 작은 실천이다.
2026년의 웹 다양성은, 우리가 의식적으로 선택할 때만 살아남는다.
참고 / References
- Chromium 프로젝트 — chromium.org
- Blink 렌더링 엔진 — chromium.googlesource.com/chromium/src/+/main/third_party/blink
- WebKit 프로젝트 — webkit.org
- Mozilla Firefox / Gecko — firefox-source-docs.mozilla.org
- Servo — servo.org
- Ladybird Browser — ladybird.org
- LibWeb / LibJS (SerenityOS, Ladybird) — github.com/LadybirdBrowser/ladybird
- Flow Browser (Ekioh) — ekioh.com/flow-browser
- Pale Moon / Goanna — palemoon.org
- NetSurf — netsurf-browser.org
- Dillo Browser — dillo-browser.github.io
- V8 JavaScript Engine — v8.dev
- SpiderMonkey — spidermonkey.dev
- JavaScriptCore — webkit.org/blog/category/javascriptcore
- Skia Graphics — skia.org
- WebRender — github.com/servo/webrender
- CEF (Chromium Embedded Framework) — bitbucket.org/chromiumembedded/cef
- Microsoft Edge WebView2 — developer.microsoft.com/microsoft-edge/webview2
- Tauri — tauri.app
- Electron — electronjs.org
- Wails — wails.io
- Speedometer 3 — browserbench.org/Speedometer3.0
- JetStream 2 — browserbench.org/JetStream
- MotionMark — browserbench.org/MotionMark1.3
- W3C — w3.org
- WHATWG — whatwg.org
- TC39 — tc39.es
- EU Digital Markets Act — digital-markets-act.ec.europa.eu
- NAVER Whale — whale.naver.com
- Samsung Internet Developers — developer.samsung.com/internet
- Sleipnir (Fenrir) — fenrir.co.jp/sleipnir
- Lunascape — lunascape.jp
- 네이버 D2 — d2.naver.com
- html5.jp — html5.jp
- Igalia Blog — igalia.com/blog
- Andreas Kling 블로그 — awesomekling.github.io