用Ruby來寫網頁前端到底是不是一個壞點子?
用Ruby來寫網頁前端到底是不是一個壞點子?

本文為《數位時代》獲授權轉載自軟體工程師張以承Medium部落格

講在前面

我是 Ruby 的愛好者,但是不得已的,我也用了不少不是 Ruby 的語言來做前端的開發。Mobile 就是 Objective-C,Web 則是 JavaScript。當然文章這種東西難免都會有偏頗,如果你是死忠的 Ruby 使用者,這篇文章你可以讀來深有同感,但是如果你是 JavaScript 的愛好者,你絕對可以想到一百種理由辯駁…

起源

JavaScript 是一個公認的設計糟糕的程式語言,如果你無法體會他的糟糕,那恭喜你的職業生涯出奇的順利…

不過正因為他是一個設計糟糕的語言,所以有很多人嘗試把它當成一個 compile target ,舉凡現在已經不紅的CoffeeScript,或是微軟支持的 TypeScript.. 等等。通俗地講就是,讓我們來用這個比較好而且可以編譯成 JS 的語言。
但是你知道 Ruby 其實也是可以編成 JavaScript 的嗎?這個專案叫做 Opal。他讓 Ruby 開發者一圓了用 Ruby 寫網頁前端的夢想。

而我在去年年底的 RubyConfTW 的 talk 一直鼓吹的想法則是,很多人會排斥這個點子。儘管是一個資深的 Ruby 工程師,還是覺得網頁前端的就應該要用 JavaScript 寫。理由不外乎是,這才是正統啊,效能啊,豐富的第三方套件等等…。

JavaScript 才是網頁前端的正統

說真的如果你是指 ES5 (ECMAScript 5) 的話,那我覺得你可以槍斃你自己了。一個錯誤的工具,就算他是原生的,也會大幅的減緩開發的速度,你會堅持用機械碼寫桌面 app 嗎?更別提很難找到堪用的 Junior Developer 了。

接下來你可能會說,我們現在就可以用 ES6 了啊!?

平心而論,ES6 是 JS 社群想要把這個語言修好的一個有效的嘗試,開始寫 ES6 後我變得比較沒有那麼痛恨這個語言了。但是,事實上,你並不是真的在使用原生的 ES6 功能,為了支持舊的瀏覽器,你還是要用 Transpiler (e.g. Babel) 來幫你把程式碼轉變成 ES5。

而最弔詭的是,大家不只用 ES6 ,甚至有不少人會更進一步用一些還沒有打算被瀏覽器實作的語言功能。(e.g. decorator, async function)

所以說到底,你確定你真的在寫 JavaScript 嗎?還是其實只是一個 JS 的方言。而如果需要靠轉譯後才能執行,那其實跟用 Ruby 寫其實是同樣的道理。

用 Ruby 感覺效能會變差

Opal 運作的原理其實很先進的,Ruby 的物件跟 JS 的物件是一對一對應的,method 也是對應到 JS 的 Function,如果 JS 有對應的東西,他也會盡可能一對一的轉譯(Array, String…)。

這跟一般在 server 跑的 MRI, CRuby 其實是完全不同的原理,MRI 實作了自己的 Virtual Machine 跟一套指令集。但是 Opal 因為是幾乎一對一的對應到 JS ,所以你其實還是跑在 JS VM 上,沒有額外的一層。

當然有些語言功能還是會有 runtime overhead(例如 method_missing 是用 Exception 實作的),不過整體來說是非常高效的。

如果要我在開發速度跟實際運行速度上做抉擇,我會毫不猶豫地選 Ruby,來避免種種光怪陸離的語言陷阱讓開發速度陷入泥淖。

JS 有豐富的第三方套件

Opal 有個有趣的功能叫做 x-string 或是 backtick,讓你可以安插任意的 JS 程式碼在 Ruby Code 裡面,甚至也可以把 JS 物件當作 Ruby 物件來使用。那這樣談 JS 豐富的第三方套件其實就沒有什麼意義了,因為 Opal 都可以無縫的調用那些現成的套件。

