Ladybird跨平台 Web 浏览器
Ladybird 浏览器于 2022 年 7 月 4 日诞生,最初 Ladybird 的开发是作为 SerenityOS 系统的 “LibWeb” 浏览器引擎调试工具,随后作者 Andreas Kling 想给它构建一个简单的 GUI 。
随着 Ladybird 的不断完善,两个月后,Andreas 发现自己完成了一个 Web 浏览器的大部分开发工作, Ladybird 已经算是一个跨平台的 Web 浏览器。
LibWeb 和 LibJS 都是新的引擎。作者有 Qt 和 WebKit 项目的开发历史,所以从中得到了一些灵感,但所有的代码都是新的,浏览器和库用则 C++ 编写。
这是当前浏览器堆栈的粗略细分:
- 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 进行网络任务,因为在 SerenityOS 之外还没有多进程 RequestServer 系统。同样,Ladybird 目前是单进程的,而 SerenityOS 浏览器是每个选项卡的进程。
构建条件
需要 Qt6 开发包和支持 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
对于 c++ 编译器,至少需要 gcc-11 或 clang-13 才能支持 c++20。
对于 Ubuntu 20.04 及更高版本,请确保 Qt6 Wayland 软件包可用:
sudo apt install qt6-wayland
评论
Opera跨平台浏览器
首先Opera不是一款开源的浏览器,但它是免费试用的(废话,现在还有什么浏览器敢收费呢?)。甚至可以在您的手机上安装和使用Opera的手机版。它是一种快速、有趣并且易用的网络浏览方式。Opera9及其
Opera跨平台浏览器
0
kitt跨平台网页浏览器
Kitt是一个小巧,快捷的跨平台网页浏览器。使用Qt4内建的QtWebKit组件开发。基于Qt的垮平台性,程序能够运行于Linux,OSX,Windows等系统。也能通过交叉编译运行于Qt/Embed
kitt跨平台网页浏览器
0
Web Starter Kit开发跨平台 web 应用
WebStarterKit的目标是帮助开发者为不同设备开发web应用,例如点击同步、屏幕适配等问题。无论你的用户使用老款iPad还是新款Android手机,代码都能够适应。你只需要勾画出界面,屏幕适配
Web Starter Kit开发跨平台 web 应用
0