跨平臺全文搜尋應用 Buzee 的開發者最近將該專案開源,引發了關於桌面搜尋市場機遇與挑戰的討論。這一舉措為我們提供了現代桌面搜尋解決方案的開發歷程,以及在與 Windows Search 和 Spotlight 等成熟工具競爭時所面臨的障礙的寶貴見解。
技術實現與架構
Buzee 採用 Rust 和 Tauri 構建後端,前端則使用 Svelte 和 TypeScript ,代表了桌面搜尋的現代化方法。該應用程式結合了 SQLite 的 FTS5 功能和 Tantivy 實現強大的全文搜尋功能,同時保持輕量級的特點。開發者的技術選擇反映了對效能和跨平臺相容性的重視,儘管這個過程中也遇到了不少挑戰。
技術棧:
- 後端: Rust 、 Tauri v2 、 SQLite 、 Tantivy
- 前端: Svelte 4 ( TypeScript )、 shadcn-svelte 、 TailwindCSS
主要功能:
- 支援 PDF 、圖片和音訊檔案
- OCR 文字提取
- 自動檔案系統同步
- 文件/資料夾置頂功能
- 帶統計資料的儀表盤
市場挑戰和分發障礙
該專案面臨的最顯著障礙之一是分發問題,特別是在 Windows 平臺上。500美元的程式碼簽名證書要求成為了廣泛採用的重大障礙,尤其是在企業環境中。這一挑戰還因企業環境越來越多地轉向使用 Google Drive 和 Microsoft OneDrive 等雲端儲存解決方案而變得更加複雜。
最初的想法源於我的工作場所,那裡每個人的電腦上都有成千上萬的文件,但卻記不清具體位置,所以他們總是互相詢問檔案,最終導致出現多個副本。這真是一團糟。
開發歷程和學習經驗
這個專案最初是為了解決工作場所檔案管理效率低下的問題,後來演變成了一次全面的學習經歷。開發者承認,儘管一開始 JavaScript 知識有限,但透過這個專案掌握了 Rust 、 TypeScript 和其他各種技術。這種探索性的開發方法雖然具有教育意義,但在維護應用程式眾多元件的一致性方面也帶來了挑戰。
市場機遇和未來潛力
儘管專案轉向開源,但社群成員已經識別出重要的潛力,特別是在 Windows 市場上,因為其原生搜尋功能一直備受批評。一些評論者建議專注於特定領域,如法律文件或發票管理,在這些領域中,專業的搜尋功能可以提供實質性的價值。
結論
雖然 Buzee 可能沒有實現最初的商業願景,但其開源代表著對桌面搜尋領域的重要貢獻。該專案的文件和程式碼庫為有興趣開發類似工具的開發者提供了寶貴的見解,同時也凸顯了在當今市場中開發和分發桌面應用程式的複雜現實。