前端之王能否續寫輝煌 JavaScript服務器端開發現狀
隨著Node.js的出現,使JavaScript出現了一系列的變化,AppengineJS的發布則讓人們更加的期待JavaScript在服務器端的表現。不管怎樣,這一多才多藝、功能強大的Web開發語言已經證明了自己。(相關閱讀:JavaScript已成Web之王?)
為什么不做JavaScript服務端開發
沒有合適的JavaScript Runtime(JSR ?)
現在JavaScript之所以能夠流行,很大程度上取決于瀏覽器的普及.瀏覽網頁的時候需要計算一道簡單的四則混合運算,你會怎么做?心算?打開計算器然后點幾個按鈕?我的方法是在瀏覽器地址欄輸入"javascrit:alert(1+2+4*5);".很方便不是么。
但是服務端的情況就不容樂觀,除了少數幾個解析器能夠勉強運行單薄的JS語法,似乎很難讓他在服務端大展拳腳.V8?嗯,確實很快,不過還只是個跑在客戶端的小伙子.Node.js?嗯,的確提出了很多特性,不過就拿這些特性想征服服務端的開發還是不容樂觀.RingoJS?JVM的龐大,讓JavaScript無法靈巧的伸展.IronJS?無案例,無圖,無真相。
沒有成熟的類庫
你愿意在一片荒蕪的土地上開荒,還是在肥沃的農田揮鋤?
JavaScript在客戶端確實意氣風發,jQuery、Prototype、YUI、Ext js、Dojo等等。無數的框架,為我們的網頁動態化提出了解決方案之道.在這百家爭鳴的日子里,眾多特性,理念,被提出來,鏈式操作,函數式編程等等。
反觀JavaScript在服務端的表現,集合操作停留在增刪改,沒有filter,沒有order.字符串只能拼接,沒有格式化.文件讀寫就一個CommonJS標準.數據交互的確得益于JSON的流行,很方便,但是數據存儲似乎又回到了ASP/VBScript時代。
標準
就像客戶端瀏覽器對JavaScript的支持參差不齊,服務端對于CommonJS標準也是有待加強.所幸服務端JavaScript沒有跨"瀏覽器"之憂。
效率
開發效率頂呱呱的JavaScript在服務端由于缺少類庫的支持,使得服務端開發相比現存的幾個平臺(JVM,.NetFX),慢了不止幾個檔次.客戶端就備受詬病的執行效率放到服務端仍舊是一個不可忽視的問題。
為什么要看好JavaScript服務端開發
靈巧
沒人否認JavaScript本身強大的靈活性,強大的自解析,原型鏈和弱類型衍生出的種樣繁多的開發方式.實在是讓人愛不釋手。
普及
JSON確實有XML不可比擬的潛質,體積瘦小,方便傳輸.眾多語言中都有支持.客戶端無需插件就能原生解析.還有什么比這更棒的么?
活躍的社區
一個籬笆三個樁,一個好漢三個幫。活躍的社區不會甘心JavaScript止步與客戶端,必然會向服務端虎視眈眈。
原文地址:http://www.macgoo.com/myblog/archives/166/
【編輯推薦】
- JavaScript挺入服務器端開發語言序列
- JavaScript已成Web之王?Java情緒穩定
- JavaScript最讓人費解的十件事
- 如何正確實現PHP與Javascript交互
- 討論:是什么讓我們愛上Javascript?