Firefox 已正式搭載「Rust」

簡單一句:Mozilla 從 Firefox 48 開始搭配第一筆「Rust」程式碼,未來也將有更多產品加入!

 

Mozilla ❤ Rust

從 Mozilla 的「Research」團隊開始支援開發「Rust」以來,竟然已經將近 7 年的時間了!而當時不過就是一個熱情的小社群,帶著強烈企圖心卻少少的研究經驗在開發。先不論我們前面所花的一大段探索時間,起碼 Rust 的核心原則仍保持一致。Rust 核心團隊一開始的展望:讓安全性能超越 C++ 並提高系統開發者的產能、重要軟體較不致於發生記憶體錯誤、能更輕鬆開發平行演算法;這些都是 Mozilla 之所以支援 Rust 專案的重要原因。而最終當然要能在產品中實作 Rust。

而另一個「Rust 應具備安全且完善的功能,吸引更多人投入系統程式設計」的開發目標亦已達成。社群主導的開發活動更吻合 Mozilla 的使命,更有助於拓展我們的產品領域。

很高興能宣佈此一重要里程碑:Mozilla 將從 Firefox 48 開始搭載第一筆 Rust 元件至所有的桌面平台之上。且很快就會加入對 Android 的支援。

將 Rust 置入 Mozilla 的媒體堆疊 (Media Stack)

Mozilla 第一個利用 Rust 的小組就是「Media Playback」團隊。理所當然可看到此一媒體已成為最新 Web 經驗的核心。瀏覽器也許在播放常見的趣味影片 (大概就類似變色龍玩泡泡),但背地裡所讀取的資料可能是以複雜格式所傳送,而此格式又是你不認識或不信任的某個人所設定。久而久之,有心人士會透過媒體格式找出解碼器的嚴重安全漏洞,也顯露出 Web 瀏覽器建構程式碼的記憶體管理缺失。

上述情況,讓 Rust 不只是 Mozilla 用以抵抗 Web 上的潛在惡意媒體內容,也讓類似 Rust 的記憶體安全程式設計語言獲得更多注目焦點。因此,Ralph Giles 與 Matthew Gregan 建構出 Mozilla 的第一組 Rust 媒體剖析器 (Parser),而且他們的程式碼也將是 Firefox 所搭載的第一組 Rust 元件。另對 Rust 社群來說更是一次成就:Rust 程式碼正式呈現給數億名 Firefox 使用者。我們初步測得 Rust 元件的執行效果,且其結果與原始的 C++ 元件不相上下,但現在更是以記憶體安全的程式語言所建構而成。

Screen-Shot-2016-07-11-at-3.48.04-PM

Firefox 遙測資料顯示,新的 Rust 程式碼在使用了 10 億次之後仍未出現問題。

 

還有更多!

我們要向許多人聊表感謝之意。有 Ralph Giles 與 Matthew Gregan 實作了元件;Nathan Froyd、Nick Nethercote、Ted Mielczarek、Gregory Szorc、Alex Crichton 則努力將 Rust 整合至 Firefox 版本中並微調系統,確保其能搭載於 Mozilla 的所有平台之上。

Rust 是由極富活力的社群所開發。要是沒有除錯設計程式碼方面的熱血貢獻,再加上全球如此多的 Rust 愛好者,就不會有今天的成果。基於我 (作者 Dave Herman) 本身就是 Rust 愛好者,我也想鼓勵你開始把玩 Rust。立刻就著手入門並嘗試使用 Rust 參與 Mozilla 專案

看著 Rust 程式碼正式加入 Mozilla 產品,實在是好長的一段路。但這不過是 Mozilla 的第一步而已!大家可別輕忽了!

 

 

原文連結:Shipping Rust in Firefox

 

 

您可能也會喜歡

目前找不到相關文章

對此文章發表回應

你的電子郵件位址並不會被公開。 必要欄位標記為 *