使用 Rust 和 Flutter 構建的 Notion 開源替代品 - AppFlowy
AppFlowy 是一款 Notion 的開源替代產品。是專為需要更多控制和靈活性的團隊打造的;你可以在任何地方托管 AppFlowy,沒有服務商綁定;開放源代碼,你可以根據自己的需求修改;支持多個平臺;采用 Flutter 和 Rust 構建;數據安全有保障,100%自己控制。
自 2021 年 11 月 13 日在 GitHub 上首次發布以來,截至本文撰寫之時,該項目已累積 20k 顆星和 48 位貢獻者,這也足以證明該開源項目的受歡迎程度。
安裝
我們可以使用多種方式來安裝 AppFlowy。如果你是 Mac 用戶,可以直接使用 Homebrew進行一鍵安裝:
brew install appflowy
目前比較推薦的方式是直接下載官方的安裝包進行安裝,下載地址:https://github.com/AppFlowy-IO/appflowy/releases,根據你的系統下載對應的安裝包,解壓后即可使用。
如果你想自己手動構建,則需要 Clone 源代碼,然后要配置 Rust 和 Flutter 的環境,具體方式可以參考文檔 https://appflowy.gitbook.io/docs/essential-documentation/install-appflowy/installation-methods/from-source。
還一種更加簡單的方式就是可以通過 Docker 來啟動 AppFlowy,使用下面的命令啟動容器:
docker run --rm \
-v $HOME/.Xauthority:/root/.Xauthority:rw \
-v /tmp/.X11-unix:/tmp/.X11-unix \
-v /dev/dri:/dev/dri \
-v /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket \
-v appflowy-data:/home/appflowy \
-e DISPLAY=${DISPLAY} \
appflowyio/appflowy_client:latest
不過需要注意 Docker 容器內的 Appflowy 需要訪問你的 X server,如果沒有對應的權限,則推薦構建自己的鏡像。雖然可以在運行容器之前執行 xhost +,但是這個命令是比較危險的,所以最好在執行之后運行 xhost -命令。
要構建自己的鏡像也很簡單,不需要克隆整個代碼庫,可以簡單地創建一個目錄并將所需的 Docker 文件下載到該目錄中:
wget https://raw.githubusercontent.com/AppFlowy-IO/appflowy/main/frontend/scripts/docker-buildfiles/Dockerfile
wget https://raw.githubusercontent.com/AppFlowy-IO/appflowy/main/frontend/scripts/docker-buildfiles/docker-compose.yml
然后執行下面的命令即可構建鏡像:
docker-compose build --build-arg uid=$(id -u) --build-arg gid=$(id -g)
構建后使用 docker-compose up即可啟動容器。
使用
目前 Appflowy 的功能并不是很強大,基本的編輯功能是沒有問題的,但是要和對標的 Notion 比的話功能就差太多了。
但是從官方的路線圖來看會逐漸支持更多功能,類似于 Notion 的 database:
還會有專門的 Dashboard 統計頁面:
作為剛剛開始不久的開源項目算是非常優秀的了,對于后續功能的實現也是非常值得我們期待的。如果你是 Rust 或者 Flutter 的使用者,那么這個項目是你非常值得研究學習的。想要了解 AppFlowy 是如何設計開發的,可以參考官方博客 https://blog-appflowy.ghost.io/tech-design-flutter-rust/ 了解更多。
倉庫地址:https://github.com/AppFlowy-IO/AppFlowy。