前端之王能否續(xù)寫輝煌 JavaScript服務器端開發(fā)現(xiàn)狀
隨著Node.js的出現(xiàn),使JavaScript出現(xiàn)了一系列的變化,AppengineJS的發(fā)布則讓人們更加的期待JavaScript在服務器端的表現(xiàn)。不管怎樣,這一多才多藝、功能強大的Web開發(fā)語言已經(jīng)證明了自己。(相關(guān)閱讀:JavaScript已成Web之王?)
為什么不做JavaScript服務端開發(fā)
沒有合適的JavaScript Runtime(JSR ?)
現(xiàn)在JavaScript之所以能夠流行,很大程度上取決于瀏覽器的普及.瀏覽網(wǎng)頁的時候需要計算一道簡單的四則混合運算,你會怎么做?心算?打開計算器然后點幾個按鈕?我的方法是在瀏覽器地址欄輸入"javascrit:alert(1+2+4*5);".很方便不是么。
但是服務端的情況就不容樂觀,除了少數(shù)幾個解析器能夠勉強運行單薄的JS語法,似乎很難讓他在服務端大展拳腳.V8?嗯,確實很快,不過還只是個跑在客戶端的小伙子.Node.js?嗯,的確提出了很多特性,不過就拿這些特性想征服服務端的開發(fā)還是不容樂觀.RingoJS?JVM的龐大,讓JavaScript無法靈巧的伸展.IronJS?無案例,無圖,無真相。

沒有成熟的類庫
你愿意在一片荒蕪的土地上開荒,還是在肥沃的農(nóng)田揮鋤?
JavaScript在客戶端確實意氣風發(fā),jQuery、Prototype、YUI、Ext js、Dojo等等。無數(shù)的框架,為我們的網(wǎng)頁動態(tài)化提出了解決方案之道.在這百家爭鳴的日子里,眾多特性,理念,被提出來,鏈式操作,函數(shù)式編程等等。
反觀JavaScript在服務端的表現(xiàn),集合操作停留在增刪改,沒有filter,沒有order.字符串只能拼接,沒有格式化.文件讀寫就一個CommonJS標準.數(shù)據(jù)交互的確得益于JSON的流行,很方便,但是數(shù)據(jù)存儲似乎又回到了ASP/VBScript時代。
標準
就像客戶端瀏覽器對JavaScript的支持參差不齊,服務端對于CommonJS標準也是有待加強.所幸服務端JavaScript沒有跨"瀏覽器"之憂。
效率
開發(fā)效率頂呱呱的JavaScript在服務端由于缺少類庫的支持,使得服務端開發(fā)相比現(xiàn)存的幾個平臺(JVM,.NetFX),慢了不止幾個檔次.客戶端就備受詬病的執(zhí)行效率放到服務端仍舊是一個不可忽視的問題。
為什么要看好JavaScript服務端開發(fā)
靈巧
沒人否認JavaScript本身強大的靈活性,強大的自解析,原型鏈和弱類型衍生出的種樣繁多的開發(fā)方式.實在是讓人愛不釋手。
普及
JSON確實有XML不可比擬的潛質(zhì),體積瘦小,方便傳輸.眾多語言中都有支持.客戶端無需插件就能原生解析.還有什么比這更棒的么?
活躍的社區(qū)
一個籬笆三個樁,一個好漢三個幫?;钴S的社區(qū)不會甘心JavaScript止步與客戶端,必然會向服務端虎視眈眈。
原文地址:http://www.macgoo.com/myblog/archives/166/
【編輯推薦】
- JavaScript挺入服務器端開發(fā)語言序列
 - JavaScript已成Web之王?Java情緒穩(wěn)定
 - JavaScript最讓人費解的十件事
 - 如何正確實現(xiàn)PHP與Javascript交互
 - 討論:是什么讓我們愛上Javascript?
 















 
 
 



 
 
 
 