跳到主要內容

每週專案精選:Beaker 瀏覽器

·4 分鐘閱讀

本週我們採訪了 Paul FrazeeBeaker 瀏覽器的創作者。Beaker 是一款實驗性的點對點網路瀏覽器,使用 Dat 協定從使用者裝置託管網站。


什麼是 Beaker?您為何創建它?

Beaker 是一款參與式瀏覽器。它是為獨立駭客打造的瀏覽器。

網路由封閉原始碼組成。如果您想影響社群媒體的運作方式,您必須在 Facebook 或 Twitter 工作。搜尋引擎則有 Google。控制權掌握在公司手中,而不是使用者本身。

有了 Beaker,我們有了一個新的網路協定:分散式檔案傳輸。「Dat」。它可以按需免費建立網站,然後從裝置分享。無需伺服器。這是我們的創新之處。

Beakers Protocols

當您在 Beaker 中造訪 Dat 網站時,您會下載檔案。該網站永遠屬於您。您可以儲存、Fork、修改它,並免費分享您的新版本。這一切都是開放原始碼。

這就是它的目的:我們正在為開放原始碼網站製作瀏覽器。我們希望它成為社群駭客的工具組。

哪些人應該使用 Beaker?

駭客。模組製作者。創意類型人士。喜歡嘗試的人。

我該如何建立使用 Dat 的新專案?

我們有一個名為 bkr 的命令列工具,有點像 git + npm。以下是建立網站的方法

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

以下是 Fork 網站的方法

$ 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,我們在瀏覽器中內建了一些基本工具,但我們正將這些工具推向 userland。這一切都將成為可修改的使用者應用程式。

您為何選擇在 Electron 上建置 Beaker?

對於這個專案來說,這很明顯。如果我自己 Fork 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 儲存庫中開啟問題,請多花點力氣使其易於重現。您會更快獲得回應,團隊也會感謝您。更棒的是,嘗試自己修復它。看看內部構造其實很有趣。
  3. 至少閱讀一遍所有指南和進階文件。
  4. 別再做瀏覽器了,市場已經飽和了。