首頁  >  文章  >  web前端  >  JavaScript vs Dart 兩者之間的差異與作用

JavaScript vs Dart 兩者之間的差異與作用

hzc
hzc轉載
2020-06-17 10:08:202462瀏覽

什麼是JavaScript?

JavaScript vs Dart 兩者之間的差異與作用

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

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

什麼是Dart?

JavaScript vs 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是大學和訓練營教授的主要語言之一,因為它是網路開發的核心之一。實際上,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來開發其跨平台應用程式。

JavaScript vs 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 vs Dart 兩者之間的差異與作用
JavaScript vs Dart 兩者之間的差異與作用
Credits: GitHub

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

推薦教學:《###JS教學###》###

以上是JavaScript vs Dart 兩者之間的差異與作用的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:juejin.cn。如有侵權,請聯絡admin@php.cn刪除