Servo, 병렬 브라우저 엔진 프로젝트

Servo 는 애플리케이션 및 임베디드 시스템에서의 사용을 위해 설계된 고성능 최신 브라우저 엔진입니다.


모질라 재단이 후원하고 새로운 시스템 프로그래밍 언어인 Rust로 작성된 Servo 프로젝트는 병렬 처리, 보안, 모듈화, 성능 향상을 목표로 합니다.

Servo nightly build 다운로드

servo.org rendered with Servo 2018년 12월 12일에 Servo로 렌더링된 페이지

모질라 리서치에서 창안한 Servo 프로젝트는 개인부터 모질라 및 삼성과 같은 기업에 이르기까지 전 세계적인 커뮤니티에 의해 개발되고 있습니다.

Servo는 현재 Linux, macOS, Windows 그리고 Android를 지원합니다.

시작하기

필수 조건

GitHub 페이지에서 특정 시스템에 설치하기 위해 필요한 것을 찾을 수 있습니다.

빌드

Servo는 Rust 패키지 매니저인 Cargo와 함께 빌드되었습니다. 또한, 모질라의 Mach 도구를 이용하여 빌드 및 기타 작업을 조정합니다.

일반적인 빌드

Servo를 개발 모드로 빌드하면 개발에 유용하게 사용할 수 있습니다. 그러나 바이너리가 빌드되는데 걸리는 시간이 오래 소요될 수 있습니다.

git clone https://github.com/servo/servo
cd servo
./mach build --dev
./mach run tests/html/about-mozilla.html

벤치마킹, 성능 테스트 또는 실사용을 위해 --release 플래그를 추가하여 최적화된 빌드를 만드세요.

./mach build --release
./mach run --release tests/html/about-mozilla.html

실행

해당 명령어를 이용하여 Servo를 실행할 수 있습니다../mach run [url]

명령어 옵션

  • -p INTERVAL 프로파일러를 활성화하여 매 INTERVAL 초 마다 콘솔에 덤프를 출력합니다.
  • -s SIZE 윈도우의 크기를 설정합니다. 기본값은 512입니다.
  • -z 모든 그래픽 출력을 비활성화합니다. JS 실행이나 레이아웃 테스트에 유용합니다.

참여

Servo 프로젝트는 경험이 풍부한 개발자부터 새로운 개발자 모두의 참여를 장려합니다. 페이지 하단의 링크를 통하여 더 자세한 정보를 얻을 수 있으며 Servo를 더욱 좋게 만들기 위하여 전 세계에서 일하고 있는 수백 명의 참여자가 함께합니다.

Servo에 대한 참여나 그에 따른 의존성은 GitHub의 Pull Request를 통하여 이루어져야 합니다. 각 Pull Request는 핵심 참여자들이 (패치 적용의 권한이 있는 사람) 메인 트리에 패치를 하거나 필요한 변경 사항에 대한 피드백을 받습니다. 모든 참여는 정해진 이 Pull Request 형식을 따라 해야하며, 심지어 핵심 참여자들도 따라야 합니다.

어떤 문제를 해결하고 싶으시다면, 먼저 GitHub issue에 의견을 제시해주세요. 이는 같은 문제에 대한 참여자들의 중복된 노력을 방지하기 위한 것입니다.

만약 쉬운 버그를 찾고 있으시다면 GitHub의 E-Easy issue 태그를 살펴보세요.

Servo에 관한 작업을 시작하는 방법에 대해서는 HACKING_QUICKSTART.md 를 참고해주세요.

Pull Request 체크리스트

  • master 브랜치에서 새로 브랜치를 생성하시고, 필요한 경우 Pull Request 전에 현재 master 브랜치로 rebase 해주세요. master와 완전히 병합되지 않는 경우 변경 내용을 다시 적용하라는 메시지가 표시될 수 있습니다.
  • 서브 모듈 업데이트가 패치 된 커밋이 아닌 한 Pull Request를 하지 말아주세요.
  • 패치를 검토하지 않거나, 검토할 특정 사용자가 필요한 경우, 검토자에게 Pull Request이나 comment를 요청하거나 irc.mozilla.org의 #servo 채널에서 검토를 요청할 수 있습니다.
  • 수정된 버그 또는 새로운 기능과 관련된 테스트를 추가해주세요. DOM 변경의 경우 대게 웹 플랫폼 테스트 (레이아웃, reftest) 입니다. 자세한 내용은 테스트 가이드 를 참고해주세요.
  • 자세한 git 명령어들은 GitHub 워크플로우 를 참고해주세요.
참여 시작하기

커뮤니케이션

Servo의 참여자들은 irc.mozilla.org 의 #servo 채널을 빈번히 사용합니다. dev-servo 메일링 리스트에 가입할 수 있습니다.

행동 규칙

우리는 Rust 행동 규칙을 따릅니다.

다른 언어의 페이지: English, 简体中文, 正體中文(繁體中文), 日本語