
JSON Canvas 規範 (2024)
JSON Canvas 是一項針對無限畫布數據的開放標準,定義了節點、連線與顏色的結構化格式,以確保視覺化工具之間的互操作性。
背景
JSON Canvas 是一個由 Obsidian 團隊推出的開源畫布規格,旨在為無限畫布工具提供一個基於 JSON 的通用、開放且易於解析的檔案格式。這項規格於 2024 年正式發布 1.0 版本,定義了節點、連線與顏色等基本屬性,讓不同的應用程式能夠以此為標準進行資料交換與視覺化呈現。
社群觀點
在 Hacker News 的討論中,社群對於 JSON Canvas 的評價呈現兩極化。支持者主要讚賞其極致的簡潔性與開放性,認為這種簡單的結構降低了開發者實作的門檻,且對於大型螢幕使用者而言,畫布介面是一種極佳的 UI 模式。Obsidian 的執行長 Steph Ango(kepano)也親自參與討論,解釋該格式如何透過檔案節點實現嵌套畫布,並提到未來將進一步整合 AI 代理,讓機器更容易讀寫畫布內容。
然而,許多技術導向的評論者對此規格提出了質疑。部分開發者認為以像素作為絕對定位的基準並不理想,因為這可能導致在不同裝置上渲染不一致,且缺乏對文字大小的精確定義。另一種批評聲音則指向其必要性,認為這類需求或許能直接使用 SVG 或現有的 JSON Graph 規範來解決,甚至有人直言這是在重新發明 SVG,卻未解決資料效率或更新速度的問題。針對這些質疑,支持者反駁指出 JSON Canvas 的優勢在於互動性與可攜性,比起處理複雜的 SVG 樣板,這種 DSL 格式在實作互動式畫布時更為輕量。
除了技術細節的爭論,使用者也分享了實際應用中的痛點。例如,目前的規格缺乏對不同形狀節點的支持,這對於需要繪製標準流程圖的使用者來說是一大限制。此外,關於畫布的縮放邏輯與操作體驗,討論區也出現了對於 UI 實作細節的細緻辯論。儘管存在不足,社群普遍認同 JSON Canvas 作為一種交換格式的潛力,甚至引發了關於「開放畫布交換格式」(OCIF)的討論,後者試圖在 JSON Canvas 的基礎上增加更多擴充性,以解決嵌套座標系統與自定義應用程式資料的需求。
延伸閱讀
在討論中,參與者提到了幾個值得關注的相關專案與資源。除了 JSON Canvas 官網提供的應用程式列表外,還有旨在解決跨工具相容性的 Open Canvas Interchange Format(OCIF)。針對 Obsidian 使用者,有開發者推薦了 Advanced Canvas 外掛以擴充原生畫布的功能。此外,對於偏好圖論結構的開發者,留言中也提到了 JSON Graph Specification 作為另一種替代方案。