서보 (레이아웃 엔진)

위키백과, 우리 모두의 백과사전.
서보
Servo
개발자모질라 리서치, 삼성그룹
저장소 위키데이터에서 편집하기
프로그래밍 언어러스트
운영 체제크로스 플랫폼 모바일
종류레이아웃 엔진
라이선스MPL 2.0[1][2]
웹사이트servo.org

서보(Servo)는 삼성그룹과 함께 모질라 리서치가 개발 중인 실험적인 웹 브라우저 레이아웃 엔진으로, 안드로이드, ARM 프로세서에 이식된다.[3] 또한 Linux, macOS, Windows, UWP등도 역시 지원한다.[4] 프로토타입은 병렬도가 높은 환경을 만들어내는 것을 추구하며, 여기에서 수많은 구성 요소(이를테면 렌더링, 레이아웃, HTML 구문 분석, 이미지 디코딩 등)들이 별도의 세밀한 태스크들에 의해 관리된다. 이 프로젝트는 현재 개발 중인 러스트라는 프로그래밍 언어와 공생 관계에 있다.

서보는 다른 소프트웨어 내에서 엔진을 호스팅하기 위한 일정한 API를 제공한다. 블링크 레이아웃 엔진을 자사 제품에 통합하기 위해 어도비와 밸드 코퍼레이션이 사용하는 API의 하나인 크로미엄 임베디드 프레임워크와 호환되도록 설계되어 있다. 서보를 대체 엔진으로 이용하면 실제 테스팅이 단순해진다. 2015년 동안 서보를 파이어폭스 포 모바일파이어폭스 OS에 추가할 계획이 있다.[5]

서보가 사용하는 두 개의 중대한 구성 요소들은 기존에 존재하는 모질라의 C++ 코드에 기반을 둔다. 자바스크립트 지원은 스파이더몽키가 제공하며, 2차원 그래픽 라이브러리 애저(Azure)는 OpenGL, Direct3D와 연동하는데 사용된다.[6]

서보는 미스테리 공상극장 3000이라는 텔레비전 쇼에 등장하는 로봇 톰 서보에서 이름을 땄다.[7]

모질라의 실험적인 브라우저인 browser.html에서 서보의 일부가 사용되었다.[8] 모질라는 파이어폭스의 엔진 게코|(Gecko)를 서보(Servo)로 전환하는데 목표를 단계적으로 시작했다.[9]

기능[편집]

서보의 개발은 매우 초기 단계에 있으나 이미 위키백과깃허브를 렌더링할 수 있으며 Acid2 테스트를 성공적으로 통과하였다. 병렬 레이아웃 알고리즘과 같은 획기적인 기능을 포함하며 그 밖에도 러스트(Rust)로 구현된 자신만의 CSS3, HTML5 파서를 갖추고 있다.

모질라(Mozilla)는 당시 Firefox Quantum 프로젝트였던 파이어폭스 브라우저의 릴리스 57 이후부터 서보(Servo) CSS 스타일 엔진을 통합했다. 서보(Servo) 프로젝트는 이제 가상 및 증강 현실 공간에서 새로운 과제를 해결하는 데 초점을 맞추고 있다고 언급한바있다. 모질라는 파이어폭스에 지속적으로 서보엔진을 확대장착하는 비율을 지속적으로 강화해나가고 있다.[10]

히스토리[편집]

서보 개발은 2012년 Mozilla Corporation에서 시작되었다. 미스테리 공상극장 3000(Mystery Science Theatre 3000)의 로봇인 톰 서보(Tom Servo)의 이름을 따서 명명되었다. 2013년에서 2018년에 이르는 동안 삼성은 이 프로젝트에 주요하게 기여하였다.[11][12][13][14]삼성(Samsung)의 주요 기여는 서보(Servo)를 안드로이드(Android) 및 ARM 프로세서로 이식하는 것이었다.[15][16][17] 2020년 8월 모질라(Mozilla)는 서보(Servo) 프로젝트의 거버넌스(Governance)를 리눅스 재단(Linux Foundation)으로 이관하였다.[18][19]

같이 보기[편집]

각주[편집]

  1. https://www.mozilla.org/en-US/about/legal/eula/
  2. “Mozilla Licensing Policies”. mozilla.org. 2013년 3월 26일에 확인함. 
  3. “Samsung teams up with Mozilla to build browser engine for multicore machines”. Ars Technica. 2013년 4월 3일. 2014년 10월 24일에 확인함. 
  4. https://servo.org/ 2020
  5. Bergstrom, Lars; Blumenkrantz, Mike (2014년 8월 20일). “Stealing Chromium: Embedding HTML5 With The Servo Browser Engine” (PDF). 37쪽. 2015년 4월 15일에 원본 문서 (PDF; 2.8MB)에서 보존된 문서. 2015년 1월 25일에 확인함. 
  6. Willis, Nathan (2015년 6월 17일). “Parallel page rendering with Mozilla Servo”. LWN.net. 2015년 6월 30일에 원본 문서에서 보존된 문서. 2015년 6월 27일에 확인함. 
  7. Eich, Brendan. “Add a new UI crate”. 2014년 4월 2일에 확인함. 
  8. “browserhtml/browserhtml”. 《GitHub》. 2016년 6월 28일에 확인함. 
  9. [참고](모질라-퀀텀)https://wiki.mozilla.org/Quantum
  10. [참고](모질라 - Servo engine , Who is using it?)https://research.mozilla.org/servo-engines/
  11. “initial add · servo/servo@ce30d45”. 
  12. “Add some stubs and a makefile · servo/servo@783455f”. 
  13. Eich, Brendan (2012년 10월 13일). “Add a new UI crate”. 2014년 4월 2일에 확인함. 
  14. “Mozilla and Samsung Collaborate on Next Generation Web Browser Engine”. 
  15. “Samsung teams up with Mozilla to build browser engine for multicore machines”. Ars Technica. 2013년 4월 3일. 2014년 10월 24일에 확인함. 
  16. Blumenkrantz, Mike; Bergstrom, Lars (2015년 5월 13일). “Servo: The Embeddable Browser Engine - Samsung Open Source Group Blog”. 《Samsung Open Source Group Blog》 (영어). 2015년 5월 13일에 원본 문서에서 보존된 문서. 2016년 10월 28일에 확인함. 
  17. 《Dropping CEF support?》 (영어), 2018년 11월 7일에 확인함 
  18. “Mozilla lays off 250 employees while it refocuses on commercial products”. 2020년 8월 11일. 2020년 8월 17일에 확인함. 
  19. “Servo's new home”. 《blog.servo.org》. 2020년 11월 17일에 확인함.