作品集
個人專案

ReadLater

  • NativePHP
  • Laravel
  • SQLite
  • 桌面應用
ReadLater 的畫面截圖

背景

平常看到值得之後再讀的文章會先丟進瀏覽器書籤,但書籤夾越養越亂,換電腦 也不會同步。市面上的書籤工具不是要訂閱、就是資料存在別人的雲端,想要一個 單機、資料自己保管、又能跨平台用的版本,所以自己動手寫了 ReadLater。

做法

專案完全用 Laravel 寫,透過 NativePHP 打包成桌面應用,同一套 Blade + Livewire 程式碼不用改就能產出 macOS、Windows、Linux 三個平台的安裝檔。資料庫用 SQLite, 單一檔案存在使用者自己的電腦上,不經過任何後端伺服器。

技術重點

  • NativePHP:處理視窗管理、系統匣圖示、跨平台打包流程。
  • SQLite:不需要額外裝資料庫,複製資料庫檔案就能備份或搬機器。
  • Laravel Queue(本機佇列):抓取書籤網頁的標題、預覽圖時丟到背景處理, 不卡住 UI。

成果與心得

目前自己每天在用,書籤數量破千之後查詢還是很順(SQLite 全文索引撐得住)。 Windows 版遇到的 SmartScreen 簽章問題另外寫在 技術筆記 裡。下一步是加上標籤與全文 搜尋的 UI,目前先靠檔案系統的搜尋硬撐。