背景
平常看到值得之後再讀的文章會先丟進瀏覽器書籤,但書籤夾越養越亂,換電腦 也不會同步。市面上的書籤工具不是要訂閱、就是資料存在別人的雲端,想要一個 單機、資料自己保管、又能跨平台用的版本,所以自己動手寫了 ReadLater。
做法
專案完全用 Laravel 寫,透過 NativePHP 打包成桌面應用,同一套 Blade + Livewire 程式碼不用改就能產出 macOS、Windows、Linux 三個平台的安裝檔。資料庫用 SQLite, 單一檔案存在使用者自己的電腦上,不經過任何後端伺服器。
技術重點
- NativePHP:處理視窗管理、系統匣圖示、跨平台打包流程。
- SQLite:不需要額外裝資料庫,複製資料庫檔案就能備份或搬機器。
- Laravel Queue(本機佇列):抓取書籤網頁的標題、預覽圖時丟到背景處理, 不卡住 UI。
成果與心得
目前自己每天在用,書籤數量破千之後查詢還是很順(SQLite 全文索引撐得住)。 Windows 版遇到的 SmartScreen 簽章問題另外寫在 技術筆記 裡。下一步是加上標籤與全文 搜尋的 UI,目前先靠檔案系統的搜尋硬撐。