沒有的話就自己做一個好了!
――――涼宮ハルヒ
那部動畫的主角就是這麼說的。
「想要一個更順、更快速的 Markdown 編輯器!」
身為工程師,或許你也曾有過這樣的想法吧。…欸,沒有嗎?好吧,那就當作有吧。
市面上有像 Atom、Obsidian 這類功能豐富的編輯器,確實很棒,但光是為了記一下筆記,就每次啟動都給電腦負擔,總覺得不太聰明。而且我也希望把用於開發的 VSCode 與用來撰寫文件的 Markdown 編輯器分開使用。
因為對現有應用程式的「重量」有點受夠了,而又找不到完全符合我喜好的 Markdown 編輯器,我一度快要放棄。心裡想著「算了,用現有的編輯器湊合吧」。
就在那時,涼宮前輩的話在腦海中閃過。
「沒有的話就自己做一個如何?」
這就是開放原始碼編輯器「Bokuchi」誕生的起因。
……嗯,讀到這裡的各位大概都會這麼想吧。我也是這麼想的。
我對 Markdown 編輯器的需求其實只有以下三點:
嘗試過 VSCode、Atom,以及各種像 Obsidian 的 Markdown 編輯器,但就是沒找到令我心服的工具。
於是我決定乾脆自己做一個理想的工具。既然要做,就想趁機學最新的技術棧、體驗現代化的開發流程。最後選定的是 Tauri v2。
「Tauri」是什麼?
同樣在 Qiita 上已經有很好的介紹文章,詳細可以參考那篇。簡單來說,就是「後端用 Rust、前端用 JS 的應用程式框架」。
光是這一點就技術上很吸引我,但它還有很多其他優點:
一開始我還有想過要用 Go 實作,但知道 Tauri 之後,便老老實實以 Rust + React 開始開發。應用在通常情況下的記憶體使用量約為 40MB 左右,幾乎不會超過 50MB。這種「可以常駐但又很輕量」的特性,是 Markdown 編輯器 Bokuchi 最大的武器。
Bokuchi(開放原始碼)的堅持
Bokuchi 是我為了日常大量使用而打造的編輯器。
變數系統的範例:
在 Tauri v2 的開發體驗
使用 Tauri v2 的感想是,整體完成度很高。大部分想做的功能幾乎都已有準備,架構相當周到。安全性架構也相當堅固,只有經過允許的操作才能執行。這不僅能防止第三方的注入攻擊,也能讓應用更安全。
不過也因為安全性嚴謹,「想要開啟檔案」這類操作會被預設拒絕,所以必須在設定檔裡明確宣告「會使用哪些檔案或功能」。
實際的 Bokuchi 設定範例
若要使用作業系統功能(例如開啟/儲存檔案等),必須在此處列出,否則不會被允許。
capabilities/default.json
{
"$schema": "../gen/schemas/desktop-schema.json",
"identifier": "default",
"description": "Capability for the main window",
"windows": [
"main"
],
// 在這裡宣告需要的權限
"permissions": [
"core:default",
"fs:default",
"dialog:default", // 使用檔案對話方塊
"store:default", // 儲存應用設定
"fs:read-files", // 開啟檔案
"fs:write-files", // 儲存檔案(例如「另存新檔」功能,僅此項還不足,還需要檔案對話方塊的許可)
"fs:read-dirs", // 開啟目錄
"fs:write-all",
"clipboard-manager:allow-read-text",
{
"identifier": "fs:scope",
"allow": [
{
"path": "$HOME/**/*"
},
{
"path": "$DESKTOP/**/*"
},
{
"path": "$DOCUMENT/**/*"
},
{
"path": "$DOWNLOAD/**/*"
}
]
},
"window-state:default",
"clipboard-manager:default",
"updater:default",
"process:allow-restart",
"opener:default"
],
"platforms": [
"macOS",
"linux",
"windows"
]
}
而且最重要的是……輕量!!!
記憶體使用量異常地低
![スクリーンショット-2026-03-10-22.13.42.jpg]()
這點真的讓我大吃一驚。當然 Rust 帶來的好處有其影響,採用作業系統內建的 WebView 結構也令人信服。(相對地,Electron 是把 Chromium 嵌入框架中,本身就比較重。)
最後
Tauri 雖然還是比較小眾的框架,但實際開始開發後覺得非常合乎道理,也漸漸變得很喜歡。框架對於發佈流程的支援也相當完善,這讓我很高興。
這個專案是從「為自己打造工具」出發的,但如果你也對「Markdown 編輯器太重」這個問題感到困擾,歡迎試試看。
Markdown 編輯器 Bokuchi 還在成長中的開放原始碼(OSS)專案。若有「如果有這功能會更好」或「這裡可以這樣改進」等回饋或 Pull Request(PR),非常歡迎。
輕量、美觀,並貼近你的(主要是我的)需求的編輯器。如果有興趣,就來試試看吧。