Andreas 寫道,他和他的團隊不再只是想開發一個基於 Linux 的瀏覽器,而是想開發一個跨平台的瀏覽器,「建造一些有朝一日可能對更多人有用的東西」。根據文章末尾的常見問題解答,Ladybird 已經在 Linux、macOS、Windows 和 Android 上運行。

從時間上來看,LibWeb 和 LibJS 都是比較新的引擎。並且 Andreas 有開發 Qt 和 WebKit 項目的經歷,從中也吸取了一部分經驗。「但所有的代碼都是新的」,他在博文中表示,瀏覽器和庫都是用 C++ 編寫,並且在 2-clause BSD 許可下是免費的。「沒有人可以購買該項目,但歡迎志願者。畢竟,SerenityOS 不是一個人的表演。這項工作只有在 SerenityOS 社區的支持下才能實現,該社區已經發展到數百名貢獻者,並正在幫助開發操作系統和瀏覽器。」
當前瀏覽器主要組件:
Ladybird : 選項卡式瀏覽器 GUI 應用程序
LibWeb:Web 引擎,多種標準:HTML、DOM、CSS、SVG,……
LibJS:ECMAScript 語言、運行時庫、垃圾收集器LibGfx:2D 圖形、文本渲染、圖像格式(PNG、JPG、GIF,...)
LibRegex:正則表達式引擎
LibXML : XML 解析器
LibWasm:WebAssembly 解析器和解釋器
LibUnicode:Unicode 支持庫
LibTextCodec : 文本編碼轉換庫
LibMarkdown : Markdown 解析器
LibCore:其他支持功能(I/O、日期時間、MIME 數據……)
Qt:跨平台 GUI 和網絡
LibWeb 有一個 Platform 層,Ladybird 在這裡為事件循環、計時器、系統字體設置等注入 Qt 支持代碼。Ladybird 使用 Qt 進行聯網,因為多進程的 RequestServer 系統在 SerenityOS 之外還沒有使用。同時,Ladybird 是單進程的,「所有這些都是暫時的,並且會隨着時間而改變。」
Andreas 坦言目前該瀏覽器仍處於開發初期,許多功能要麼根本無法使用,要麼存在錯誤,甚至還需要很長時間才能真正投入日常使用。「我們處於『讓它工作,讓它變得更好,讓它更快』中的『讓它工作』階段中,因此,我們現階段更多地還是在關注正確性和功能支持,而不是優化。」
Ladybird 已經通過了經典的 Acid3 標準測試,它涵蓋了基本的 CSS 布局特性和各種 DOM/HTML API。但該測試並未涵蓋最新 Web 標準及功能,如 CSS flexbox、CSS Gird 等。這意味着,即便在 Ladybird 中瀏覽最新網站的穩定性正在提高,但仍然會出現很多布局和兼容性問題。
例如用 Ladybird 瀏覽器瀏覽 Reddit 頁面:

傳統觀點認為,如果沒有巨大的資本支出和人力、時間成本的付出,從頭開始構建一個新的瀏覽器引擎幾乎是不可能的,然而,Andreas 正在做的事情似乎反駁了這一觀點。
同時 Ladybird 的出現,也增加了瀏覽器和瀏覽器引擎的多樣性,不少開發者表示對此項目的期待,並希望此項目和其他瀏覽器項目能夠成功,「這似乎是一項令人難以置信的艱巨任務,但他們似乎確實有樂觀的前景。」
京東零售平台:前端組件資源共享與中心化管理實踐
微軟為Vue.js推出Power BI組件;谷歌CEO暗示將裁員;微信輸入法體積524MB;React Native 0.7發布
React 老矣,我建議大家用用別的框架