商店地址:tiny todo list前端
Github:tiny-todo-listgit
業餘寫了款基於Svelte的輕量任務清單擴展 - ttl (tiny todo list),寫來緣由有一二:github
由於相信看這篇的大多數都是開發,因此這篇除了介紹對清單todolist的理解,另外就是適當穿插一些開發使用到的框架和API接口介紹。web
這是個有趣的事情,由於前端雖然一直在小步快跑,但近幾年國內主流的開發應該是在Vue,React中切換,變的是一次次版本升級帶來的用法差別,不變的是這幾款框架基本已經肯定了本身的江湖地位,就像在前端編譯構建階段,Webpack已是無人撼動的地位,恰恰有個愣頭青搞起了rollup。嗤之以鼻的人說這是蜉蝣撼大樹,不安分的人會心生幾分敬意,少年有種勇者鬥惡龍的氣概,而正是這個愣頭青又盤算起了前端框架,就是這個Svelte,已經到了v3版本,簡單介紹下:chrome
雖然說生態如此,但後發總比先來的有優點是鐵板的事情,畢竟從模板語法上能看到學習了很多Vue的長處,同時幹掉了虛擬DOM,沒有中間商賺差價,開發直接燥起來。後端
相關文檔:Svelte官方文檔api
Chrome擴展單純說前端開發又不能徹底涵蓋,能夠說是一個前端練手微項目的絕佳機會。爲何算是微項目:跨域
popup
和background
以前相似先後臺的交互 - 能夠看作是先後端請求若是想了解下這個小身材卻有大內容的開發,英文又不必定那麼好,那麼牆裂推介這個非官方的開發者文檔,而若是你恰巧對說明性文檔不感興趣,能夠看看我寫過的一篇問答式入門文檔寫個Markdown插件,講講Chrome擴展開發瀏覽器
有了前邊提到的緣由一二,和上手練練新框架的想法,就開始上手作了。但仍是要說一個作以前就考慮的問題。前端框架
先前開發SPS時,使用了Chrome爲每一款擴展提供了100kb的同步功能。這是個神奇的100kb, 有了這100kb存儲,能夠作到無需單獨帳號登錄系統,就能夠同步更新。但當你想在100kb範圍內存儲一批數據時,又會遇到一個問題:每個對象存儲不能超過8kb,也就是說給了你自由,又給了你套了層枷鎖,終究沒辦法翩翩起舞。這也是SPS限制存儲40首(甚至有些狀況不到40首bug)的緣由。
怎麼辦,如何在不註冊登陸(表層緣由是不想存儲任何用戶數據,不做惡,深層緣由是還須要本身作數據存儲,麻煩),又能讓用戶肆意存儲。有了問題,就考慮這麼一個免費的存儲空間,嗯,Github issue看好你喲。因此簡單測試下,bingo,就用它了。
相關API文檔:
說到功能需求,不得不說說我所用到的一些todolist.做爲開發和工具愛好者,對工具備些執念: 但願它能簡單。這一點恰恰todoist作的是重了又重,太多沒用的總搞得不是很得勁,有時候還會遇到登錄不上的問題,麻煩。
在找到一款Simple To-Do List簡單有好用的擴展後,深度使用仍是發現了幾處致命問題:
查看了下做者更新時間是多年前了,因此理想的簡約不簡單仍是有那麼一些距離,就梳理下本身的需求:
進行中的任務須要可以支持不一樣狀態
常規todolist只能展現完成/未完成兩個狀態,有時候在任務完成前,沒有看到任務進展會有一種挫敗感心理
TTL作了什麼:
complete
條目中forgotten
條目中須要支持清單任務描述
Simple To-Do List
簡單極致到只能建立任務,卻不能對任務作一些基本描述
TTL作了什麼
須要支持強迫症模式
建立必定數量任務如未完成,則限制建立新任務
TTL作了什麼
須要支持遺忘模式
由於常常會遇到建立任務後,但又根本不重要,結果一直躺在任務列表,怎麼辦。
TTL作了什麼 長時間未更新的任務直接進入回收站(Forgotten)
chrome.storage
同步,這樣遇到多臺PC的狀況,沒辦法作到信息同步