每周项目:Beaker 浏览器
本周我们采访了 Paul Frazee,Beaker 浏览器的创建者。Beaker 是一款实验性的点对点网络浏览器,它使用 Dat 协议从用户设备托管站点。
什么是 Beaker?你为什么创建它?
Beaker 是一款参与式浏览器。它是为独立黑客打造的浏览器。
Web 是闭源的。如果你想影响社交媒体的工作方式,你必须在 Facebook 或 Twitter 工作。对于搜索,则是 Google。控制权掌握在公司手中,而不是用户自己。
有了 Beaker,我们有了一个新的 Web 协议:去中心化存档传输。“Dat”。它可以按需免费创建站点,然后从设备共享它们。无需服务器。这是我们的创新。
当你在 Beaker 中访问 Dat 站点时,你会下载文件。该站点永远属于你。你可以保存它、fork 它、修改它,并免费共享你的新版本。一切都是开源的。
所以这就是它的意义所在:我们正在为开源网站制作浏览器。我们希望它成为社交黑客的工具包。
谁应该使用 Beaker?
黑客。Modder。创意类型。喜欢折腾的人。
如何创建一个使用 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
这是 fork 站点
```
然后这些站点会从你的浏览器托管出来。它有点像 BitTorrent;你在 P2P 网格中共享站点。
如果你想要 GUI,我们在浏览器中内置了一些基本工具,但我们正在将这些工具推送到用户空间。一切都将是可修改的用户应用。
你为什么选择在 Electron 上构建 Beaker?
对于这个项目来说,这很明显。如果我自己 fork Chrome,我现在就要写 C++ 了!没人想那样做。我了解 Web 堆栈,我可以快速使用它。这是不费脑筋的。
事实是,我不确定没有 Electron 我是否能做到这一切。它是一款很棒的软件。
在构建 Beaker 时,你遇到过哪些挑战?
一半的工作是研究工具,弄清楚我能做到什么程度。
制作浏览器本身相当容易。Electron 实际上是一个制作浏览器的工具包。……除了浏览器标签页;我花了很长时间才把它弄对。我最终崩溃并学会了如何制作 SVG。它看起来好多了,但我花了 3 或 4 次迭代才把它弄对。
Electron 应该在哪些方面改进?
如果我可以将 devtools 停靠在 webview 中,那就太好了。
Beaker 的下一步是什么?
Dat 站点的安全 DNS 名称。一个称为 “应用方案” 的社交可配置 URL 方案。更多 Dat API。