JavaScript正在蠶食著開發領域

2015-12-13 12:10:01來源:伯樂在線作者:Erucy

現代開發者在近 10 年間的開發過程中,不得不面對這三大主要平臺:瀏覽器、服務器和本地/手機應用。JavaScript 已經成為事實上的 Web 標準語言。而 Lacker 認為 JavaScript 正在接手服務器端開發,馬上就要將觸手伸向安卓及 iOS 上的原生應用。

JavaScript 正在蠶食著開發領域,抑或是開發領域正在蠶食著 JavaScript?

好吧,如果你相信 Parse 公司的聯合創始人兼首席技術官 Kevin Lacker 的話,現在的情況就是這樣的。

在本周于都柏林舉辦的 Web 峰會上,Lacker 在它的演講中表示,強大、無處不在的 JavaScript,及其完善的生態系統,會使得這門語言在未來幾年內成為應用、網站和服務器端開發的默認語言。

現代開發者在近 10 年間的開發過程中,不得不面對這三大主要平臺:瀏覽器、服務器和本地/手機應用。JavaScript 已經成為事實上的 Web 標準語言。而 Lacker 認為 JavaScript 正在接手服務器端開發,馬上就要將觸手伸向安卓及 iOS 上的原生應用。

“在瀏覽器中幾乎沒什么可能打亂 JavaScript 一統天下的局面” Lacker 說到,“更有意思的是在服務器端開發領域。”

日益流行的 Node.js

Lacker 自己確實有利益在其中,因為 Parse 是一家著名的后臺服務提供商,他們使用了服務器端的 JavaScript。Parse 公司在 2013 年被 Facebook 收購,并在最近幾年內成為了 Facebook 開發過程的關鍵所在。

Java、C、Python、Ruby、PHP 以及大量 ASP.NET(及其他語言)的衍生物,已經成為后端處理中傳統的服務器語言。

“運行在服務器上編程語言已經永遠是一個碎片化的市場了。” Lacker 說。

Lacker 可能確實有其動機在推進 JavaScript 的發展,最近幾年中 JavaScript 占領服務器端開發領域的趨勢日益顯著。

\

在服務器端安裝 JavaScript 的趨勢已經有一段時間了,超過 20 多種流行的框架運行在其上。SilkJS、MongoDB、Aptana、CouchDB、Domino(IBM)、SAP HANA XS Engine、TeaJS 以及 Opera 都在這段時間內推出了其服務器端的 JavaScript 框架,在技術領域廣受歡迎。

然而在服務器端 JavaScript 領域中最耀眼的明星當屬 Node.js。

“如果你想要找工作的話,趕緊學習 Node.js吧,” Lacker 說。“ Node.js 正在發生著不同尋常的變化,它正在顛覆傳統的腳本開發。”

傳統的腳本開發是這樣的:你有兩個不同的開發團隊,一個后端一個前端。后端團隊處理在服務器端的開發,使用的是需要編譯的語言(相對腳本開發來說),比如 C# 或者 Java。而前端團隊則是在使用 HTML、CSS、JavaScript,以及原生應用開發語言比如 Swift、Object-C 或 Java。

Lacker 的觀點是,開發人員傾向于使用他們最熟悉的編程語言。而 JavaScript 的流行則意味著,現在的每個 Web 開發人員都能成為服務器端開發,而無須從根本上改變其編程方式。

“同一個工程師團隊使用 JavaScript 和 Node.js,而不是 Java 和 JavaScript,” Lacker 說,“你有一個巨大的優勢,因為你在使用你已經了解的東西。”

Netflix 和 Paypal 都在使用后端 Node.js、前端 JavaScript 的開發方法,Lacker 這樣說到。

“每家公司總有人會寫 JavaScript,幾乎無一例外。” Lacker 說。“在服務器端驅動 JavaScript 前行的力量是不同的……它的優勢在于你可以用更短的時間完成功能。”

原生應用緩慢地接受 JavaScript

