Servo是一个全新、完全基于Rust的浏览器渲染引擎。随着Mozilla的动摇,它成为了避免谷歌垄断的最佳选择……
Servo 0.0.2是该项目的第二个版本。Servo项目博客中有一篇配套文章,标题是‘十月在Servo’,副标题是‘对网络更好,对嵌入者更好,对你更好。’
这听起来是个很大的声明,但实际上,背后的文章只是对引擎近期工作的技术总结。
Servo并不是一个独立的应用程序,而是一个浏览器渲染引擎,未来可能会围绕它构建应用。
这个代码库确实包括一个以前的独立包装器,叫做Servo Shell,它让你可以运行一个独立的浏览器,输入URL并与结果进行交互。
新版本继上个月的版本 0.0.1 之后发布,当时该项目开始在 GitHub 上发布带标签的版本。切换到编号版本是一个积极的信号,表明该项目在几年前重生为 Linux 基金会欧洲项目后正在取得进展。
你应该认真看待这些零点零版本号,因为距离一个完整的成品还有很长的路要走。然而,切换到编号版本表明开发者们认为一个完整的版本 1 至少现在是可以预见的。这也让在 GitHub 仓库上展示快照变得更容易。因此,例如,这包括 Windows、Linux、macOS 和 Android 的独立下载。
Servo 的开发已经持续很长时间。该项目的第一次提交早在 2012 年就已经出现。早期,它是 Mozilla 和三星之间的合作努力。然后 COVID 发生了——导致了一些削减。
Servo 之所以重要,有几个原因。首先,如今,世界上大部分的服务都运行在网络和网络应用程序上,包括几乎所有的 SaaS 产品。二十年前,这在当时还是一件新鲜事,正如 El Reg 在 2005 年 9 月以 Salesforce 为例所解释的那样——但自那以后,它已经变得无处不在。早在 2016 年,Reg 的一篇文章仍然需要解释 Electron 是什么。它允许开发者从单一代码库构建适用于所有主要桌面和移动操作系统的本地应用程序,使用 JavaScript 通过谷歌的 Chromium 引擎进行渲染。如果你使用某种带有本地客户端的 SaaS 产品,那么这个客户端应用程序很可能是用 Chromium 构建的。
同样,如今大多数浏览器都是基于这个浏览器引擎。在程序员中,这已经成为笑话和梗的素材:“每个浏览器背后都有 Chromium。”在“为什么一切都必须基于 Chromium?”这篇文章中,看看你能否找到你的浏览器。你是在用“漂亮的 Chrome”、‘红色 Chrome’、‘蓝色 Chrome’还是‘狮子 Chrome’?这不仅仅是浏览器——在“哎呀!全是 Chromium”这篇文章中,你可以玩找标志的游戏:我们识别出了 Slack、Spotify、Teams、Discord、Steam 和 VS Code。
实际上,在这些品牌背后,只有少数几个浏览器引擎与 Chromium 无关。苹果自家开发的 Safari 最初是基于 KDE 的 KHTML 引擎,后来苹果将其开源为 WebKit。Safari 曾经可以在 Windows 上运行,但自 2010 年的 5.1.7 版本起就不再支持。苹果声称有三个版本,但这些版本都是针对苹果设备的。
如果你想在非苹果硬件上运行基于WebKit的浏览器,其实选择不多:Midori浏览器是跨平台的,而在Linux和Haiku上有GNOME Web。
Safari和WebKit是Chrome家族的远亲戚。早在2013年时,谷歌就将WebKit分叉,创建了Blink,这就是Chromium中的引擎。
有两个超轻量级GUI浏览器尚不支持JavaScript,分别是NetSurf和Dillo,后者在新项目负责人的带领下复活了。缺乏JavaScript是它们体积小且快速的原因,但这也限制了它们的使用。它们无法像Chromium那样在Electron中工作。
Ladybird 浏览器更强大,正如我们在 2023 年报道的,它是从独立的类 Unix 系统 Serenity OS 项目中分离出来的。当它实现跨平台时,Ladybird 仍然采用 C++,与其前身操作系统相同,但项目负责人 Andreas Kling 在 2024 年宣布将转向苹果的 Swift 语言。项目网站上表示:“我们计划在 2026 年夏季发布首个针对 Linux 和 macOS 的 Alpha 版本,主要面向开发者和早期用户。”
Mozilla 在五年前解散了 Servo 及其开发团队,如今似乎更关注于人工智能的添加。还有一些基于现代 Firefox 代码库的浏览器,比如 Waterfox、LibreWolf、Floorp,以及我们去年关注的 Zen Browser。
Chrome 和 Chromium 的主导地位非常强大,以至于大多数网站和网络应用都依赖它们,而在 Firefox 中,很多内容无法正确渲染。正如我们提到的,当 Thunderbird 142 发布时,有扩展可以让你在 Thunderbird 中将 Slack、WhatsApp、Facebook Messenger 等作为标签打开,它们确实可以使用,但外观和功能都不太正常。
总之,虽然有一些非基于Chromium的替代浏览器,但数量不多,并且它们确实存在一些限制。在嵌入应用程序的网页组件领域,实际上没有其他选择,除了Chromium。这就是Servo的重要性所在。
光是Rust就让很多开发者觉得很有吸引力,因为互联网客户端软件是漏洞和攻击的主要渠道之一。Chromium大约有47,712,130行代码,其中54.1%是C++。近2600万行C++代码的调试工作量非常庞大。我们猜很多Reg的读者,像这只秃鹫一样,对写Linux内核模块一点兴趣都没有。我们认为这很公平,但可见的GUI Rust应用程序的出现,例如Zed代码编辑器和整个COSMIC桌面环境,都是一些运行良好的重要Rust项目的好例子,而且它们的性能也非常棒。
热门跟贴