最近開發了一款增強 Github 體驗的 Chrome 外掛 - GithubX
程式碼也開源了: https://github.com/riskers/gi...
痛點
解決了我個人的一個痛點:Github 原生對 stars 和 gists 無法分組和打標籤,這樣讓我每次在查一些不常用庫的時候,總是會花很長時間查詢。
看看效果
可以在後臺在 star 分組和打標籤了:
然後在 github 頁面展示出來:
上面是對已經 star 過的專案,如果你有新的 star,會自動彈窗讓你操作:
自我總結
這個專案其實應該 2 年前就做完了,一直拖到現在,也主要是自己的拖驗症比較嚴重。
這次迭代了 3 個版本,差不多 2 週一個版本,主要用業務時間來做這件事情。
學到了什麼
- React Hooks 這次是比較深入使用了,不再像之前一樣泛泛而過了
- Chrome Extension 開發,沉澱了一個腳手架,以後做外掛會很方便:https://github.com/riskers/re...
覆盤
這次技術選型的思考:一開始想得太多,導致進度很慢。
儲存選型
最開始本地資料是存在 localStorage 裡的,不過後面分組的時候,要做到類似 One To Many 的關係查詢,會很麻煩,我勉強克服了。直到要打標籤的時候,我絕望了,因為這是 Many To Many 關係,用 localStorage 太麻煩了。於是,使用 indexedDB 解決這種問題。
狀態管理選型
一開始我認為這只是一個小專案,沒打算上 redux。所有的狀態管理都放在 context 裡,結果,因為資料管理太複雜,使用 context 反而讓狀態越來越複雜,得不償失,於是用 redux 替換。檢視這個 commit會更清楚。
說了這麼多,如果你感興趣,不妨試試吧。下載地址
- BUG 提交 -> https://github.com/riskers/gi...
- 討論需求 -> https://github.com/riskers/gi...
向我捐助 | 關於我 | 工作機會