파이어폭스, 더 빨라진다

모질라 '프로젝트 퀀텀' 시동…결과물 2017년말 공개

컴퓨팅입력 :2016/11/02 16:56    수정: 2016/11/02 17:21

파이어폭스는 한때 데스크톱에서 가볍고 빠르며 편리한 브라우저로 손꼽혔지만, 모바일 세계에선 주목받지 못하고 있다. 터를 잡았던 데스크톱 환경에서도 구글 크롬 같은 대안에 밀려 인기를 잃는 추세다. 경쟁자들에 비해 그리 가볍지도 빠르지도 않다는 비판마저 듣는다.

파이어폭스가 모바일과 데스크톱을 아우르는 더 빠른 브라우저로 다시 태어날 수 있을까? 개발사 모질라가 이런 의지를 담은 프로젝트 '퀀텀(Quantum)' 추진을 선언했다. 최신 하드웨어 성능을 끌어내고 활용할 수 있는 파이어폭스용 차세대 웹 엔진을 만들겠다는 계획이다.

[출처=모질라]

프로젝트의 목표는 기존 파이어폭스 엔진 '게코(Gecko)'를 기반으로 확연히 나은 기능과 성능을 제공하겠다는 것으로 요약된다. 모질라는 앞서 선보인 프로그래밍 언어 러스트(Rust)와, 이를 사용해 개발 중인 또다른 엔진 '서보(Servo)'의 일부 기술을 활용할 방침이다. 러스트의 동시성(concurrency)과 서보의 고성능 컴포넌트를 활용해 파이어폭스 브라우저에 병렬화(parallelization) 및 GPU 오프로딩 기술을 담겠다는 구상이다. 기기의 멀티코어CPU와 고성능 GPU를 활용해 성능에 영향을 미치는 연산 속도를 끌어올리는 기술을 투입한단 뜻이다.

[☞관련기사: "모바일 브라우저, PC보다 10배 빨라진다"]

[☞관련기사: 파이어폭스 렌더링 엔진 세대교체 예고]

[☞관련기사: 모질라 'C++ 대체 언어', 새 파이어폭스로 확산]

모질라 측은 퀀텀 프로젝트를 통해 추구하는 성능 개선 변화를 '양자도약(Quantum Leap)'에 비유했다. 모질라 플랫폼엔지니어링 책임자 데이빗 브라이언트가 지난달 27일 미디엄 블로그를 통해 퀀텀 프로젝트를 소개하는 글에 이같은 야심찬 메시지가 담겼다. 일부 옮겨 봤다.

[☞참조링크: A Quantum Leap for the Web]

"… 퀀텀은 패럴렐리즘을 포괄적으로 사용하고 현대적인 하드웨어 성능을 최대한 이끌어내려는 것이다. 서보 프로젝트에서 채택한 몇 가지를 포함해 여러 컴포넌트를 갖고 있다. 결과로 만들어질 엔진은 성능에 '양자도약'을 창출해, 모바일 및 데스크톱 운영체제 양쪽 환경에서 빠르고 매끄러운 사용자 경험을 강화할 것이다. 전체 웹 경험을 확 바꿔 놓을 성능 강화를 추구한다. 페이지는 더 빨리 로딩되고. 스크롤은 아주 부드럽게 움직이고. 애니메이션과 인터랙티브 앱은 즉각 반응하며 일정한 프레임율을 유지하며 콘텐츠 집약적인 작업이 가능해지고 … "

브라이언트는 기존 게코를 퀀텀 프로젝트에서 목표로 삼는 차세대 웹 엔진 개발의 출발선으로 삼았지만, 최신 기기의 연산 성능에 따른 이점을 온전히 활용해 미래지향적인 웹 환경에 대비할 수 있게 만들겠다고 언급했다. 정적인 웹 문서 환경을 넘어 사용자와 수많은 이미지, 오디오, 비디오로 상호작용하고 복잡한 연산을 수행하는 웹기반 서비스와 애플리케이션도 무난하게 돌릴 수 있는 수준을 지향한다는 얘기다. 이를 위해 기존의 여러 기술에 대해 추상적인 수준부터 실제 구현 방식까지 새롭게 접근하려는 시도를 병행하고 있다.

"우리는 퀀텀 프로젝트와 별개로 진행되지만 그 일환으로 볼 수 있는 여러 관련 조치를 수행 중이다. 수많은 낡은 가정과 기존 구현 결과물을 다시 살펴 보고 있다. 고차원적인 접근으로 브라우저 엔진이 작동하는 방식의 여러 근본적인 측면들을 다시 생각하기도 한다. CSS 스타일을 적용하는 방법이나 DOM오퍼레이션을 실행하는 방법이나 기기 화면에 그래픽을 렌더링하는 방법 등 근본적인 빌딩블록을 재설계(re-engineering)하려고 한다."

퀀텀 프로젝트를 소개한 모질라 위키 페이지에 따르면, 퀀텀 프로젝트에서 재설계하려는 요소들은 rust-bindgen, Quantum CSS, Quantum Render, Quantum Compositor, Quantum DOM, Quantum Flow, 6가지다. rust-bindgen은 러스트 언어를 위한 C++ 바인딩 생성기다. C++로 개발된 파이어폭스와 퀀텀 프로젝트에서 만들어질 러스트 기반 컴포넌트를 연결하는 코드를 만드는 역할을 한다. 나머지 5개 요소는 각각 게코 엔진에 병렬화 CSS 스타일 시스템 이식, GPU 렌더러 이식, 컴포지터 프로세스 분리, 탭별 프로세스 분리, UI 최적화를 위해 만들어진다.

[☞참조링크: Quantum - MozillaWiki]

모질라는 완성도를 갖춘 퀀텀 프로젝트 첫 결과물을 내년말께 선보일 예정이다. 안드로이드, 윈도, 맥, 리눅스용으로 배포할 계획이다. 아이폰 및 아이패드용으로는 개발되더라도 일반 사용자들이 쓸 수 없을 전망이다. 애플이 앱스토어에서 iOS 내장 엔진 '웹킷(WebKit)'을 쓰지 않는 브라우저 앱 배포를 허용하지 않고 있기 때문이다. 현재 출시된 iOS용 파이어폭스 앱도 게코가 아니라 iOS 내장 엔진을 쓴다. 브라이언트는 "우린 언젠가 이 새로운 엔진을 iOS용으로도 제공할 수 있길 기대한다"고 언급했다.

[☞관련기사: 모질라, iOS용 파이어폭스 정식판 공개]

모질라가 파이어폭스에 브라우저의 핵심 구조를 갈아 엎는 수준의 변화를 추구한 건 처음이 아니다. 앞서 일렉트롤리시스(Electrolysis)라는 이름으로 진행한 프로젝트가 있었다. 브라우저의 UI 프로세스와 웹사이트 정보를 처리하는 콘텐츠 프로세스를 분리해 안정성과 성능을 높이는 목적으로 진행됐다. 그 결과물은 파이어폭스48 정식 배포가 시작된 3개월쯤 전부터 단계별로 확산되고 있다. 그 후속 작업으로 퀀텀 프로젝트가 시작된 셈이다.

관련기사

[☞관련기사: 파이어폭스 브라우저 핵심 구조 바뀐다]

[☞관련기사: "서핑하다 먹통? 노!"…불여우가 달라졌다]