Servo Browser Engine
In this document we will be looking into following topics with respect to Servo:
Introduction
Servo is OpenSource Web browser Engine, which deliver components that load, run and diplay websites and Applications.
This engine takes advantage of multicore hardware to improve speed, stability, and responsiveness.
It is written in Rust language, and shares code with Mozilla Firefox and the wider rust ecosystem.
Why only Rust? Because of its unique properties, such as memory safety to browse internals, lightning-fast performance and concurrency. Also, it cuts down number of bugs that affect browser engine.
- Servo code lets browser run high-priority tasks in a thread that's independent of main thread thus its less likely to slow code functions.
Servo is created in 2012 by Mozilla Corporation and development continues until 2020. After 2020, governance of servo is taken by Linux foundation.
- Its goal is to create a new browser engine for modern computer architectures and security threat models.
Installation
- Since it is cross platform the guide to install it in following Operating Systems in given in GitHub:
- macOS
- Debian-based Linuxes
- Fedora
- Arch Linus
- OpenSUSE
- Gentoo Linux
- Microsoft Windows.
- Firstly, install prerequisites.
Then type:
./mach build -d
- Options available for building:
- -d : debug build
- -r : release build
- Secondly, run Servo using,
./mach run [url][arguments]
Libraries
- Servo uses many libraries, thus you may end up with one of dependencies while working on a bug. Hence it it necessary to know libraries.
- Crate: It is Rust library and these are dependencies. We can find them in files called Cargo.toml. These are split into components and ports.
GitHub repository in brief
- Licesense: MPL-2.0 License
- Contributors: 1113
- Languages: Rust
- Stars: 20.3k
- Forks: 2.6k
For more information visit their GitHub repository below:
Advantages of Servo
Servo is very fast compared to other engines written in C++.
It can scale to new hardware such as Virtual reality headsets.
It is simpler and easier to work with than other browser engines.
Servo gives developers an alternative prototype browser engine and used for a diverse set of use cases.
Web standards supported are diverse, such as HTML, CSS, JavaScript, WebSockets, WebVR, and WebGL.
Developers can safely reuse code to shorten development cycles.