当前位置: 首页 > 软件库 > 应用工具 > 浏览器 >

Ladybird

跨平台 Web 浏览器
授权协议 BSD-2
开发语言 C/C++
所属分类 应用工具、 浏览器
软件类型 开源软件
地区 不详
投 递 者 杨波娃
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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

 

  • 《LadyBird》,2017年的青春轻喜剧,烂番茄指数高达99%! ​ 该电影讲的是一个入不敷出的家庭,强势严厉的Mom,慈祥宽容却患有抑郁症的Dad,自称LadyBird的叛逆少女Christian克里斯汀,从高中步入大学时期所经历的亲情、友情、爱情,酸甜苦辣。 ​ 虽然欧美家庭的相处方式离我们很远,但影片展现的青春经历却与我们都有可对照之处。 ​ Christian不喜欢父母取的名字,自己取

 相关资料
  • 多平台支持 Mpx支持在多个小程序平台中进行增强,目前支持的小程序平台包括微信,支付宝,百度,qq和头条,不过自2.0版本后,Mpx支持了以微信增强语法为base的跨平台输出,实现了一套业务源码在多端输出运行的能力,大大提升了多小程序平台业务的开发效率,详情可以查看template增强特性 不同平台上的模板增强指令按照平台的指令风格进行设计,文档和代码示例为了方便统一采用微信小程序下的书写方式。

  • 问题内容: 我正在编写一个dhtml应用程序,该应用程序创建系统的交互式仿真。用于模拟的数据是从另一个工具生成的,并且已经有大量的旧数据。 模拟中的某些步骤要求我们播放音频的“浊音”片段。我一直找不到在多个浏览器上完成此操作的简便方法。 Soundmanager2几乎可以满足我的需要,但它只能播放mp3文件,并且旧数据也可能包含一些.wav文件。 有没有其他图书馆可能会帮助您? 问题答案: 您将必

  • 问题内容: 专业的网页设计师如何创建跨浏览器的CSS?通常是手动完成,还是像YUI针对JavaScript那样可以简化流程的工具包?我希望远离Dreamweaver之类的所见即所得编辑器。谢谢! 问题答案: 通常是手工完成的。 通常从对比赛场地应用CSS重置开始。 而且,您应该针对符合标准的CSS,然后作为对IE的最后手段,才可以使用hacks(是的,我刚刚说过)。

  • Web浏览器 web 浏览器(通常被称为浏览器)是一个用于检索、展示和遍历在万维网上的信息资源的软件应用程序. 信息资源被定义成统一资源定位符(URI/URL). 它可能是网页, 图片, 视频或者一个内容片断. 超链接的出现使用户能轻松的将浏览器导航到相关的资源, 尽管浏览器主要是为了使用万维网, 但它们还可以用来访问 Web服务器在私人网络所提供的信息或文件在文件系统. - Wikipedia

  • 内部Web浏览器 内部Web浏览器视图允许您从Eclipse Workbench窗口中浏览Internet。 要激活内部Web浏览器视图,请单击窗口,然后选择显示视图→其他。 在“显示视图”对话框的过滤器文本框中,输入浏览器 。 从树中选择Internal Web Browser ,然后单击OK 。 要导航到网页,请在“内部Web浏览器”视图的“URL”文本框中输入该网页的URL。

  • 问题内容: 我正在从Firefox 3.5开始为新服务开发Web应用程序。 界面设计是无表的,仅使用divs + CSS和性能良好的做法。 现在,尽管与Safari兼容仅花费了很少的时间,但IE还是很痛苦。 我的问题是:有什么可以用来加速跨浏览器检查的吗?例如,我已经知道FF和IE之间的许多区别,但是使用特定工具可能会有所帮助。 你能建议一个吗? 谢谢, 猩红 问题答案: 跨浏览器开发 没有工具可

  • 我需要在我的应用程序中为不同的标签指定不同的FontFamily。我需要使用默认字体(如Android的Roboto和iOS的Helvetica)及其修改(如轻、中、粗)。据我所知,我应该使用Roboto-Light和Helvetica-Light来获得字体的轻版本(中号和粗体相同)。除了这个需求之外,我还需要在XAML中设置字体(如文档中所描述的),所以我最终得到了以下代码 然而,在Androi

  • 作为第三代数据统计和分析平台,诸葛实现了对用户的实名(实账号)分析,并主张互联网产品分析以用户为中心的分析思想并提供了一系列方法论。对用户的唯一标识来源于企业自身数据库对用户的唯一识别符,也即诸葛底层数据采集是以用户为中心的采集,我们提供了跨平台分析版本, 满足企业以用户为中心的整体的分析需求,不同平台相同业务价值下的用户完整的故事解读(例如:分析电商的用户在PC端浏览产品,在移动端支付的转化率)