Flutter學習筆記(2)--Dart語言簡介

CurtisWgh發表於2019-06-29

Dart簡介:

Dart誕生於2011年10月10日,Dart是一種“結構化的web程式設計”語言,Dart雖然是谷歌開發的計算機程式語言,但後來被ECMA認定位標準,這門語言用於Web、服務端、移動應用和物聯網等領域的開發;

程式語言有這麼多種類,Flutter為什麼要選擇Dart作為開發語言呢?這是因為Dart更符合構建使用者介面的方式;

以下是Flutter團隊看重Dart語言的部分特性:

1.Dart是AOT(Ahead Of Time)編譯的,編譯快速,可預測的原生程式碼,是Flutter幾乎都可以使用Dart編寫,這不僅使Flutter變得更快,而且幾乎所有的元件都可以定製;

2.Dart也可以JIT(Just In Time)編譯,開發週期異常快,工作流顛覆常規(包括Flutter的熱過載);

3.Dart可以更輕鬆的建立以60fps執行的流暢動畫和轉場,Dart可以在沒有鎖的情況下進行物件分配和垃圾回收,就像JavaScript一樣,Dart避免了搶佔式排程和共享記憶體(因此不需要鎖),由於Flutter應用程式被編譯為原生程式碼,因此不需要在領域之間建立緩慢的橋樑,它的啟動速度也快的多;

4.Dart使Flutter不需要單獨的宣告式佈局語言,或單獨的視覺化介面構建器,因為Dart的宣告式程式設計佈局易於閱讀和視覺化,所有的佈局使用一種語言,聚集在一處,Flutter很容易提供高階工具,使佈局更簡單;

Dart重要概念:

1.所有的東西都是物件,無論是變數、數字、函式等都是物件。所有的物件都是類的例項。所有的物件都繼承自內建的Object類,這點類似於Java語言“一切皆為物件”;

2.程式中制定資料型別使得程式合理地分配記憶體空間,並幫助編譯器進行語法檢查,但是,指定型別不是必須的,Dart語言是弱資料型別;

3.Dart程式碼在執行前解析,指定資料型別和編譯時的常量,可以提高執行速度;

4.Dart程式有統一的程式入口:main();

5.Dart沒有public、protected和private的概念,私有特性通過變數或函式加上下劃線來表示;

6.Dart支援anync/await非同步處理;

7.Dart語言常用庫:

dart:async  非同步程式設計支援,提供Future和Stream類;

dart:collection  對dart:core提供更多的集合支援;

dart:convert  不同型別(JSON,UTF-8)間的字元編碼、解碼支援;

dart:core  Dart語言內建的型別、物件以及dart語言核心的功能;

dart:html  網頁開發用到的庫;

dart:io  檔案讀寫I/O相關操作的庫;

dart:math  數字常量及函式,提供隨機數演算法;

dart:svg  事件和動畫的向量圖象支援;

其中如下三個開發庫的使用頻率最高:

dart:core  核心庫,包括strings、numbers、collections、errors、dates、URIs等;

dart:html  網頁開發裡DOM相關的一些庫;

dart:io  I/O命令列使用的I/O庫;

注:dart:core庫是Dart語言初始化已經包含的庫,其他的任何庫在使用前都需要加上import語句。列如使用dart:html可以使用如下的命令:import ‘dart:html’

 

相關文章