亮點
比如很好的分離的思想,把widget分為Stateful和Stateless widget。
響應(yīng)式風(fēng)格,只需調(diào)用setState() 就會為State對象觸發(fā)build()方法,從而導(dǎo)致對UI的更新
引入了web中路由的概念,通過將路由推入到導(dǎo)航管理器棧中實現(xiàn)主路由和新路由之間導(dǎo)航(切換頁面)。
比如熱重載可以改動代碼立馬就看到效果,這個好啊,尤其是對于用命令行的,只要按個'r'鍵就行了。
感悟
軟件開發(fā)中最重要的概念就是抽象,雖然很多人意識不到這一點。
flutter實現(xiàn)跨平臺的方式就是抽象加分離。
首先把各種圖形組件抽象成widget
然后將widget區(qū)分為無狀態(tài)和有狀態(tài)。
對于有狀態(tài)的組件,進(jìn)行分離,然后組件依賴與其的狀態(tài)類
再在狀態(tài)類中通過調(diào)用build,跟新組件
在利用抽象,不同平臺的widget可以表現(xiàn)出不同的風(fēng)格
ps
這個是唯一用谷歌的東西安裝用命令都比較順暢的了,只需要兩步就可以安裝成功了
git clone -b beta https://github.com/flutter/flutter.git
flutter doctor
感覺dart語言很有特色,比如單行函數(shù)的寫法,我比較喜歡文檔里寫的成生一個列表的這行final _suggestions = <WordPair>[];
簡潔,易懂,第一次見就會用了的感覺。
疑問
沒玩過dart語言,在文檔實例中,對于列表被tap之后調(diào)用相應(yīng)的setState()函數(shù)更新框架。
誰能告訴我它給setState函數(shù)傳入的這個奇怪的(){}是什么意思?
onTap: (){
setState((){
if (alreadySaved) {
_saved.remove(pair);
} else {
_saved.add(pair);
}
}
****更新****
玩了一段時間的Nodejs,我想說不是人人都喜歡洋蔥的,雖然有promise
曹點
這種寫代碼的風(fēng)格,一會就被}搞蒙蔽了