<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Ladybird跨平臺(tái) Web 瀏覽器

          聯(lián)合創(chuàng)作 · 2023-09-30 17:38

          Ladybird 瀏覽器于 2022 年 7 月 4 日誕生,最初 Ladybird 的開發(fā)是作為 SerenityOS 系統(tǒng)的  “LibWeb”  瀏覽器引擎調(diào)試工具,隨后作者 Andreas Kling 想給它構(gòu)建一個(gè)簡單的 GUI 。

          隨著 Ladybird 的不斷完善,兩個(gè)月后,Andreas 發(fā)現(xiàn)自己完成了一個(gè) Web 瀏覽器的大部分開發(fā)工作, Ladybird 已經(jīng)算是一個(gè)跨平臺(tái)的 Web 瀏覽器。

           

          LibWeb 和 LibJS 都是新的引擎。作者有 Qt 和 WebKit 項(xiàng)目的開發(fā)歷史,所以從中得到了一些靈??感,但所有的代碼都是新的,瀏覽器和庫用則 C++ 編寫。

          這是當(dāng)前瀏覽器堆棧的粗略細(xì)分:

          • Ladybird : 選項(xiàng)卡式瀏覽器 GUI 應(yīng)用程序
          • LibWeb:Web 引擎,多種標(biāo)準(zhǔn):HTML、DOM、CSS、SVG,……
          • LibJS:ECMAScript 語言、運(yùn)行時(shí)庫、垃圾收集器
          • LibGfx:2D 圖形、文本渲染、圖像格式(PNG、JPG、GIF,...)
          • LibRegex:正則表達(dá)式引擎
          • LibXML : XML 解析器
          • LibWasm:WebAssembly 解析器和解釋器
          • LibUnicode:Unicode 支持庫
          • LibTextCodec : 文本編碼轉(zhuǎn)換庫
          • LibMarkdown : Markdown 解析器
          • LibCore:其他支持功能(I/O、日期時(shí)間、MIME 數(shù)據(jù)……)
          • Qt:跨平臺(tái) GUI 和網(wǎng)絡(luò)

          LibWeb 有一個(gè) Platform 層,Ladybird 為事件循環(huán)、計(jì)時(shí)器、系統(tǒng)字體設(shè)置等注入 Qt 支持代碼。目前 Ladybird 使用 Qt 進(jìn)行網(wǎng)絡(luò)任務(wù),因?yàn)樵?SerenityOS 之外還沒有多進(jìn)程 RequestServer 系統(tǒng)。同樣,Ladybird 目前是單進(jìn)程的,而 SerenityOS 瀏覽器是每個(gè)選項(xiàng)卡的進(jìn)程。

          構(gòu)建條件

          需要 Qt6 開發(fā)包和支持 c++20 的編譯器。在 Debian/Ubuntu 上,所需的軟件包包括但不限于:

          sudo apt install build-essential cmake libgl1-mesa-dev ninja-build qt6-base-dev qt6-tools-dev-tools 

          在 Arch Linux/Manjaro 上:

          sudo pacman -S base-devel cmake libgl ninja qt6-base qt6-tools qt6-wayland 

          對(duì)于 c++ 編譯器,至少需要 gcc-11 或 clang-13 才能支持 c++20。

          對(duì)于 Ubuntu 20.04 及更高版本,請(qǐng)確保 Qt6 Wayland 軟件包可用:

          sudo apt install qt6-wayland

           

          瀏覽 39
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中国美女看黄片 | 无码人妻精品一区二区 | 久久久久伊人 | 国产三级视频网站 | wwwwww在线 |