Lacker 指出,在 JavaScript 正在蠶食開發領域這個論點中,最薄弱的環節就是應用生態環境。最優秀的高性能應用都是使用原生語言編寫的——在安卓上是 Java,在 iOS 上則是 Object-C / Swift。

但是程序員們在盼望一個通用的開發語言。HTML5 加上 CSS 和 JavaScript 曾經被認為是這個通用開發語言,不過“混合”應用(基本上是把網站“封裝”成原生應用)由于性能問題在近幾年開始淡出這個舞臺,。Lacker 認為第一代使用 JavaScript 創建原生應用(也就是混合應用)的工具——PhoneGap、Sencha、appMobi、Appcelerator——都還不錯,不過并沒有解決底層的問題。

Facebo 和 Parse 在嘗試解決這個問題。React Native 是一個 JavaScript 框架,它嘗試創建一套工具和方法,能夠不借助原生語言,只用 Web 技術來創建動態的原生 app。Xamarin 則是另一家公司,提供了跨平臺的原生應用開發工具,幫助開發者在 JavaScript 中調用 C#。(譯者注:在 Xamarin 中,通過 WebView 控件使用 JavaScript 調用 C# 只是該框架的很小一部分功能,Xamarin 基本上還是使用 C# 而非 JavaScript 進行開發的。在原始版本中作者將 Xamarin 描述為 JavaScript工具,經評論提醒后已進行修正。)

\

參見:一次編寫,多處運行:React Native 引領通用 App 開發潮流

“在這個核心領域的編程語言有可能發生改變的原因之一就是人們在這些語言的部署和應用上投入了大量的精力。” Lacker 說。

對于開發者來說,在當下使用 JavaScript 創建一個完全沉浸式的、動態的原生應用依然很困難。如果你提議說使用 JavaScript 來編寫一個街機風格的游戲,那會招來人們的嘲笑。JavaScript 在硬件加速、游戲引擎(比如 iOS 上的 Metal)以及圖形支持能力等方面都還沒有準備好。

JavaScript 作為全平臺的主導語言

\

Web 開發者(依然是開發者中最多的一支)被綁在了 JavaScript 上。到目前為止它還沒有任何競爭對手。Google 的 Dart 語言曾經試圖挑戰 JavaScript 的地位,不過 Google 意識到這不太可能成功,于是把 Dart 設計成能夠被編譯為 JavaScript 的語言(就像 CoffeeScript 或者 GorillaScript)。

Lacker 的主要觀點之一,就是 JavaScript 的生態環境能夠使得 JavaScript 變得更好,隨之而來的就是大型商業公司會逐步使用 JavaScript。生態環境使得產品越來越好,而越來越好的產品意味著占領市場。

“其他的編程語言并沒有顯現出這種增長的勢頭。” Lacker 說到。

JavaScript 市場的增長證明了 Lacker 的這一觀點。

4 月份,在 Stack Overflow 的一份調查中顯示,54.8% 的開發者在使用 JavaScript。Node.js 同樣占有了 13.3% 的席位。7 月,一家名為 Devpost 的公司指出,HTML 和 JavaScript 目前是在學生開發者當中最受歡迎的語言(數據來自其黑客馬拉松網絡)。最近,Stack Overflow 做出了一份編程語言的情感分析。令人驚訝的是,JavaScript 在討厭比例的排行榜上并沒有排到很高。

“JavaScript 程序員的生態環境,以及 JavaScript 的工具正在占領這個市場。市場也會反哺產品,讓它變得越來越好。這正是 JavaScript 逐步蠶食著開發領域的原因。” Lacker 說。

本文的原始版本錯誤地將 AngularJS 認為是服務器端語言,現在本文已經更正了該問題。

標題圖片:“The Real JavaScript Robot”,來自 Flickr 用戶 Ben Alman,CC協議

關鍵詞:JavaScript

贊助商鏈接:

江苏时时计划软件破解版