5 个版本

0.2.1 2021 年 4 月 30 日
0.2.0 2021 年 4 月 29 日
0.1.2 2021 年 4 月 25 日
0.1.1 2021 年 4 月 25 日
0.1.0 2021 年 4 月 25 日

590游戏

MIT 许可证

27KB
51

嘈杂浏览器

嘈杂浏览器是一个实验性网页浏览器。目前处于早期研究阶段,没有什么可以展示的。

愿景、想法和动力

愿景是构建一个使用最新技术的快速网页浏览器,因此命名为 Buzzy 浏览器。

主要想法包括

  1. 使用具有数据驱动设计的游戏引擎。
  2. 面向未来设计。
  3. 纯 Rust 项目。

计划使用 Bevy 游戏引擎作为基础。从技术上讲,浏览器与计算机游戏非常相似。例如,它们有场景图(DOM)、脚本(JavaScript)、图形、动画、视频、UI、声音、输入和网络。游戏引擎通常在设计时考虑性能,我们认为这可能有所帮助。

在开始一个新长期项目时面向未来是有意义的。已经有一些非常出色的浏览器可以很好地工作。我们的想法是做一些不同的事情。现有的浏览器是在很久以前设计的,有很多遗留问题。我们相信,通过放弃过去,有机会进行改进。

我们相信 Rust 可能是系统编程的未来,并且是编写需要安全和快速的浏览器的最佳选择。Rust 有大量的开源 crate(库)可以在此基础上构建。

非目标

一些非目标包括

  1. 与非 HTML5 页面的兼容性。
  2. 与非标准网页的兼容性。
  3. 与旧图形 API 的兼容性。
  4. 与旧机器的兼容性。
  5. 与旧操作系统的兼容性。
  6. 急于推向市场。

在面向未来设计时,追求与古怪旧网页的兼容性是没有意义的。古怪旧网页可能不会被绝大多数用户访问。支持旧网页或错误满载的网页会有一定的成本。这种成本可能影响浏览器的速度和开发时间。

我们建议用户保留一个已建立的浏览器,如果他们需要打开旧古怪的网页。

为什么不选择 Servo 呢?

Servo 网络引擎已经非常成功。其几个部分已集成到 Firefox 浏览器中,并且该项目已超出 Mozilla,成为 Linux 基金会的一部分。

伺服机制引入了一些新的理念。例如,游戏式的渲染、增强的多线程处理和基于任务的处理。但在某些方面仍保持传统。它被设计成与Firefox集成,因此继承了几个设计。它还共享了大量的C++代码,例如SpiderMonkey和Angle。尽管如此,其中一些部分最终可能会被替换,而且随着该项目不再属于Mozilla,一切可能都会发生变化。

依赖项

~35–78MB
~698K SLoC