Servo (layout engine)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Servo
Mozilla Servo showing homepage.png
Project page rendered with Servo on 10 November 2015
Developer(s) Mozilla Research and Samsung
Written in Rust
Operating system Cross-platform
Type Layout engine
License MPL 2.0[1][2]
Website servo.org

Servo is an experimental web browser layout engine being developed by Mozilla Research, with Samsung porting it to Android and ARM processors.[3] The prototype seeks to create a highly parallel environment, in which many components (such as rendering, layout, HTML parsing, image decoding, etc.) are handled by fine-grained, isolated tasks. Source code for the project is written in the Rust programming language.

Servo provides a consistent API for hosting the engine within other software. It is designed to be compatible with Chromium Embedded Framework, an API used by Adobe and Valve Corporation to incorporate the Blink rendering engine within their own products, allowing Servo to be dropped in as a replacement engine simplifies real-world testing.

Two significant components used by Servo are based on pre-existing C++ code from Mozilla. JavaScript support is provided by SpiderMonkey, and the 2D graphics library Azure is used to interface to OpenGL and Direct3D.[4]

Servo is named after Tom Servo, a robot from the television show Mystery Science Theater 3000.[5]

Features

Mozilla Servo showing the Acid2 test

Lua error in package.lua at line 80: module 'strict' not found.

Development on Servo is still at an early stage, however it can already render Wikipedia and GitHub and successfully passes the Acid2 test. It features innovations like a parallel layout algorithm and its own CSS3 and HTML5 parser implemented in Rust.[6][7]

Servo is significantly faster than Gecko, Mozilla's other layout and rendering engine, as of November 2014.[8][9]

See also

References

  1. https://www.mozilla.org/en-US/about/legal/eula/
  2. Lua error in package.lua at line 80: module 'strict' not found.
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. Lua error in package.lua at line 80: module 'strict' not found.
  5. Lua error in package.lua at line 80: module 'strict' not found.
  6. Lua error in package.lua at line 80: module 'strict' not found.
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.

External links

<templatestyles src="Asbox/styles.css"></templatestyles>