cwbrowser: Zig로 작성된 새로운 브라우저 엔진

cwbrowser는 Zig 시스템 언어로 처음부터 작성된 새롭고 가벼운 웹 브라우저 및 렌더링 엔진입니다. 2년간의 단독 개발을 거쳐, 이 엔진은 기존의 Chromium (Blink), WebKit, 또는 Gecko 엔진을 대체하며 HTML 파서, CSS 캐스케이드, 레이아웃 엔진, 그리고 페인트 파이프라인을 맞춤 구현합니다.

기술 아키텍처

cwbrowser는 현대적인 시스템 언어를 활용해 높은 성능과 작은 발자국을 달성합니다. 아키텍처는 다음 구성 요소로 나뉩니다:

  • Rendering Engine (Zig): 전체 파이프라인—토크나이저, DOM 구성, CSS 파서, 레이아웃/페인트 단계—이 모두 Zig로 직접 작성되었습니다. 이 접근 방식은 수동 메모리 관리를 활용하고 가비지 컬렉터나 숨겨진 런타임을 피하여 효율성을 극대화합니다.
  • JavaScript Engine (V8): 현대적인 JIT 컴파일 VM을 새로 구축하는 데 수십 년이 걸리는 노력을 피하기 위해, cwbrowser는 Google의 V8 엔진을 내장합니다. V8은 맞춤 DOM에 바인딩되어 브라우저가 JavaScript 실행을 처리하면서도 맞춤 렌더링 경로를 유지할 수 있게 합니다.
  • Layout and Paint: 엔진은 직접 구현한 블록/인라인 레이아웃과 Acid3 레퍼런스에 맞춰 픽셀을 렌더링하도록 설계된 페인트 파이프라인을 구현합니다.

성능 및 표준 준수

개발자에 따르면, cwbrowser는 표준 준수를 평가하는 벤치마크인 Acid3 테스트에서 완벽한 100/100 점수를 달성했습니다. 초기 벤치마크에서 엔진은 동일한 하드웨어에서 Google Chrome보다 약 2배 빠른 성능을 보인다고 주장합니다.

커뮤니티 피드백 및 기술 비평

Hacker News에서 발표된 이후, 이 프로젝트는 기술 커뮤니티로부터 엇갈린 반응을 받았습니다. 일부는 단독 개발자의 성과를 칭찬했지만, 여러 전문가들은 브라우저의 현재 상태와 타당성에 대해 비판적인 점을 제기했습니다.

표준 및 테스트

비평가들은 Acid3가 오래된 벤치마크라고 지적했습니다. 한 사용자는 최신 사양이 테스트와 크게 달라져 현재 버전의 Chrome, Safari, Firefox가 더 이상 완벽히 통과하지 못한다고 언급했습니다. 또한 커뮤니티는 Acid3가 전체 웹 플랫폼 요구사항의 극히 일부에 불과하다고 강조했습니다.

"Acid3는 100개의 테스트이지만, 인터넷의 실제 비율에서 동작하는 브라우저를 만들려면 Web Platform Tests를 구성하는 52,000개 이상의 테스트와 거의 200만 개의 서브테스트를 통과해야 합니다."

검증 및 투명성

여러 사용자는 프로젝트의 진위에 대해 회의감을 표명했으며, 소스 코드, 바이너리, 혹은 상세한 기술 문서가 제공되지 않는다고 지적했습니다. 일부는 랜딩 페이지를 "vibe coded" 혹은 "AI slop"이라고 표현하며, 프로젝트가 손으로 작성된 것이 아니라 자동 생성된 것일 가능성을 시사했습니다.

기능 격차

기술 관찰자들은 현재 제공된 렌더링을 기준으로 엔진이 아직 SVG를 지원하지 않으며, Acid3 테스트를 넘어 현대적이고 복잡한 웹 페이지를 렌더링할 수 있다는 추가 증거를 요구하고 있다고 지적했습니다.

가용성

현재 Apple Silicon용 macOS에 대한 공개 프리뷰 빌드가 출시를 위해 준비 중입니다. 이 프로젝트는 아직 오픈 소스가 아니며, 관심 있는 사용자는 이메일을 통해 베타 알림을 신청할 수 있습니다.

Sources