中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript和Dart的區別以及作用

發布時間:2020-06-17 13:38:03 來源:億速云 閱讀:280 作者:鴿子 欄目:web開發

什么是JavaScript?

JavaScript通常被稱為瀏覽器腳本語言,但它也已擴展到許多服務器端和移動應用程序開發環境。JS已經存在了將近20年,可以肯定地說它確實是一種成熟且穩定的編程語言。在Facebook發布React和React Native框架之后,JS變得越來越流行。

JavaScript具有自己的軟件包管理器,例如NPM和Yarn。盡管JavaScript現在是首選和流行,但在編程社區中仍然有一些不同的評論。不過,可以肯定地說,JavaScript的流行性毋庸置疑,因為它包含將近200萬個在StackOverFlow上標記的問題。

什么是Dart?

Dart是由Google專門針對各種平臺上的快速應用程序進行客戶端優化的語言。Google最初將其用作內部編程語言來構建Web、服務器和移動應用程序。盡管Dart自2011年以來一直存在,但在Google宣布Flutter進行跨平臺移動應用開發后,它就開始流行。唯一的原因是Flutter完全基于Dart。因此,移動開發人員必須學習Dart 才能開始使用Flutter。

Dart編譯源代碼,類似于C等其他編程語言。但是它也有自己的虛擬機(VM),用于運行稱為Dart VM的原生應用程序。 Dart也有自己的軟件包管理器,稱為Pub。

使用Dart和JavaScript的示例應用程序

Dart.js

void main() {  
    print("Hello World");
}

Javascript

console.log("Hello World")

JavaScript與Dart的比較

流行程度

JavaScript實際上無處不在,幾乎沒有不運行JavaScript的設備。當前,JavaScript被用于編寫Web,移動和服務器端代碼。 JavaScript在StackOverflow上標記了將近200萬個問題。

由于其受歡迎程度,JS生態系統非常龐大,現在,隨著云組件中心的出現,它甚至在可重用組件“市場”中占主導地位。

另一方面,Dart變得越來越流行,但距離JavaScript還很遙遠。在Google宣布Flutter之前,Dart無處可尋。Dart吸引了不支持JavaScript的開發人員。目前,Dart在StackOverFlow上標記了將近3萬個問題。

學習曲線

眾所周知,JavaScript對于初學者來說是相當棘手的,特別是當他們沒有編程概念的背景知識時。但是JavaScript是大學和訓練營教授的主要語言之一,因為它是Web開發的核心之一。實際上,HTML,CSS和JavaScript被稱為Web開發的三劍客。在線上有很多課程和教程可以幫助您學習JavaScript。

但是,使用Dart,情況就大不相同了。學習Dart對于新手來說可能會非常嚇人,因為它不像JavaScript那樣廣為人知,而且學習材料相對較少。但是Google竭盡全力幫助其他OOP語言的開發人員無縫過渡到Dart。

類型安全

這是JavaScript和Dart之間的主要區別之一。作為一種解釋型語言,JavaScript支持動態類型和鴨子類型。鴨子類型是根據特定方法和屬性的存在而不是對象本身的類型來確定對象是否適合用于特定目的的類型。Javascript允許鍵入任何代碼,使其成為非類型安全的語言,導致僅在運行時發現錯誤。

相反,Dart支持松散的和強大的原型設計。作為一種編譯語言,Dart能夠在編譯過程中發現大多數錯誤,這使得它比JavaScript更加類型安全。

企業使用

JavaScript已在商業上使用,即使在大型項目中也是如此,它用于構建Web和跨平臺應用程序。Facebook引入的Web和跨平臺框架React和React Native使用JavaScript,這些框架在Facebook內部使用。Airbnb,Slack,eBay等其他公司也使用JavaScript。

Dart的出生地是Google,因此,一開始它在內部被廣泛使用。然后,在引入Flutter之后,諸如阿里巴巴這樣的大公司采用Flutter和Dart來開發其跨平臺應用程序。

將Dart編譯成JavaScript

Dart有兩種不同的JS編譯器,Webdev工具根據用例選擇最佳的編譯器。在開發應用程序時,webdev選擇dartdevc,它支持增量編譯,因此你可以快速查看編輯結果。但是,在構建要部署的應用程序時,webdev選擇dart2js,它使用搖樹之類的技術來生成優化的代碼。

Dart團隊正在努力使dart2js編譯的代碼比手寫JS運行得更快。雖然不是所有情況下都會如此,但我們可以期待在不久的將來會有一些激烈的競爭。

利弊

JavaScript

優點:

  • JavaScript可以用于Web和移動應用程序。
  • 它可以用于前端和后端,因此JavaScript可以在每個設備上運行。
  • JavaScript具有龐大的社區和在線提供的出色框架。
  • 輕巧而靈活。
  • 可以找到大量的學習資料。

缺點:

  • 盡管JS有大量的庫,但是有很多庫的質量和維護性很差。
  • 僅在運行時發現錯誤。

Dart

優點:

  • 開源。
  • 由大公司——Google支持。
  • 類型安全,并使用JIT和AOT進行編譯。
  • Flutter的骨干。
  • 在某些情況下相對更快

缺點:

  • 對程序員而言相對較新。
  • 與JavaScript相比,學習材料并不廣泛。

結論

Dart和JavaScript都是開發各種應用程序的理想選擇。隨著它們在Flutter和React,React Native中使用,我可以看到這兩種語言的光明前景。在Jaxenter進行的一項民意調查中,Dart以223票被選為您2019年列表中的第一語言。此外,在Stack Overflow進行的一項調查中,Dart(66.3%)僅次于JavaScript(66.8%),成為2019年最受歡迎的編程語言。Dart在“Github State of the Octoverse”增長最快的語言類別中也排名第一。

作為對新手開發人員,我建議您從JavaScript入手,并首先掌握它的基礎知識。你不一定需要成為JS專業人士,而是需要了解其基礎知識。完成后,你就可以轉入Dart,探索它的水域。這樣一來,你就可以不折不扣地熟悉這兩個巨人了。

以上就是JavaScript vs Dart  兩者之間的區別與作用的詳細內容,更多請關注億速云其它相關文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文化| 鄂尔多斯市| 金坛市| 梅州市| 鄂伦春自治旗| 通辽市| 祁东县| 报价| 福建省| 理塘县| 尚志市| 罗山县| 邵阳市| 龙山县| 伊川县| 偃师市| 茶陵县| 明溪县| 临安市| 进贤县| 锡林郭勒盟| 辽中县| 岑巩县| 会同县| 文水县| 阿克苏市| 攀枝花市| 全南县| 行唐县| 罗田县| 准格尔旗| 甘肃省| 云阳县| 盘山县| 泸州市| 枣强县| 茂名市| 通渭县| 河北省| 德化县| 如皋市|