17611538698
webmaster@21cto.com

Rust重写万物:新的浏览器引擎Gosub

编程语言 0 29 2024-10-23 10:31:28

图片

导读:今年已经有几个关于新浏览器尝试改变世界的文章,今天这款是Rust重写的。

今天,我今天很高兴向各位介绍一位新朋友—— Gosub,这是用 Rust 从头开始构建的全新开源浏览器引擎!

Gosub 的目标是成为一款现代、模块化且高度灵活的浏览器引擎。尽管 Gosub 现在仍处于早期开发和试验阶段,但发展势头良好,该团队的成员们正招募更多贡献者来帮助实现这个项目。

Gosub的GitHub:

https://github.com/gosub-io/gosub-engine

图片

GoSub 旨在创造一个高性能、安全开放、开发者友好的全新浏览器引擎。

它采用最新的 Web 标准与技术,为最近用户提供更多的选择,并且能够与大公司控制的浏览器进行竞争,“迫使”他们更加开放与自由。

图片

Gosub 目前处于初级阶段,但已经提供了以下组件:

  • HTML5 tokenizer / parser

  • CSS3 tokenizer / parser

  • 文档树

  • 用于连接 JavaScript 的 API

  • 配置存储

  • 网络堆栈

  • 渲染引擎

  • JS bridge

Gosub 现在已经能够解析 HTML 5 和 CSS 3 文件,并进行简单的渲染,基础的网页浏览不在话下。

下图是使用 Gosub 引擎进行“自举浏览”,即自身渲染 Gosub 官网(gosub.io)的效果:

图片

GoSub官网:https://gosub.io/
Gosub 引擎可以编译为 Wasm,因此它可以在其他支持 WebAssembly 的浏览器里运行,从而将该浏览器 (Gosub) 嵌套到另一个浏览器(Chrome、Firefox 等等)中。

Gosub一些主要亮点,总结如下:

* 用 Rust 编写:

利用 Rust 的安全性和性能特性来创建强大而高效的引擎。

* 模块化设计:

该项目围绕模块组织,可以清晰地分离关注点并更轻松地进行协作。它还允许我们根据需要轻松交换组件,并为引擎实施者在未来提供更多自由。

* 协作和开源:

构建 Gosub 的目的是使其易于使用并接受贡献。旨在创建一个与现有浏览器相比更易于理解和协作的项目。

该团队的宣言总结如下,如今也正在寻找新的技术小伙伴加入,如Web开发、协议标准、CPU 架构等。

“我们决定从头开始编写浏览器引擎,而不是围绕 Chromium 或 WebKit 编写另一个 shell。我们认为,拥有多样化的引擎环境是击败目前威胁当前浏览器乃至互联网本身的单一文化的唯一方法。我们不能也不应该让极少数大公司决定网络及其使用的未来。

通过 Gosub,我们旨在构建一些更易于理解的东西,它可以随着最新的网络技术而发展,同时从第一天起就向贡献者开放。

我们正在寻找有或没有 Rust 经验的开发人员。你只需要对浏览器技术感兴趣。有很多机会可以参与核心模块、记录我们的进展并帮助确定项目的方向。

我们已经可以渲染简单的页面,包括 HackerNews 首页等。但是,要正确渲染大多数网站,这仍然是一个漫长的过程,所以快来加入我们!”

小结

确实,这类浏览器项目的复杂性非常大,而且使用Rust来重写,确实勇气可嘉,技术含量也较高。考虑到 Chrome/Webkit 在浏览器领域的垄断地位,我们应该始终欢迎和他们的努力……无论项目的结果如何。

目前看,网站和Logo似乎需要提升一下,好像是AI生成的。各位伙伴怎么看?

作者:聆听音乐的鱼

评论