서보 (소프트웨어)
| 섬네일을 만드는 중 오류 발생: | |
| 개발자 | 모질라 리서치, 삼성그룹 |
|---|---|
| 저장소 |
|
| 프로그래밍 언어 | 러스트 |
| 엔진 | |
| 운영 체제 | 크로스 플랫폼 모바일 |
| 종류 | 레이아웃 엔진 |
| 라이선스 | MPL 2.0[1][2] |
서보(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] 삼성의 주요 기여는 서보(Servo)를 안드로이드(Android) 및 ARM 프로세서로 이식하는 것이었다.[15][16][17] 2020년 8월 모질라(Mozilla)는 서보(Servo) 프로젝트의 거버넌스(Governance)를 리눅스 재단(Linux Foundation)으로 이관하였다.[18][19]
같이 보기
각주
- ↑ https://www.mozilla.org/en-US/about/legal/eula/
- ↑ “Mozilla Licensing Policies”. mozilla.org. 2013년 3월 26일에 확인함.
- ↑ “Samsung teams up with Mozilla to build browser engine for multicore machines”. Ars Technica. 2013년 4월 3일. 2014년 10월 24일에 확인함.
- ↑ https://servo.org/ 2020
- ↑ 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일에 확인함.
- ↑ Willis, Nathan (2015년 6월 17일). “Parallel page rendering with Mozilla Servo”. LWN.net. 2015년 6월 30일에 원본 문서에서 보존된 문서. 2015년 6월 27일에 확인함.
- ↑ Eich, Brendan. “Add a new UI crate”. 2014년 4월 2일에 확인함.
- ↑ “browserhtml/browserhtml”. 《GitHub》. 2016년 6월 28일에 확인함.
- ↑ [참고](모질라-퀀텀)https://wiki.mozilla.org/Quantum
- ↑ [참고](모질라 - Servo engine , Who is using it?)https://research.mozilla.org/servo-engines/
- ↑ “initial add · servo/servo@ce30d45”.
- ↑ “Add some stubs and a makefile · servo/servo@783455f”.
- ↑ Eich, Brendan (2012년 10월 13일). “Add a new UI crate”. 2014년 4월 2일에 확인함.
- ↑ “Mozilla and Samsung Collaborate on Next Generation Web Browser Engine”.
- ↑ “Samsung teams up with Mozilla to build browser engine for multicore machines”. Ars Technica. 2013년 4월 3일. 2014년 10월 24일에 확인함.
- ↑ 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일에 확인함.
- ↑ 《Dropping CEF support?》 (미국 영어), 2018년 11월 7일에 확인함
- ↑ “Mozilla lays off 250 employees while it refocuses on commercial products”. 2020년 8월 11일. 2020년 8월 17일에 확인함.
- ↑ “Servo's new home”. 《blog.servo.org》. 2020년 11월 17일에 확인함.
외부 링크
- 모듈:Official_website 90번째 줄에서 Lua 오류: attempt to index field 'wikibase' (a nil value).
- 스크립트 오류가 있는 문서
- CS1 - 미국 영어 인용 (en)
- 위키데이터 속성 P18을 사용하는 문서
- 위키데이터 속성 P41을 사용하는 문서
- 위키데이터 속성 P94를 사용하는 문서
- 위키데이터 속성 P117을 사용하는 문서
- 위키데이터 속성 P154를 사용하는 문서
- 위키데이터 속성 P213을 사용하는 문서
- 위키데이터 속성 P227을 사용하는 문서
- 위키데이터 속성 P242를 사용하는 문서
- 위키데이터 속성 P244를 사용하는 문서
- 위키데이터 속성 P245를 사용하는 문서
- 위키데이터 속성 P268을 사용하는 문서
- 위키데이터 속성 P269를 사용하는 문서
- 위키데이터 속성 P271을 사용하는 문서
- 위키데이터 속성 P347을 사용하는 문서
- 위키데이터 속성 P349를 사용하는 문서
- 위키데이터 속성 P350을 사용하는 문서
- 위키데이터 속성 P373을 사용하는 문서
- 위키데이터 속성 P380을 사용하는 문서
- 위키데이터 속성 P396을 사용하는 문서
- 위키데이터 속성 P409를 사용하는 문서
- 위키데이터 속성 P428을 사용하는 문서
- 위키데이터 속성 P434를 사용하는 문서
- 위키데이터 속성 P435를 사용하는 문서
- 위키데이터 속성 P436을 사용하는 문서
- 위키데이터 속성 P454를 사용하는 문서
- 위키데이터 속성 P496을 사용하는 문서
- 위키데이터 속성 P549를 사용하는 문서
- 위키데이터 속성 P650을 사용하는 문서
- 위키데이터 속성 P651을 사용하는 문서
- 위키데이터 속성 P691을 사용하는 문서
- 위키데이터 속성 P716을 사용하는 문서
- 위키데이터 속성 P781을 사용하는 문서
- 위키데이터 속성 P791을 사용하는 문서
- 위키데이터 속성 P864를 사용하는 문서
- 위키데이터 속성 P865를 사용하는 문서
- 위키데이터 속성 P886을 사용하는 문서
- 위키데이터 속성 P902를 사용하는 문서
- 위키데이터 속성 P906을 사용하는 문서
- 위키데이터 속성 P947을 사용하는 문서
- 위키데이터 속성 P950을 사용하는 문서
- 위키데이터 속성 P966을 사용하는 문서
- 위키데이터 속성 P982를 사용하는 문서
- 위키데이터 속성 P1003을 사용하는 문서
- 위키데이터 속성 P1004를 사용하는 문서
- 위키데이터 속성 P1005를 사용하는 문서
- 위키데이터 속성 P1006을 사용하는 문서
- 위키데이터 속성 P1015를 사용하는 문서
- 위키데이터 속성 P1045를 사용하는 문서
- 위키데이터 속성 P1048을 사용하는 문서
- 위키데이터 속성 P1053을 사용하는 문서
- 위키데이터 속성 P1146을 사용하는 문서
- 위키데이터 속성 P1153을 사용하는 문서
- 위키데이터 속성 P1157을 사용하는 문서
- 위키데이터 속성 P1186을 사용하는 문서
- 위키데이터 속성 P1225를 사용하는 문서
- 위키데이터 속성 P1248을 사용하는 문서
- 위키데이터 속성 P1273을 사용하는 문서
- 위키데이터 속성 P1315를 사용하는 문서
- 위키데이터 속성 P1323을 사용하는 문서
- 위키데이터 속성 P1330을 사용하는 문서
- 위키데이터 속성 P1362를 사용하는 문서
- 위키데이터 속성 P1368을 사용하는 문서
- 위키데이터 속성 P1375를 사용하는 문서
- 위키데이터 속성 P1407을 사용하는 문서
- 위키데이터 속성 P1556을 사용하는 문서
- 위키데이터 속성 P1584를 사용하는 문서
- 위키데이터 속성 P1695를 사용하는 문서
- 위키데이터 속성 P1707을 사용하는 문서
- 위키데이터 속성 P1736을 사용하는 문서
- 위키데이터 속성 P1886을 사용하는 문서
- 위키데이터 속성 P1890을 사용하는 문서
- 위키데이터 속성 P1907을 사용하는 문서
- 위키데이터 속성 P1908을 사용하는 문서
- 위키데이터 속성 P1960을 사용하는 문서
- 위키데이터 속성 P1986을 사용하는 문서
- 위키데이터 속성 P2041을 사용하는 문서
- 위키데이터 속성 P2163을 사용하는 문서
- 위키데이터 속성 P2174를 사용하는 문서
- 위키데이터 속성 P2268을 사용하는 문서
- 위키데이터 속성 P2349를 사용하는 문서
- 위키데이터 속성 P2418을 사용하는 문서
- 위키데이터 속성 P2456을 사용하는 문서
- 위키데이터 속성 P2484를 사용하는 문서
- 위키데이터 속성 P2558을 사용하는 문서
- 위키데이터 속성 P2750을 사용하는 문서
- 위키데이터 속성 P2980을 사용하는 문서
- 위키데이터 속성 P3223을 사용하는 문서
- 위키데이터 속성 P3233을 사용하는 문서
- 위키데이터 속성 P3348을 사용하는 문서
- 위키데이터 속성 P3372를 사용하는 문서
- 위키데이터 속성 P3407을 사용하는 문서
- 위키데이터 속성 P3430을 사용하는 문서
- 위키데이터 속성 P3544를 사용하는 문서
- 위키데이터 속성 P3562를 사용하는 문서
- 위키데이터 속성 P3563을 사용하는 문서
- 위키데이터 속성 P3601을 사용하는 문서
- 위키데이터 속성 P3723을 사용하는 문서
- 위키데이터 속성 P3788을 사용하는 문서
- 위키데이터 속성 P3829를 사용하는 문서
- 위키데이터 속성 P3863을 사용하는 문서
- 위키데이터 속성 P3920을 사용하는 문서
- 위키데이터 속성 P3993을 사용하는 문서
- 위키데이터 속성 P4038을 사용하는 문서
- 위키데이터 속성 P4055를 사용하는 문서
- 위키데이터 속성 P4114를 사용하는 문서
- 위키데이터 속성 P4143을 사용하는 문서
- 위키데이터 속성 P4186을 사용하는 문서
- 위키데이터 속성 P4423을 사용하는 문서
- 위키데이터 속성 P4457을 사용하는 문서
- 위키데이터 속성 P4534를 사용하는 문서
- 위키데이터 속성 P4535를 사용하는 문서
- 위키데이터 속성 P4581을 사용하는 문서
- 위키데이터 속성 P4613을 사용하는 문서
- 위키데이터 속성 P4955를 사용하는 문서
- 위키데이터 속성 P5034를 사용하는 문서
- 위키데이터 속성 P5226을 사용하는 문서
- 위키데이터 속성 P5288을 사용하는 문서
- 위키데이터 속성 P5302를 사용하는 문서
- 위키데이터 속성 P5321을 사용하는 문서
- 위키데이터 속성 P5368을 사용하는 문서
- 위키데이터 속성 P5504를 사용하는 문서
- 위키데이터 속성 P5587을 사용하는 문서
- 위키데이터 속성 P5736을 사용하는 문서
- 위키데이터 속성 P5818을 사용하는 문서
- 위키데이터 속성 P6213을 사용하는 문서
- 위키데이터 속성 P6734를 사용하는 문서
- 위키데이터 속성 P6792를 사용하는 문서
- 위키데이터 속성 P6804를 사용하는 문서
- 위키데이터 속성 P6829를 사용하는 문서
- 위키데이터 속성 P7293을 사용하는 문서
- 위키데이터 속성 P7303을 사용하는 문서
- 위키데이터 속성 P7314를 사용하는 문서
- 위키데이터 속성 P7902를 사용하는 문서
- 위키데이터 속성 P8034를 사용하는 문서
- 위키데이터 속성 P8189를 사용하는 문서
- 위키데이터 속성 P8381을 사용하는 문서
- 위키데이터 속성 P8671을 사용하는 문서
- 위키데이터 속성 P8980을 사용하는 문서
- 위키데이터 속성 P9070을 사용하는 문서
- 위키데이터 속성 P9692를 사용하는 문서
- 위키데이터 속성 P9725를 사용하는 문서
- 위키데이터 속성 P9984를 사용하는 문서
- 위키데이터 속성 P10020을 사용하는 문서
- 위키데이터 속성 P10299를 사용하는 문서
- 위키데이터 속성 P10608을 사용하는 문서
- 위키데이터 속성 P10832를 사용하는 문서
- 위키데이터 속성 P11249를 사용하는 문서
- 위키데이터 속성 P11646을 사용하는 문서
- 위키데이터 속성 P11729를 사용하는 문서
- 위키데이터 속성 P12204를 사용하는 문서
- 위키데이터 속성 P12362를 사용하는 문서
- 위키데이터 속성 P12754를 사용하는 문서
- 위키데이터 속성 P13049를 사용하는 문서
- 레이아웃 엔진
- 모질라
- 리눅스 재단 프로젝트