Dart語言的前世今生

寫在最前面(時間緊的朋友看第一段即可)

Dart語言將是您必須掌握的一門語言,因爲他將是成爲統一前端與後端的全棧語言。各位程序員朋友可要小心了,現在三個崗位的工作,未來可能只需要一個人了。

一、該不該學習Dart語言?

如果你在2018年問這個問題,收到答案肯定是不應該學,因爲2018年Dart被評爲了最不應該學習語言的榜首。如果您在2019年,我建議學習Dart,因爲Dart被評爲2019年開發者最希望學習的榜首。

2018 和2019爲何出現如此截然相反的態度呢,原因很簡單其親爹谷歌已經將其冊封爲太子,而且還爲其娶了一個叫Flutter的太子妃,未來新一代操作系統fuchsia將以Dart爲主力語言。而且谷歌最賺錢的Adwords廣告業務已經採用Dart進行開發。站在巨人肩膀上的Dart肯定能夠成爲未來的主流語言。

二、Dart使命是什麼?

我們通過Dart語言的成長曆史,來發掘一下Dart的歷史使命

1. Dart語言的誕生

2011年10月10日,Google 發佈了Dart語言,文章的標題爲《Dart: A language for structured web programming》(Dart:結構化的Web編程語言)。下面是Dart語言的設計目標:

  • 爲web開發創建一個結構化並且靈活的語言

  • Dart讓開發者感覺親切友好並且容易學習

  • 確保Dart語言在所有新型瀏覽器和服務器上都保持更高的執行性能,並且能夠在支持從智能手持設備到服務端開發工作。

Dart具有非常廣泛的應用場景,其即支持一個人簡單的項目還支持大型項目的開發工作。Dart團隊認爲該語言將成爲開發大型Web的偉大語言。

https://blog.chromium.org/2011/10/dart-language-for-structured.html

從上面介紹我們可以看出,Dart語言是一個開發web應用的語言,其主要是爲了創建大型web應用而發明的。

2. 第一個正式穩定的版本

2013年11月14日,谷歌發佈Dart 1.0版本,其標題爲《Dart 1.0: A stable SDK for structured web apps》(Dart 1.0:一個穩定的web應用結構開發SDK)

Dart 1.0版本發佈,不但推出了Dart語言1.0版本而且還推出了相關開源工具箱和配套的編輯器。還介紹了已經有Blossom, Montage, Soundtrap, Mandrill, 谷歌內部 CRM 應用 and Google Elections等應用使用Dart進行了開發。

https://news.dartlang.org/2013/11/dart-10-stable-sdk-for-structured-web.html

3. Dart 2.0 重生的版本

2018年8月8日,谷歌發佈Dart2.0版本,其標題爲《Announcing Dart 2 Stable and the Dart Web Platform》(Dart2 穩定版本和Dart Web平臺發佈)

此次更新,可謂是讓Dart浴火重生。從13至18年,Dart不問不火,特別是其運行效率成爲了被人詬病的槽點。2018年穀歌對Dart進行全新改版,從底層重構了Dart語言,加入了很多面向未來的新特別,語言性能大幅提供。此次發佈谷歌不僅發佈了Dart 2.0穩定版,而且還重寫了Dart web platform。新版的web platform 提供了一套高性能、可擴展的生產力工具。

Dart 2 終點聚焦下面三個方面:功能不斷加強和越來越嚴謹的語言;同時支持web和移動客戶端開發;豐富工具箱和組件,全面融合谷歌全家桶。

https://medium.com/dartlang/dart-2-stable-and-the-dart-web-platform-3775d5f8eac7

4. Flutter 發佈

2018年12月4日,谷歌發佈Flutter 1.0版本,其標題爲《Flutter 1.0: Google’s Portable UI Toolkit》(Flutter 1.0:谷歌的可移植UI工具箱)

Flutter是谷歌開源的移動應用開發SDK,使用Flutter 可以直接開發Android和iOS應用。其最大的特點就是一套代碼多平臺運行、高性能和Hot Reload(熱重載)。谷歌即將發佈Fuchsia系統就以Flutter爲主要開發框架。Flutter採用Dart作爲其底層語言。Dart也由於Flutter美好未來而得到衆多開發者的青睞。

https://developers.googleblog.com/2018/12/flutter-10-googles-portable-ui-toolkit.html

三、關於Dart的傳說

關於Dart傳說有多種,一種爲Dart是未來的Javascript,另外一種是Dart未來的Java。

1. 未來的Javascript

引自 《Dart in Action》 第18頁

2011年9月,網絡上出現了一封標題爲“未來的JavaScript”的谷歌內部電子郵件,郵件中表明由於Javascript語言發展緩慢,因此谷歌打算設計一個更好的web開發語言。這種新語言旨在成爲下一代的JavaScript。它的主要目標是“保持JavaScript的動態特性,但具有更好的性能配置文件,並且適合大型項目的工具。”它還能夠交叉編譯爲JavaScript。這種語言作爲技術預覽發佈給更廣泛的世界,並命名爲Dart。

JavaScript可謂是前端開發的王者,然而其在面向對象方面的薄弱讓無數人詬病。由於其設計之初的缺陷,開發者社區一種呼籲進行修改,因此谷歌推出了一門新的開發語言來取代Javascript。另外Dart語言設計者Lars Bak也是V8 JavaScript engine開發者,可見Dart與Javascript傳言不假。

2. 未來的Java

Java是Sun公司的偉大發明,不過很可惜Sun後來被Oracle收購後,Java是否收費問題影響了其發展。作爲Sun公司的同名師兄弟Google成爲了Java發展的幕後英雄,Android系統的推出讓Java再次煥發了青春。不過進入2018年後,Oracle開始在Java授權方面蠢蠢欲動,Google也因此下定決心設計一個新的面嚮對象語言(下一代Java)。另外Dart 語言設計者Lars Bak 就是jvm發明者,從此點可以看出Dart肯定是有Java的基因。

3. Javascript 和 Java的傳說

Java 和 Javascript從名稱上看肯定是有一定淵源,翻看Javascript歷史可以發現Javascript和Java的關係果真不簡單。

1995年在網景公司工作的Brendan Eich在設計一款在瀏覽器上運行的編程語言,某位高級主管要求他該語言要遵守Java的語法規範,Brendan Eich不得不接受這個要求,他用了10天就完成新語言的設計工作。

寫在最後

因此融合“Javascript 傳說”和“Java傳傳說”,我們發現一個祕密,Dart 未來不僅僅是Java或者Javascript,其野心可能是要統一前後端開發,成爲一個真正的全棧語言。各位程序員朋友可要小心了,現在三個崗位的工作,未來可能只需要一個人了


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章