跳至主要內容
YIP NEWS
YIP NEWS

10月4日

兩本食譜合炒一鍋,那個味道連老師傅都說眼熟

生活爐 美食生活

一位 Vue 開發者把 Vue 指令搬進 JSX 寫出 vitarx 框架的熱議,被我們翻譯成廚房裡兩套家傳手藝合炒一鍋的滋味故事。

刊出 (台北時間) 閱讀約 3 分鐘

廚房裡最微妙的時刻,是你把阿嬤的做法嫁接進別人家菜的骨架。2026 年 10 月 1 日,掘金上一位開發者分享了自己寫的前端框架 vitarx,起因是他受夠了圈子裡那條說法:用 React 的看不上用 Vue 的,用 Vue 的看不上用 jQuery 的。他的解法很直白,既然站隊這麼累,那就自己開一間餐廳。

結果端出來的菜,三家客人都愣住了。React 的客人嘗一口,說眼熟;Vue 的客人嘗一口,也說眼熟;輪到 Solid 的老主顧,直接喊:有人偷了我家的湯底。

形是別人家的形,味道是自己家的

先看這道菜的長相。vitarx 允許你這樣寫介面:v-if 指令掛在 JSX 的花括號裡。翻成廚房的語言,就是把法式醬汁淋在臺式炒鍋剛起鍋的麵上,擺盤是西餐的擺盤,鑊氣是巷口的鑊氣。

Vue 十年來的招牌是把指令寫在模板字串裡,React 則信奉一切皆 JavaScript,條件判斷靠邏輯運算子。vitarx 偏偏把兩邊各取一半:Vue 的指令語法,配 JSX 的表達式骨架,再讓 TypeScript 站在旁邊盯著,溫度不對立刻喊停。作者特別點出,Vue 模板裡的表達式至今難做完整的型別檢查,這一點正好補上。

這就像你做滷肉,醬油的牌子用家裡慣用的,但燉法照著另一本食譜的火候走。上桌時,喫慣任何一邊的人都會停頓一下,筷子懸在半空。

連舊味道都記得的那鍋湯

真正讓識貨的客人挑眉的,是細節。作者展示了一個小設計:computed 的 getter 第一個參數是舊值。翻譯過來,就是這鍋湯記得上一輪的味道,你續水的時候,它知道自己上次是鹹了還是淡了。

這種細節廚房裡到處都是。好的滷鍋師傅補湯前一定先嘗一口原湯;炸第二次的油要問過第一次炸過什麼。味道是有記憶的,程式也一樣,只是多數框架選擇失憶,每一輪都從冷水開始。

另外還有 untracked,讀取資料但不建立依賴,作者自己說明這借鏡了 Solid 的 untrack。換句話說,這鍋湯裡確實有別人家的高湯,只是火候和調味是自己重新來過的。

其實每個家裡的菜,都是這樣長出來的。你媽的炒米粉裡有她媽媽的醬油比例,也摻了婚後從市場攤販那裡學來的一勺糖。純正這兩個字,在真實的廚房裡從來站不住腳。這跟我們之前聊過的那鍋不看身分證的老滷是同一件事,味道的來歷比出身的標籤有意思多了。

站隊喫飯,不如自己開夥

那條前端圈的食物鏈,說穿了跟餐飲圈的門派之爭沒兩樣:做法餐的看不起做熱炒的,做熱炒的看不起賣滷肉飯的,賣滷肉飯的默默把生意做到全世界。

而這位作者用行動給了一個廚房式的答案:與其爭誰正統,不如把兩邊你真的用順手的工具合起來,做一桌自己想喫的菜。vitarx 還很年輕,介面能不能燉到入味、會不會哪天湯燒乾了,都得再等幾年火候才知道。

但那頓飯的精神是可以馬上帶回家的。你冰箱裡若有兩本抄來的食譜,今晚就可以讓它們碰面。鑄鐵鍋炒臺式櫻花蝦,起鍋前補一小塊奶油;電鍋蒸蛋改成高湯打底,淋幾滴香油和一點蔥油。舊的做法負責安全感,新的手法負責那一下讓人抬頭的香氣。

至於正統派會不會沉默,那就是他們的事了。爐火跟餐桌,從來只問好不好喫。