跳转到主要内容

本周项目:Beaker Browser

·阅读时长 4 分钟

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


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

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

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

有了 Beaker,我们有了一个新的 Web 协议:去中心化存档传输(Decentralized Archive Transport)。“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 方案,称为 “app scheme”。更多 Dat API。

对于那些可能对为项目做贡献感兴趣的人来说,Beaker 在哪些方面需要帮助?

我们有很多开放的 issue。不要害怕 ping 我。freenode 上的 #beakerbrowser。我们维护一个贡献者页面,并将你添加进去。如果你去奥斯汀,我会请你喝一杯啤酒。

有没有什么 Electron 技巧对其他开发者有用的?

  1. 使用现有的构建工具。你不想纠结于自己的解决方案,相信我。使用 electron-builder。使用样板仓库。
  2. 如果你需要在 Electron 仓库中打开一个 issue,请多花些精力使其易于重现。你将更快地得到回复,团队也会对此表示赞赏。更好的是,尝试自己修复它。看看它的内部运作其实相当有趣。
  3. 至少阅读一遍所有的指南和高级文档。
  4. 不要构建浏览器,这是一个饱和的市场。