%x{
console.log("opal version is:");
console.log(#{ RUBY_ENGINE_VERSION });
}

官方文件裡的 JavaScript from Ruby 那一節有更詳細的展示。

結語

我寫這篇文章當然不是為了打擊工程師的信心什麼的(儘管我們都知道工程師們都有顆玻璃心),而是在技術領域,永遠要抱持著開放的心態。當下你覺得糟糕的點子,說不定其實剛好是解決問題或是避免問題的捷徑。

而到底該用 JS 還是 Ruby 來做產品呢?我沒辦法給你絕對的答案,但是正如同所有的技術決策一樣,永遠要知道這個決定好跟壞,而不是一股腦地聽信網路上沒事寫部落格的鍵人們。

『讓我看看現在流行什麼,然後我們下一個產品就要用它』才是最糟糕的點子。

關鍵字: #開發者
往下滑看下一篇文章
AI 智慧代理人時代來臨!三大導入階段, AI 落地企業不卡關
AI 智慧代理人時代來臨!三大導入階段, AI 落地企業不卡關

生成式 AI 帶動企業數位轉型浪潮持續升溫,各界不再滿足單一任務型的 AI 應用,而是期盼 AI 能真正成為具備主動決策與多工能力的「智慧代理人」(Agentic AI),在最少人為干預的情況下,自主推進工作流程、完成複雜任務。

但企業導入AI並非一蹴可幾,而是需要對AI有正確認識,並制訂循序漸進的導入流程,才能真正發揮AI功效。在2025台灣人工智慧年會中,cacaFly 聖洋科技技術副總吳振和提出三大導入關鍵階段,深入剖析企業如何從概念驗證(PoC)階段,逐步推進到實際上線(Production),並分享實務經驗與觀察。

延伸閱讀:生成式AI可以怎麼用?cacaFly現身說法,助企業應用GCP服務智慧轉型

解鎖 Agentic AI,企業邁向多任務智慧代理

「很多公司會問,One AI 要做什麼事?但實際上,若要讓 AI 回答公司內部政策或新法條的相關問題,僅靠基礎模型並不足夠。」吳振和指出,要讓 AI 真正成為能「做事」的智慧代理人,前提是它必須理解企業內部的脈絡與知識,並即時掌握外部變動的資訊。

企業必須先釐清內部規範是否與最新法規相符,這意味著系統必須具備持續爬取與解析最新資料的能力。為此,企業必須先截取與整理內容,再建構成專屬的知識庫(Knowledge Base),確保資料品質達到可用標準後,再透過檢索增強生成(Retrieval-Augmented Generation, RAG)技術,使 AI 能夠即時動態查詢並生成符合企業語境的回答。

延伸閱讀:從資料清洗到 RAG,大型語言模型的必需品,做出專屬企業的 AI 知識庫!

吳振和強調,這是一個動態循環的過程:從資料蒐集、品質控管、知識庫建構到生成應用,每一環節都息息相關,任何一處鬆動都會影響最終產出的準確性與可信度。

cacaFly 聖洋科技技術副總吳振和
圖/ cacaFly

破除「一次到位」迷思,從驗證到落地的三大關鍵階段

許多企業對 AI 寄予厚望,因此常將 PoC 視為年度計畫的重點,希望能「一次到位」做出具體成果。但吳振和提醒,若缺乏清楚的系統工程思維,PoC 容易淪為「概念展示」,難以真正走入組織的日常營運。

他將導入 Agentic 系統工程的歷程,分為三個關鍵階段:

1.第一階段:可行性評估(Feasibility Study)
企業必須在投入資源前,先明確界定「最需要被 AI 解決的關鍵問題」是什麼,並進一步設計可量化的驗證指標。這不僅包括評估技術實作的可行性,更要從商業目標出發,釐清導入 AI 的具體使用情境、預期成效與風險邊界,如此才能確保後續模型選型與資料蒐集方向正確對齊業務需求。

2.第二階段:系統設計與驗證(Design & PoC)
在確定導入方向後,必須規劃清楚資料蒐集與整理流程,確保知識庫的內容具備正確性、完整性與時效性。吳振和特別強調,這個階段不能只追求展示效果,而應以「產品化思維」來構築 PoC,使其具備可擴充性、可維護性及安全性,才能為後續上線打下基礎。

3.第三階段:產品化與營運(Production & Operation)
當 PoC 驗證完成後,進入正式上線階段,挑戰也隨之而來。除了需要整合企業內部系統與流程,還必須建立持續監控與維運機制,確保模型表現隨時間演進不會劣化,並能快速回應法規變動或資料更新的需求。吳振和指出,這往往是最容易被低估、但也是最考驗企業組織能力的關鍵環節。

cacaFly 聖洋科技技術副總吳振和
圖/ cacaFly

建立模型優化根基,打造高品質的黃金資料集

吳振和特別強調,要讓 Agentic 系統工程真正發揮效益,企業必須先建立一套高品質的「黃金資料集」(Golden Dataset),作為模型評估與優化根基。他指出,黃金資料集的價值在於能為模型選擇與前測提供客觀依據,讓團隊能針對不同任務挑選最適合的模型,避免導入初期就誤踩方向。

同時,黃金資料集也能協助團隊辨識模型的常見錯誤與脆弱點,進而快速回應「模型飄移」(Model Drift)的風險。吳振和說明,所謂模型飄移,指的是即使模型本身未經改版,效能也可能隨著環境與資料變動而突然下降,導致原本表現良好的模型出現偏差。透過持續比對模型預測與黃金資料集結果,團隊才能即時察覺效能衰退,並進行迭代更新,確保系統長期穩定運作。

從小規模應用起步,漸進擴展至核心業務

吳振和分享,在實際輔導企業導入 AI 的經驗中,最常見的挑戰來自於「期待落差」。許多企業誤認為概念驗證(PoC)階段即可呈現完整的產品原型,然而實際情況顯示,若企業未能建立完善的資料架構與流程基礎設施,即使短期內展現亮眼成效,也難以確保長期營運的穩定性與可持續性。

也因此他建議企業在規劃 AI 導入時,應採取漸進式策略,從小規模應用場景著手,逐步擴展至核心業務領域。企業應將 PoC 定位為整體產品開發生命週期的重要環節,而非獨立的一次性專案。

AI 的導入不僅是一場技術升級,更是企業組織文化與決策流程的轉型工程。唯有從資料治理、流程優化到人才培訓同步布局,才能確保 AI 能在企業內部真正「落地生根」,創造長期商業價值,成為真正的智慧代理人。

登入數位時代會員

開啟專屬自己的主題內容,

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
一次搞懂Vibe Coding
© 2025 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