跳到主要内容

每周项目:Beaker 浏览器

·4 分钟阅读

本周我们采访了 Paul FrazeeBeaker 浏览器的创建者。Beaker 是一款实验性的点对点 Web 浏览器,它使用 Dat 协议从用户设备托管站点。


什么是 Beaker,你为什么要创建它?

Beaker 是一款参与式浏览器。它是为独立黑客设计的浏览器。

Web 是闭源的。如果你想影响社交媒体的运作方式,你必须在 Facebook 或 Twitter 工作。对于搜索,则是 Google。控制权掌握在公司手中,而不是用户自己手中。

有了 Beaker,我们有了一个新的 Web 协议:分散式档案传输。“Dat”。它可以按需免费创建站点,然后从设备共享它们。无需服务器。这就是我们的创新。

Beakers Protocols

当你在 Beaker 中访问 Dat 站点时,你会下载这些文件。该站点永远属于你。你可以保存它、派生它、修改它,并免费共享你的新版本。它完全是开源的。

所以这就是它的意义所在:我们正在为开源网站制作浏览器。我们希望它成为社交黑客的工具包。

谁应该使用 Beaker?

黑客。改装者。创意人士。喜欢修补的人。

如何创建一个使用 Dat 的新项目?

我们有一个 名为 bkr 的命令行工具,它有点像 git + npm。这是创建一个站点

$ cd ~/my-site
$ bkr init
$ echo "Hello, world!" > index.html
$ bkr publish

这是派生一个站点

$ bkr fork dat://0ff7d4c7644d0aa19914247dc5dbf502d6a02ea89a5145e7b178d57db00504cd/ ~/my-fork
$ cd ~/my-fork
$ echo "My fork has no regard for the previous index.html!" > index.html
$ bkr publish

这些站点然后会从你的浏览器托管出来。它有点像 BitTorrent;你在 P2P 网格中共享站点。

如果你想要一个 GUI,我们在浏览器中内置了一些基本工具,但我们正在将这些工具推送到用户领域。这一切都将是可修改的用户应用程序。

你为什么选择在 Electron 上构建 Beaker?

对于这个项目来说,这是显而易见的。如果我自己派生 Chrome,我现在就要编写 C++!没人想这样做。我了解 Web 技术栈,我可以快速使用它。这太简单了。

事实是,我不确定没有 Electron 我是否能做到这一切。它是一款很棒的软件。

在构建 Beaker 时你遇到哪些挑战?

其中一半是在摆弄这些工具,并弄清楚我能做多少。

制作浏览器本身很容易。Electron 实际上是制作浏览器的工具包。 ...除了浏览器标签;我花了很长时间才弄对。我最终崩溃并学会了如何制作 SVG。它看起来好多了,但我花了 3 到 4 次迭代才弄对。

在哪些方面应该改进 Electron?

如果我可以将开发工具停靠在 webview 中,那就太好了。

Beaker 的下一步是什么?

Dat 站点的安全 DNS 名称。一种可配置的社交 URL 方案,称为 “应用方案”。更多 Dat API。

对于可能有兴趣为该项目做出贡献的人,Beaker 在哪些方面需要帮助?

我们有很多未解决的问题。不要害怕 ping 我。freenode 上的 #beakerbrowser。我们保留一个 贡献者页面,我们会将你添加到其中。如果你访问奥斯汀,我会请你喝一杯啤酒。

有什么可能对其他开发者有用的 Electron 技巧吗?

  1. 使用现有的构建工具。相信我,你不想自己费力去解决,使用 electron-builder。使用一个样板仓库。
  2. 如果你需要在 Electron 仓库中提交 issue,请尽力使其易于重现。你会更快地得到回复,团队也会很感激。更好的是,尝试自己修复它。了解内部原理实际上很有趣。
  3. 至少通读一遍所有的指南和高级文档。
  4. 不要构建浏览器,这是一个饱和的市场。