Dart基礎(chǔ)系列:
一、簡(jiǎn)介
1、概述:
- Dart是Google發(fā)布的一門(mén)開(kāi)源編程語(yǔ)言
- Dart初期目標(biāo)是成為下一代的web開(kāi)發(fā)語(yǔ)言(沒(méi)玩過(guò)JavaScript)
- Dart目前已可用于全平臺(tái)開(kāi)發(fā)
- Dart是一門(mén)面向?qū)ο蟮木幊陶Z(yǔ)言
2、應(yīng)用場(chǎng)景:
- Web開(kāi)發(fā)(有JavaScript)
- 跨平臺(tái)移動(dòng)應(yīng)用開(kāi)發(fā)(Flutter)
- 腳本或服務(wù)器開(kāi)發(fā)(有Java、Python)
3、版本:
- Dart1.x為穩(wěn)定版
- Dart2.x目前為開(kāi)發(fā)版本(當(dāng)前總結(jié)時(shí)間為2019.03.28)
- 本學(xué)習(xí)系列使用Dart2進(jìn)行總結(jié)
5、Dart語(yǔ)言特性:
所有能夠使用變量引用的都是對(duì)象, 每個(gè)對(duì)象都是一個(gè)類(lèi)的實(shí)例。在 Dart 中 甚至連 數(shù)字
numbers
、方法Function
和null
都是對(duì)象。所有的對(duì)象都繼承于 Object 類(lèi)。Dart是動(dòng)態(tài)類(lèi)型語(yǔ)言,使用靜態(tài)類(lèi)型可以更清晰的表明你的意圖,并且可以讓靜態(tài)分析工具來(lái)分析你的代碼,會(huì)更安全,但這并不是強(qiáng)制性的。(在調(diào)試代碼的時(shí)候你可能注意到 沒(méi)有指定類(lèi)型的變量的類(lèi)型為
dynamic
。)Dart 在運(yùn)行之前會(huì)先解析你的代碼。你可以通過(guò)使用 類(lèi)型或者編譯時(shí)常量來(lái)幫助 Dart 去捕獲異常以及 讓代碼運(yùn)行的更高效。
Dart中的類(lèi)和接口是統(tǒng)一的,類(lèi)即接口,你可以繼承一個(gè)類(lèi),也可以實(shí)現(xiàn)一個(gè)類(lèi)(接口),自然也包含了良好的面向?qū)ο蠛筒l(fā)編程的支持。
Dart 支持頂級(jí)方法 (例如
main()
),同時(shí)還支持在類(lèi)中定義函數(shù)。 (靜態(tài)函數(shù)和實(shí)例函數(shù))。 你還可以在方法中定義方法 (嵌套方法或者局部方法)。同樣,Dart 還支持頂級(jí)變量,以及 在類(lèi)中定義變量(靜態(tài)變量和實(shí)例變量)。 實(shí)例變量有時(shí)候被稱(chēng)之為域(Fields)或者屬性(Properties)。
和 Java 不同的是,Dart 沒(méi)有
public
、protected
、 和private
關(guān)鍵字。如果一個(gè)標(biāo)識(shí)符以 (_) 開(kāi)頭,則該標(biāo)識(shí)符 在庫(kù)內(nèi)是私有的。詳情請(qǐng)參考: 庫(kù)和可見(jiàn)性。標(biāo)識(shí)符可以以字母或者 _ 下劃線(xiàn)開(kāi)頭,后面可以是 其他字符和數(shù)字的組合。
有時(shí)候 表達(dá)式 expression 和 語(yǔ)句 statement 是有區(qū)別的,所以這種情況我們會(huì)分別指明每種情況。
Dart 工具可以指出兩種問(wèn)題:警告和錯(cuò)誤。 警告只是說(shuō)你的代碼可能有問(wèn)題, 但是并不會(huì)阻止你的代碼執(zhí)行。 錯(cuò)誤可以是編譯時(shí)錯(cuò)誤也可以是運(yùn)行時(shí)錯(cuò)誤。遇到編譯時(shí)錯(cuò)誤時(shí),代碼將 無(wú)法執(zhí)行;運(yùn)行時(shí)錯(cuò)誤將會(huì)在運(yùn)行代碼的時(shí)候?qū)е乱粋€(gè) 異常。
編程語(yǔ)言并不是孤立存在的,Dart也是這樣,他由語(yǔ)言規(guī)范、虛擬機(jī)、類(lèi)庫(kù)和工具等組成:
· SDK:SDK 包含 Dart VM、dart2js、Pub、庫(kù)和工具。
· Dartium:內(nèi)嵌 Dart VM 的 Chromium ,可以在瀏覽器中直接執(zhí)行 dart 代碼。
· Dart2js:將 Dart 代碼編譯為 JavaScript 的工具。
· Dart Editor:基于 Eclipse 的全功能 IDE,并包含以上所有工具。支持代碼補(bǔ)全、代碼導(dǎo)航、快速修正、重構(gòu)、調(diào)試等功能。
5、Dart資源:
- 官網(wǎng):https://www.dartlang.org/
- 中文網(wǎng):http://dart.goodev.org/
- 相關(guān)文章:
為什么Flutter會(huì)選擇 Dart?
Flutter與Dart 入門(mén)
二、搭建開(kāi)發(fā)環(huán)境
1、SDK安裝:
- Windows平臺(tái):
choco install dart-sdk
- Linux平臺(tái):
sudo apt-get install dart
- Mac平臺(tái):
Mac平臺(tái)上的安裝說(shuō)明:brew install dart --devel
1、Mac上要先安裝homebrew,才能通過(guò)brew來(lái)安裝dart//安裝1.x穩(wěn)定版本 brew tap dart-lang/dart brew install dart
2、驗(yàn)證://安裝2.x開(kāi)發(fā)版本 brew install dart --devel
3、安裝相關(guān)問(wèn)題:brew info dart
-
Homebrew
無(wú)法安裝成功:
解決辦法:修改 host 配置,在終端中輸入下列指令,打開(kāi)編輯文件,或快捷鍵//在終端官網(wǎng)指令 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" //提示如下類(lèi)似的錯(cuò)誤: error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54 fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed Failed during: git fetch origin master:refs/remotes/origin/master --tags --force
command+shift+G
打開(kāi)/etc/hosts
文件中,修改添加github.com
的映射IP。
按 s鍵 進(jìn)入編輯模式,在最下面添加sudo vi /etc/hosts
192.30.253.113 github.com
編輯host
再次嘗試終端輸入Homebrew官網(wǎng)指令,即可成功。
參考:https://www.cnblogs.com/divebombchen/p/10491844.html
-
2、IDE安裝:
- IntelliJ iDEA,Androidstudio
- VS Code
- Sublime Text、Atom
以Androidstudio為例:
在Pligins中進(jìn)行Dart插件搜索:
三、總結(jié)概述:
在后面的文章主要總結(jié)Dart語(yǔ)法的以下內(nèi)容:
- 關(guān)鍵字
- 數(shù)據(jù)類(lèi)型
- 操作符
- 控制語(yǔ)句
- 函數(shù)(方法)
- 面向?qū)ο?/li>
- 泛型
- 庫(kù)和可見(jiàn)性
- 異常
- 元數(shù)據(jù)