世界上最复杂的软件是什么?
有人认为是操作系统,有人认为是数据库,我觉得是浏览器。
比如开源的Chromium,上千万行,十几G源码,那真是相当复杂。
Chromium浏览器中涉及到的每一项技术,展开来说都是厚厚的一本书,比如HTTP、SSL、QUIC、WebSocket、JIT编译器、WebRTC、WebAssembly、垃圾回收、内存和CPU的性能统计等等。
而Web平台的规范HTML、CSS、JavaScript等各种细节加起来,都是成千上万页。
强如微软,也不得不放弃了自己的浏览器内核,转而使用Chromium,因为维护一套所需要投入的人力和财力实在是太恐怖了。
现在的浏览器,大部分都基于开源的内核,然后加上自己功能,没有人敢于重起炉灶。
但是世界上有两个人不信邪,总想着搞一套独立的浏览器出来。
这两人,一个是Chris Wanstrath,GitHub联合创始人
另外一个是Andreas Kling,宁静OS的创始人。
已经有了现成的、开源的浏览器,为什么还要从头儿再来呢?不是自讨苦吃吗?
Chris Wanstrath认为,开源的浏览器虽然推动了网络的繁荣,但是它们都是由Google的广告帝国所资助的。
Chrome、Edge、Brave、Arc 和 Opera 都使用谷歌的 Chromium。
Google花了数十亿美元,就是为了成为苹果的Safari 的默认搜索引擎。
而Firefox每年获得的数亿美元(最大的收入)也是Google赞助的。
这个世界需要一种以人为本的、使用全新引擎为开放标准做贡献,不受广告影响的浏览器。
理想很丰满,现实很骨感,浏览器如此复杂,谁愿意从头儿开发呢?
远在北欧,瑞典程序员Andreas Kling为了打发戒毒后无所事事的时光,他开始开发一套全新的操作系统宁静OS,这个目标极其宏大,不仅从头儿写操作系统,更是要从头儿构建操作系统上的所有软件。
Andreas Kling的故事可以在下面的视频中找到:
这个庞大计划中,其中就包括一个简单的HTML浏览器。
Andreas曾经参与过QT和WebKit的开发,从中汲取了一些灵感,但是所有的代码都是全新的,用C++编写。
Andreas不断地完善它,让它支持简单的JS,HTTPS和图片解码,通过了ACID2和ACID3的兼容性测试。
随着宁静OS社区人员的参与,这个HTML浏览器变成了一个完整的浏览器LadyBird(瓢虫)。
这几年LadyBird高速发展,已经形成了完整的体系架构,其中的重要组件如下:
-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, datetime, MIME>
而Andreas也把LadyBird从原来的宁静OS中分叉出来,成为了和宁静OS并立的顶级项目。
他自己也辞去了宁静OS BDFL的职务,把所有的精力都投入到LadyBird浏览器中来。
Google主导的Chromium,开发人员已经上千,如果年薪按100万RMB算,一年的工资就得10个亿,而LadyBird基金会现在只有区区100多万美元,这点儿钱就想开发一个像Chrome那样功能完备的浏览器?
Chris Wanstrath和Andreas Kling是疯了吗?
并不是这样,开源社区的力量是非常巨大的,过去几年,LadyBird在没有捐赠的情况下已经取得了巨大的成功,因为这个世界上有一大批程序员,纯粹是为了自己的爱好而投入开源软件的开发,正是他们构建出了互联网的基石。
Chris Wanstrath和Andreas Kling做的事情是要回归经典开源精神,破除商业垄断,这样的理念是非常吸引人的。我个人对LadyBird的发展非常看好。
本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载者并注明出处:https://jmbhsh.com/shumazixun/35601.html