JavaScript一般被稱爲瀏覽器腳本語言,但它也已擴展到許多服務器端和移動應用程序開發環境。JS已經存在了將近20年,能夠確定地說它確實是一種成熟且穩定的編程語言。在Facebook發佈React和React Native框架以後,JS變得愈來愈流行。javascript
JavaScript具備本身的軟件包管理器,例如NPM和Yarn。儘管JavaScript如今是首選和流行,但在編程社區中仍然有一些不一樣的評論。不過,能夠確定地說,JavaScript的流行性毋庸置疑,由於它包含將近200萬個在StackOverFlow上標記的問題。html
Dart是由Google專門針對各類平臺上的快速應用程序進行客戶端優化的語言。Google最初將其用做內部編程語言來構建Web、服務器和移動應用程序。儘管Dart自2011年以來一直存在,但在Google宣佈Flutter進行跨平臺移動應用開發後,它就開始流行。惟一的緣由是Flutter徹底基於Dart。所以,移動開發人員必須學習Dart 才能開始使用Flutter。前端
Dart編譯源代碼,相似於C等其餘編程語言。可是它也有本身的虛擬機(VM),用於運行稱爲Dart VM的原生應用程序。 Dart也有本身的軟件包管理器,稱爲Pub。java
Dart.jsgit
void main() {
print("Hello World");
}
複製代碼
Javascript程序員
console.log("Hello World")
複製代碼
JavaScript實際上無處不在,幾乎沒有不運行JavaScript的設備。當前,JavaScript被用於編寫Web,移動和服務器端代碼。 JavaScript在StackOverflow上標記了將近200萬個問題。github
因爲其受歡迎程度,JS生態系統很是龐大,如今,隨着雲組件中心的出現,它甚至在可重用組件「市場」中占主導地位。web
另外一方面,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有兩種不一樣的JS編譯器,Webdev工具根據用例選擇最佳的編譯器。在開發應用程序時,webdev選擇dartdevc,它支持增量編譯,所以你能夠快速查看編輯結果。可是,在構建要部署的應用程序時,webdev選擇dart2js,它使用搖樹之類的技術來生成優化的代碼。
Dart團隊正在努力使dart2js編譯的代碼比手寫JS運行得更快。雖然不是全部狀況下都會如此,但咱們能夠期待在不久的未來會有一些激烈的競爭。
優勢:
缺點:
優勢:
缺點:
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,探索它的水域。這樣一來,你就能夠徹徹底底地熟悉這兩個巨人了。
來源:blog.bitsrc.io,做者:Mahdhi Rezvi,翻譯:公衆號《前端外文精選》
本文首發於微信公衆號《前端外文精選》,關注即送大禮包,準能爲你節省很多錢!