說實話,我們大多數人對待自己的身體就像對待過時的舊設備一樣。它還在執行,技術上也能用,但已經好幾年沒更新了,而且我們已經忽略日誌裡的STIFF_NECK_WARNING警告六個小時了。
我建立這個平台是為了服務開發者社區,特別是以下這些開發者:
以 45 度角坐下,直到它們與椅子融為一體。
凌晨3點,當他們終於站起來時,發出「嘎吱」一聲。
把「補水」當作普通的咖啡一樣對待。
倦怠不僅僅是一種心理狀態,它也是一種生理缺陷。 DevStretch 就是解決這個問題的補丁。
DevStretch是一款以終端為主題的 PWA,旨在打斷你的“心流狀態”,以免它永久破壞你的姿勢。
這是一個包含 11 個步驟的維護流程。我們不是在“拉伸”,而是在重建我們的系統核心。我給每個步驟都重新起了個開發者專屬的名字,因為說實話——你更有可能去「清除快取」而不是「閉目養神」。
| # | 協定名稱 | 系統操作 |
|---|----------|-----------|
| 1 | 程式碼檢查 | 頸部拉伸 |
| 2 | 後仰 | 肩部滾動 |
| 3 | 預防腕隧道症候群 | 手腕伸展 |
| 4 | 展開至站立姿勢 | 從坐姿到站姿 |
| 5 | 清除緩存 | 眼睛休息 |
| 6 | 重塑脊椎 | 坐姿背部扭轉 |
| 7 | 離線模式 | 離開 |
| 8 | 內存垃圾回收 | 盒子呼吸 |
| 9 | 伸展手臂 | 過頭伸展 |
| 10 | 改善你的姿勢 | 姿勢檢查 |
| 11 | git commit --water | 補水提醒 |
使用者介面採用暗黑模式終端美學設計——近乎黑色背景上的磷光綠、JetBrains Mono 字體、掃描線、閃爍的計時器和閃爍的遊標,以及啟動引導序列,讓你感覺像是在初始化一台大型主機。
在手機上打開它,然後點擊“加入到主螢幕”。它是一個 PWA 應用,所以即使 Wi-Fi 斷線也能離線使用。
該專案完全無依賴。沒有 React,沒有 Vite,也沒有比專案本身更大的 node_modules 資料夾。只有簡潔、模組化的原生 JavaScript。
我特意選擇了一套「平淡無奇」的堆疊方式,結果卻出乎意料地好。
Web Speech API :提供免持語音指導。無需在“重塑脊椎”時查看螢幕。
螢幕喚醒鎖定 API :這至關重要。它可以防止手機螢幕在拉伸過程中變暗或鎖定,確保在你離開鍵盤時計時器不會減慢。
Web Notifications API :後台站立提醒,即使關閉標籤頁也會保持活動狀態。
Service Worker :完全離線支援。即使網路中斷,您的健康協定也不應該停止運作。
「漏洞」日誌:通知地獄
瀏覽器通知機制讓我大吃一驚。我慘痛地發現,從主執行緒呼叫 new Notification() 經常會被靜默阻塞;更「高級」的做法是將所有通知都透過 Service Worker,即 registration.showNotification() 來實現。
即便如此,作業系統層面的通知層(例如 Windows 的專注助手、Android 的電池優化)也可能完全吞噬通知。權限顯示granted ,Service Worker 也正常啟動…但就是什麼都沒顯示。目前仍在積極除錯中。有時候,發布就意味著帶著一個「已知問題」一起發布🙃
接下來會發生什麼事:
更深層的平台集成,以實現後台通知
自訂練習編輯器 - 新增您自己的伸展動作
可配置的休息時間
專用的手腕和眼睛鍛鍊套裝
git commit -m "took care of myself today"
這是功能特性,不是漏洞。