Flutter學習筆記(2)--Dart語言簡介
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’