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

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

關鍵字: #開發者
往下滑看下一篇文章
從找對市場到放大商機,中華電信 5G 加速器助阿米索拉加速成長
從找對市場到放大商機,中華電信 5G 加速器助阿米索拉加速成長

從工作、娛樂到各種智慧服務,網路早已成為現代生活不可或缺的基礎設施。而人們對行動網路的期待也不再只是「連得上」,更希望無論身處室內外場域,都能享有穩定、流暢且一致的連線體驗。尤其 AI 時代來臨,從手機到無人搬運車、機器人與各種智慧設備,對高速、穩定網路的需求只會愈來愈高。

這也讓 5G 室內覆蓋逐漸成為一塊不可忽視的市場需求。中華電信 5G 加速器團隊阿米索拉(AMOESO)看準這股趨勢,推出5G室內分散式天線系統(5G DAS),並借助中華電信長期累積的電信專業、場域資源與第一線服務經驗,重新調整產品規格、市場定位與商業模式,讓創新技術更貼近使用者需求,進而加速擴大市場版圖。

技術做到一百分,市場卻不買單:阿米索拉發現兩大營運盲點

「我們一開始推出的產品,其實充滿技術人的迷思,只顧著把技術做到極致,卻忽略了市場是否真的需要,」阿米索拉執行長邱創群笑著說,回頭來看,團隊早期主要踩到了兩個盲點。

第一是找錯目標市場。阿米索拉原本鎖定已經建置 4G 室內覆蓋設備的舊建物,推出可沿用既有設備、由 4G 無痛升級至 5G 的產品。然而,產品實際推向市場後,團隊才發現,這群客戶並沒有強烈的網路升級動機;相較之下,尚未建置室內行動網路覆蓋的商辦大樓、住宅社區與新建築,反而展現出更明確的需求。

第二則是習慣從技術角度去定義產品,而非從市場需求反推規格。由於團隊成員多為研發背景,在制定產品規格時,主要延續過去的 4G 經驗,也習慣追求更高規格、更完整的功能;然而,技術做到一百分,不代表市場就會買單。團隊後來才意識到,比追求「頂規」更重要的是,讓產品符合客戶需求、且價格負擔得起,這才是技術走向市場的關鍵。

從產品規格到商業模式,中華電信助阿米索拉打開更大市場

這兩個盲點,導致阿米索拉的市場拓展速度一直不如預期,如何跳脫研發團隊視角,真正理解客戶需要什麼、願意為什麼買單,成為團隊下一步必須突破的關卡。

加入中華電信 5G 加速器後,這道關卡開始有了突破口。邱創群表示,透過5G 加速器牽線,阿米索拉得以直接對接中華電信,從第一線電信營運商與真實市場的視角,重新檢視產品規格、市場定位與價格服務包裝,跳脫過去單從研發角度思考產品的盲點。團隊也因此重新調整產品方向,將目光從金字塔頂端客戶,轉向更廣大的新建築、中小型企業與住宅市場。

「中華電信長期服務企業客戶、建商與一般使用者,最清楚終端市場真正需要什麼,」邱創群表示。憑藉長期累積的網路規劃經驗與第一線市場洞察,中華電信協助阿米索拉重新校準產品規格,在技術效能、實際需求與價格之間找到更適切的平衡點,讓產品更貼近客戶真正的使用情境。

中華電信_阿米索拉執行長
阿米索拉執行長邱創群表示,中華電信所帶來的第一線使用者回饋意見,不僅協助阿米索拉釐清產品規格,促使團隊發展出新的商業模式。
圖/ 數位時代

更重要的是,中華電信帶來的第一線市場回饋,也讓阿米索拉看見另一個過去沒有注意到的問題:客戶不買單,不一定是沒有需求,而是導入門檻太高,無法一次負擔全部的建置費用。舉例來說,許多住宅社區都有改善地下室等公共空間行動網路覆蓋的需求,若要由管委會編列預算採購設備,不僅可能面臨預算不足的窘境,還有可能卡在冗長的決策與開會流程,最後往往無疾而終。

面對這些沒有被滿足的需求,阿米索拉進一步與中華電信討論出新的商業模式,以設備租賃取代一次性採購,將初期建置成本轉為定期支付的租金,希望降低社區與企業的導入門檻。為此,阿米索拉甚至新增租賃相關營業項目,從過去以設備買賣為主的模式,延伸至訂閱與租賃型服務,讓更多「有需求、卻跨不過採購門檻」的客戶有機會導入,也為室內 5G 覆蓋打開更廣大的市場。

從 POC 到 Scale-up,中華電信助阿米索拉跨過信任門檻

「對我們而言,中華電信不只是合作夥伴,也可能是未來最大的客戶與市場通路,」邱創群說,中華電信除了協助阿米索拉調整產品規格、創新商業模式,也進一步尋找合適的驗證場域,希望透過實際場域完成 POC、產品認證與入網驗證,未來才能快速複製既有模式,大幅縮短產品導入與市場拓展的時間,預計年底前可完成第一個合作案。

除了與中華電信合作,阿米索拉也積極接觸中華電信各地營運處,目前已與台北、新北、新竹等營運單位建立合作管道,並鎖定新建案、企業廠辦及社會住宅等多元案場展開部署規劃,將產品推廣到更多場域。

而這些合作之所以能快速展開,邱創群認為,關鍵在於 5G 加速器讓阿米索拉能夠快速跨過新創最難突破的「信任門檻」。過去,阿米索拉也想與中華電信合作,卻卡在不知道該向哪個單位、哪個人敲門;加入 5G 加速器後,不僅有了對接中華電信內部不同單位的入口,更能藉由中華電信的品牌影響力,加速建立內外部對阿米索拉的信任與認同。無論接觸潛在客戶、合作夥伴或投資人,都比過去單靠陌生開發更有效率。

這份信任,也進一步反映在募資成果上。「中華電信願意把我們納入加速器,本身就代表對這個市場方向與團隊能力的認同。」邱創群坦言,來自中華電信的肯定,也提升投資人對阿米索拉的信心,使公司順利完成新一輪 4,000 萬元的募資,實收資本額進一步突破 7,000 萬元。

阿米索拉的故事,是中華電信 5G 加速器與新創共創的縮影。透過技術能力、場域資源與市場經驗的分享,中華電信陪伴新創跨越從 POC 走向 Scale-up 的階段,讓創新不只停留在技術驗證,更能轉化為真正被市場需要的產品與服務,進而壯大台灣 5G 創新生態系,讓電信產業的能量成為推動創新成長的重要力量。

阿米索拉
邱創群認為,5G 加速器讓阿米索拉能夠快速跨過新創最難突破的「信任門檻」,使公司無論接觸潛在客戶、合作夥伴或投資人,都比過去單靠陌生開發更有效率。
圖/ 數位時代

登入數位時代會員

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

每日推播重點文章

閱讀會員專屬文章

請先登入數位時代會員

看更多獨享內容

請先登入數位時代會員

開啟收藏文章功能,

請先登入數位時代會員

開啟訂閱文章分類功能,

請先登入數位時代會員

我還不是會員, 註冊去!
追蹤我們
台達電全解讀
© 2026 Business Next Media Corp. All Rights Reserved. 本網站內容未經允許,不得轉載。
106 台北市大安區光復南路102號9樓