2017回顧:為了開發者,Mozilla把上網這件事變得更好了
對 Mozilla 來說,2017 是碩果累累的一年。Mozilla 發布了有史以來最快的 Firefox,重新打造了 DevTools(開發者工具),親眼見證了 WebAssembly 登上四大主流瀏覽器,並推出了開源的虛擬現實及語音識別系統。Mozilla的開發者團隊在全球巡迴參與超過 60 場說明會,並將 MDN Web Docs 網站的瀏覽量提升一倍。
如此亮眼的成績或許不易超越,但我們仍然希望能在 2018 年繼續大步前進。我們還有許多值得期待的開源技術,未來都將在此及 Mozilla Hacks 博客一一介紹給大家。感謝與我們同行,也希望您能喜歡我們通過網路各種頻道發表的文章。如果沒有全球廣大開發者社區的支持與愛護,我們不可能有如此成果。若您也想加入這個社區、與我們一起經歷 2018 年將有的進步與改變,請訪問 Mozilla 開發者社區網站。
Firefox Quantum
Firefox 在同樣的引擎上跑了十多年,終於在2017 年年初漸顯老態。它需要回春改造,而 Mozilla 的工程團隊做到了。通過引入 Servo 項目的成果,他們運用全新的核心科技,重新打造瀏覽器引擎。相關的新技術很多,其一是 Rust,這是為利用好現代多核處理器運算優勢而設計的新程序語言。其二是 Servo,這是以 Rust 語言編寫的平行處理引擎。另外還有 Stylo(已改名為 Quantum CSS),也是為了藉助多核處理器的優勢而開發的技術。這三大新技術結合起來,我們創造出了性能以光速躍進的全新瀏覽器,不僅速度遠遠超越前一代 Firefox,在某些任務上的執行效率也大勝其他瀏覽器。這是經過好幾年兢兢業業的努力、多支工程團隊全心全意的投入,以及超過 400 萬條新程序代碼後,才終於實現的里程碑。
想要深入了解箇中奧秘,歡迎參考Mozilla 工程師 Lin Clark 在 Mozilla Hacks 博客中的精彩剖析。
WebAssembly
許多開發者的夢想是要在網頁上執行又大又複雜的應用。想像一下,如果不需外掛就能直接在瀏覽器上編輯照片、縱橫 3D 世界或剪輯影片的話,那該有多好? 只不過,網頁原始的設計並不適合做這些事。網頁是以簡單的布局及樣式語言(HTML/CSS)和 JavaScript 所開發。這麼做雖好,卻不能像原生語言(如C++)一樣優化。不過,當我們從上一世紀跨入本世紀之際,Mozilla 工程師們就起了優化網頁的念頭。當 Mozilla 工程師 Alon Zakai 寫了一個能將 C++ 程序代碼轉譯為 JavaScript 的程序後,首席研究員兼工程師 Luke Wagner 便帶領團隊優化其結果。在優化的過程中,他們創造出了 WebAssembly,這是一種能讓大型程序(如遊戲)以接近原生速度在瀏覽器上運行的全新語言。時間跳到 2017 年年底,各大主流瀏覽器均已支持 WebAssembly,讓網頁成為對每個人來說都更快和更有活力的地方。
Wagner 曾在《IEEE Spectrum》雜誌上發表過一篇文章,詳盡回顧了 WebAssembly的發展歷程。文中,他分享了使用 WebAssembly 在 Firefox 上執行 Unity 和 Unreal 遊戲引擎的故事。
A-Frame 與 WebVR
過去 25 年間,使虛擬現實躍於網頁之上一直是許多人期盼的「未來」,而那樣的未來終於在 2017 年化為現實。在去年一年中,VR 標準和框架向前邁了一大步,創造 VR 體驗變得極為簡便,跨手機、瀏覽器和頭戴式設備等裝置來分享 VR 體驗也變得前所未見的容易。Mozilla 是兩大 VR 網路平台發展的幕後推手:A-Frame 與 WebVR。在我們的努力下,這兩大標準如今已獲各主流瀏覽器支持,這也使得開發者們有更多的自由空間,去創作能在幾乎所有的計算機或設備上運行的沉浸式 VR 體驗。由於有統一標準的規範,它們相當易學易用。事實上,我們團隊中有人只用不到一天的時間就創造出新的 VR 體驗,他把整個過程記錄下來並分享到互聯網上。另外,Mozilla 工程師 Salva 也在 Mozilla Hacks 分享過一篇文章,詳盡說明了 Firefox Quantum 是如何辦到的。
同聲計劃(Project Common Voice)
Siri、Cortana、Echo、Google Home ——這些虛擬助手是未來的趨勢。但是,現有語音助手程序多半是使用各家廠商專屬的語音識別數據所打造。鑒於此,Mozilla 於 2017 年展開開源語音識別計劃,希望藉此創造出更為公平的競爭環境。在此理念下,一個人人都能受惠的開源語音識別項目誕生了,那就是 Common Voice。
這個項目是如何工作的:貢獻者到 Common Voice 網站大聲朗讀,幫助 AI 學習和加深對於話語的了解;此外,也可檢查 Common Voice 的文字稿,以確認 AI 的理解無誤。所有數據都免費提供,讓研究人員開發出更多的語音應用。
雖然這個計劃的網站目前僅支持英語,但未來將陸續加入其他語言。Mozilla 研究主管 Sean White 曾就 Common Voice 寫了一篇很精彩的文章,並在 Mozilla 的博客發表。如果您有興趣獻聲的話,請到 Common Voice 網站 貢獻你的聲音。
Firefox DevTools
Firefox DevTools 團隊在 2017 年也絲毫沒有閑著。他們不僅重寫了底層大部分的程序代碼,還為CSS Grid 和 JavaScript 排錯打造出嶄新的開源工具。由於這些工具都是以 HTML、CSS 和 JavaScript 等網路標準所開發,所以開發者可以視需要輕鬆地貢獻、重組和重建 DevTools。Debugger.html 現已於 Github 上架,開放貢獻及建立分流項目(fork)。此外,為了加強易用性和美觀性,每個 DevTools 面板都已重新設計,採納了我們全新的極簡設計 Photon UI。Photon 也已用於 Firefox,賦予 Firefox 煥然一新的面貌。
我們還推出了自學網站——Mozilla DevTools Playground,以深入淺出的方式教授 CSS Grid 和 JavaScript 排錯的方法。歡迎多多訪問,所有課程一律免費,不限資格,人人都可參與。有興趣進一步了解布局系統的朋友,不妨抽空看看 Mozilla 的開發人員大使 Jen Simmons 的 CSS Grid 實驗室,相信一定能讓您滿載而歸。
Developer 巡講
2017年間,Mozilla 開發者們馬不停蹄地到世界各地分享及推動開放標準與新科技的發展,包括:WebVR、A-Frame 和 WebAssembly,總共參與了超過 60 場的開發者巡迴說明會。
Mozilla 開發者網路
在 2017 年裡,有超過 8,000 位開發者在 Mozilla DeveloperNetwork 共貢獻了超過8萬頁的內容。Mozilla也與 Microsoft、Google 以及相關業界領袖攜手,大幅擴充 MDN Web Docs 的內容。這是一項大規模的合作計劃,藉此我們希望能讓 Web 變成對開發者和消費者都更友善的環境。
Mozilla 接下來有何計劃?
我們將繼續致力於使 Firefox 變得更快、更強大。對達到此目標,我們會進一步精進 WebAssembly 與其它核心科技。我們希望能讓 WebVR 與 A-Frame 成為網路豐富內容的標準,也會持續推動和發展開源語音及機器學習的計劃。
簡而言之,Mozilla 將不忘初心,為保障網路的開放且成為人人可使用的公共財產而繼續奮鬥!
火狐
Mozilla Firefox
firefox.com.cn
你的讚賞是我堅持原創的動力
讚賞共 0 人讚賞推薦閱讀: