首頁 > web前端 > js教程 > 為什麼 JavaScript 會在行動端中勝出?

為什麼 JavaScript 會在行動端中勝出?

伊谢尔伦
發布: 2016-11-29 09:22:12
原創
1009 人瀏覽過

 JavaScript並不是世界上最優美的程式語言。正因如此,一個世界級的專家寫了一本關於這個語言的「精粹 」的書。這本書的名字是“深度挖掘javascript的亮點”,因為優秀的東西被埋的相當深。即便如此,它還是迅速地稱為世界上最受歡迎的語言之一。這種受歡迎是應得的,因為儘管這種語言存在缺陷,但是javascript提供給開發者其它語言不能給予的重要的優勢。有一些優勢是在瀏覽器的開發人員同意了Javascript(好吧,技術上的ECMAScript)作為web語言的標準後產生的。其它的是固有的web應用程式設計模型以及更沒有通過什麼增強改進。然而,儘管原始生態的應用程式統治了web應用在行動裝置上的地位,但是JavaScript的優勢正在逐步轉向行動裝置。最終它會主宰嗎?

 流行然而並不優先

  最近的TIOBE社群清單將JavaScript列為在所有程式語言中的第六位並且還在持續上升。 TIOBE方法的排名傾向於支持老舊的,更成熟的語言,而不太擅長追隨潮流。相較之下,Redmonk排名方法將JavaScript放在第一名的位置上。 Redmonk方法某種程度上會偏向有著強大開源社群的語言,但同時在實質上會反映現在的趨勢和興趣點。我們自己的開發者經濟概覽已經顯示HTML5/Javascript的聯合已經是行動端開發者所採用的第二流行的語言,幾乎55%的人使用。僅以微小的優勢輸給57%的人使用java。然而,儘管我們發現HTML5和Javascript的組合在優先選擇的人群上為(19%),在這個方陣上遠遠落後於Java(29%)。這看起來會在未來幾年顯著提高。 [你怎麼認為呢?我們已經有了一個新的調查,所以看看這個調查然後讓我們知道你的看法]

  JavaScript在瀏覽器上飛向自由

  這並不是一個標準的「網贏」的說法。我並不認為瀏覽器或是基於網頁視圖的應用程式最後會統治行動裝置。即使使用而且增長但不會是常態。如果將來真的開放web標準來統治行動裝置那麼他們需要從文件物件模型(DOM)開始。 DOM不是建立應用程序,而是文件的基礎。當然你可以最初圍繞一個平台設計一個用於文件的應用程序,但是你會舉步維艱。看一眼現在的框架,允許你為行動瀏覽器或網頁視圖設計的相當高效能的應用程式:React.js 、 Famo.us 和lonic。這三者的共通點就是盡量少用DOM。

  是的,有太多的 WebGL(或者說 HTML5 Canvas 必備),但是這些都是低階的 APIs。你所需的是大的、可能是多位元組的、好的框架為開發大多數應用程式來創造一個優秀的平台。這不太適合 web 應用程式設計模型,其中最新的程式碼是放在一個遠端的伺服器上,尤其不適用在一個移動的環境中。能在一個大的好的儲存在本地的WebGL上創建一個混合型的應用是真的,而且只是從遠端的伺服器上獲取程式特定的程式碼。但是為什麼要使用瀏覽器呢?為什麼不只是 javaScript 能優於其他的在硬體圖形加速器(提示:Qt 提供不錯的產品)的跨平台框架。一個高階的 API 在語言之間的橋接上是不會有那麼多的開銷的。或許在涉及存取特定功能的時候也是欠缺限制。

  現在有幾個符合這一描述的非常有趣的新選擇。 React Native 和 NativeScript.。它們以不同的方式運行,但是二者都是用 JavaScript 來建立一個原始生態 UI 的應用程式。 Appcelerator 的 TiNext 可能也是很有趣的,即使它們多年來被多次談論卻不曾公開一個版本,因此讓我們耐心等待並一睹它的風采。

  JavaScript異常

  蘋果已經恢復了JavaScript 在行動端的優勢。阻止了大多數開發人員在行動端採用一個敏捷、web 樣式持續交付模型的冠一個關鍵事情就是 Apple 在程式碼下載上的禁令。如果沒有這種迭代模式的顯著放緩,對比測試會更加困難。這其實意味著開發者,尤其是初學者,會學的慢一點。直到最近,唯一獲得更快的迭代的方式就是首先從 Android 開始,開發一個混合的應用程序,因為 Apple 使得JavaScript 稱為在 webview 代碼下載規則中的一個異常。在第一種情況下,它意味著大多數早期的採納者正在遠離這個平台。不幸的是第二種情況下 UX 的取捨實在是太大了,大多數開發者因為用戶用程式故障或切換到本地去走那條路線。但是在 ios7 中為運行 JavaScript 增加了 JavaScriptCore 接口,而且最新的 ios 開發者程式許可證條款中,他們修改了程式碼下載異常的規則包括 JavaScriptCore。

  這從安全的角度上講是有道理的。 Apple 能審計和更新他們的運行時間,然而如果他們允許地第三方運行時下載程式碼,他們就沒有有效地監控安全性問題。因為 JavaScript 是 Apple 的唯一腳本選項並且他們不允許下載程式碼到本地,JavaScript 在恢復特權地位--作為那些想快速迭代的唯一選擇。 JavaScript 的可用性引發了一些努力,像是 React 和 NativeScript 和 Apple 對程式碼下載政策的放寬把握已經完美地對外公佈。

  開放會贏嗎?

  Web 倡導者有時候表明基於 web 的開放標準最終會勝利,因為開放一直都會贏。然而,Linux 就是一個明顯的例子,這是一個開放的迅速發展的卻沒有委員會統一標準的生態系統。 React,Facebook 似乎成了開源專案中快速建立的開發者生態系統。已經有了一個圍繞 React.js 快速成長的委員會,這顯然為他們帶來了領先的機會。但在 Telerik 的 NativeScript 團隊正與 Google 共同工作,因此Angualr2.0 需要被無縫整合。 Google 打算支援非 DOM 的環境,不管 web 標準是否朝向它。微軟和谷歌可能需要一段很長的時間來支援他們在未來瀏覽器將實施的標準。但是他們正在共同朝著 TypeScript 努力,讓建立一個負複雜一點的帶有 JavaScript (證明是編譯器在發現類型不匹配上比人聰明)應用程式更加簡單。

  Apple 已經為他們的新 Swift 語言建立了許多相當令人印象深刻的工具,尤其是互動場景(interactive playground)。然而,Facebook 在 React Native 上依據即刻回饋和高頻即時編碼可能已經有了更好的編碼體驗。蘋果將會繼續迭代他們的工具,開發者社群現在已經增加了這些新的 JavaScript 環境工具。 Android 可能技術上是開源的,但是它在社區建設上卻不是開放的。谷歌正在獨自增強 Android 的平台和工具。大概真的是開放的開發者社群才會勝利,而真正基於社群的開源能夠比基於開源標準的開放迭代更快。為此,「本地的 UX 使用 JavaScript 去建立」環境並取得成功,這樣的平台肯定不會失敗。應用程式還是會依據平台的外觀和感覺,並採用新的特定平台的 API 去建立。

  這個時候,看起來好像非常開放的JavaScript開發者社群將要贏得勝利了,因為他們製作的APP具有本地平台的的外觀,感覺和性能,除了需要有Web開發的經驗。封閉平台以往一直取勝是因為那時的APP需要為他們封閉的生態系統量身訂做。目前,開放的web標準還是輸的。如果手機瀏覽器廠商能同意新標準,讓他們製作的應用程式能有在本地應用那樣的體驗,那麼他們就一定會取得勝利。

  你是用什麼來製作的?

  你認為JavaScript將會掌控行動開發的未來嗎?還是Java,Objective-C和Swift繼續它們的領導地位? 那物聯網,它的後端會通過Node.js嗎?透過調查,讓我們知道你用什麼來建立你的APP吧。


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板