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

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

Nov 29, 2016 am 09:22 AM
javascript行動端

 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吧。


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
JavaScript是用C編寫的嗎?檢查證據JavaScript是用C編寫的嗎?檢查證據Apr 25, 2025 am 12:15 AM

是的,JavaScript的引擎核心是用C語言編寫的。 1)C語言提供了高效性能和底層控制,適合JavaScript引擎的開發。 2)以V8引擎為例,其核心用C 編寫,結合了C的效率和麵向對象特性。 3)JavaScript引擎的工作原理包括解析、編譯和執行,C語言在這些過程中發揮關鍵作用。

JavaScript的角色:使網絡交互和動態JavaScript的角色:使網絡交互和動態Apr 24, 2025 am 12:12 AM

JavaScript是現代網站的核心,因為它增強了網頁的交互性和動態性。 1)它允許在不刷新頁面的情況下改變內容,2)通過DOMAPI操作網頁,3)支持複雜的交互效果如動畫和拖放,4)優化性能和最佳實踐提高用戶體驗。

C和JavaScript:連接解釋C和JavaScript:連接解釋Apr 23, 2025 am 12:07 AM

C 和JavaScript通過WebAssembly實現互操作性。 1)C 代碼編譯成WebAssembly模塊,引入到JavaScript環境中,增強計算能力。 2)在遊戲開發中,C 處理物理引擎和圖形渲染,JavaScript負責遊戲邏輯和用戶界面。

從網站到應用程序:JavaScript的不同應用從網站到應用程序:JavaScript的不同應用Apr 22, 2025 am 12:02 AM

JavaScript在網站、移動應用、桌面應用和服務器端編程中均有廣泛應用。 1)在網站開發中,JavaScript與HTML、CSS一起操作DOM,實現動態效果,並支持如jQuery、React等框架。 2)通過ReactNative和Ionic,JavaScript用於開發跨平台移動應用。 3)Electron框架使JavaScript能構建桌面應用。 4)Node.js讓JavaScript在服務器端運行,支持高並發請求。

Python vs. JavaScript:比較用例和應用程序Python vs. JavaScript:比較用例和應用程序Apr 21, 2025 am 12:01 AM

Python更適合數據科學和自動化,JavaScript更適合前端和全棧開發。 1.Python在數據科學和機器學習中表現出色,使用NumPy、Pandas等庫進行數據處理和建模。 2.Python在自動化和腳本編寫方面簡潔高效。 3.JavaScript在前端開發中不可或缺,用於構建動態網頁和單頁面應用。 4.JavaScript通過Node.js在後端開發中發揮作用,支持全棧開發。

C/C在JavaScript口譯員和編譯器中的作用C/C在JavaScript口譯員和編譯器中的作用Apr 20, 2025 am 12:01 AM

C和C 在JavaScript引擎中扮演了至关重要的角色,主要用于实现解释器和JIT编译器。1)C 用于解析JavaScript源码并生成抽象语法树。2)C 负责生成和执行字节码。3)C 实现JIT编译器,在运行时优化和编译热点代码,显著提高JavaScript的执行效率。

JavaScript在行動中:現實世界中的示例和項目JavaScript在行動中:現實世界中的示例和項目Apr 19, 2025 am 12:13 AM

JavaScript在現實世界中的應用包括前端和後端開發。 1)通過構建TODO列表應用展示前端應用,涉及DOM操作和事件處理。 2)通過Node.js和Express構建RESTfulAPI展示後端應用。

JavaScript和Web:核心功能和用例JavaScript和Web:核心功能和用例Apr 18, 2025 am 12:19 AM

JavaScript在Web開發中的主要用途包括客戶端交互、表單驗證和異步通信。 1)通過DOM操作實現動態內容更新和用戶交互;2)在用戶提交數據前進行客戶端驗證,提高用戶體驗;3)通過AJAX技術實現與服務器的無刷新通信。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中