Oxidation: Difference between revisions

44 bytes added ,  20 February 2020
no edit summary
No edit summary
Line 1: Line 1:
'''Oxidation''' is a project to integrate [https://www.rust-lang.org/ Rust] code in and around Firefox.  
'''Oxidation''' is a project to integrate [https://www.rust-lang.org/ Rust] code in and around Firefox.  


Rust support has been required on all platforms since Firefox 54, and the first major Rust components were shipped in Firefox 56 (encoding_rs) and 57 (Stylo). Moving forward, the goal of Oxidation is to make it easier and more pleasant to use Rust in Firefox, and correspondingly to increase the amount of Rust code in Firefox.
Rust support has been required on all platforms since Firefox 54, and the first major Rust components were shipped in Firefox 56 (encoding_rs) and 57 (Stylo). Moving forward, the goal of Oxidation is to make it easier and more productive to use Rust in Firefox, and correspondingly to increase the amount of Rust code in Firefox.


This page is intended to serve as the starting point for all matters relating to Rust code in Firefox: the what, the why, and the how.
This page is intended to serve as the starting point for all matters relating to Rust code in Firefox: the what, the why, and the how.
Line 18: Line 18:


Rust has the following strengths.
Rust has the following strengths.
* Memory-safety and thread-safety.
* Memory-safety and thread-safety. Crashes and security vulnerabilities are much less likely. (Roughly 70% of critical security vulnerabilities are due to memory safety bugs.)
** Crashes and security vulnerabilities are much less likely. (Roughly 70% of critical security vulnerabilities are due to memory safety bugs.)
* High performance. In particular, the safety enables code that is designed more actively for performance, especially parallel performance.
** The safety guarantees allow code that is designed more actively for performance, especially parallel performance.
* Nimbleness. The safety enables significant changes to existing code to be made quickly and with confidence.
** The safety guarantees allow significant changes to existing code to be made quickly and with confidence.
* Expressiveness. It is powerful and pleasant to use, particularly once a moderate level of experience has been reached.
* Expressive and pleasant to use, particularly once a moderate level of experience has been reached.
* Excellent compiler error messages.
* Excellent compiler error messages.
* Excellent documentation.
* Excellent documentation.
Confirmed users
1,345

edits