
在前端開發裡,只要專案一變大,「UI 要怎麼維護、怎麼動態調整」很快就會變成痛點。
特別是後台系統、設定頁、工具型產品,UI 結構常常跟資料高度綁定,但實作時卻還是得寫一堆元件與條件判斷。
json-render 這個由 Vercel Labs 推出的開源實驗專案,切入點非常直接:
能不能只用 JSON 來描述 UI,然後交給 Renderer 負責把畫面生出來?
這個專案在解什麼問題?
json-render 想處理的不是「畫面漂不漂亮」,而是 UI 的可描述性與可組裝性。
在很多實務場景中,你會遇到這些狀況:
-
後端已經有結構化資料,但前端還要重新對應 UI
-
表單、設定頁長得很像,卻要重寫一堆元件
-
想動態調整 UI,但每改一次都要重新部署
json-render 的核心想法是:
把 UI 當成一種資料結構,而不是寫死在元件裡的程式碼。
用 JSON 描述 UI,而不是寫 JSX
在 json-render 的設計中,每一個 UI 元素都是一段 JSON 描述,例如:
-
這是一個文字、輸入框、按鈕
-
它的屬性是什麼
-
子元件的結構如何巢狀
-
事件或行為怎麼定義
Renderer 只負責一件事:
把這份 JSON 結構,轉成實際可互動的 UI。
這種模式特別適合:
-
設定頁(Settings)
-
管理後台
-
工具型介面
-
JSON Schema 對應 UI 的場景
為什麼這種設計現在特別有意義?
隨著 AI、低程式(Low-code)、後端驅動前端(Backend-driven UI)越來越普遍,
「UI 由資料決定」這件事正在變成主流需求。
json-render 的價值在於:
-
UI 可以由後端或設定檔控制
-
前端 Renderer 可重複使用
-
UI 結構可以被序列化、儲存、傳輸
這讓 UI 不再只是前端工程師的專屬產物,而是能被系統、工具、甚至 AI 動態產生。
json-render 並不是要取代 React 或前端框架,
而是提供一個不同的視角:
當 UI 本身就是資料,很多事情會變得更簡單。
如果你正在研究
-
Backend-driven UI
-
Schema 生成介面
-
AI 產 UI 的底層結構
那這個專案,非常值得你花時間看一遍原始碼與設計思路。