寫在前面
跳槽到新公司一眨眼一個(gè)月,忙的不可開(kāi)交,各種加班,總算有時(shí)間撿起簡(jiǎn)書(shū)文章了,今年2月Google在世界移動(dòng)開(kāi)發(fā)者大會(huì)發(fā)布了Flutter,到現(xiàn)在還沒(méi)看過(guò),有點(diǎn)落后了,今天來(lái)配個(gè)環(huán)境爽一下,記錄一下過(guò)程.
Flutter是什么東東?
Flutter是Google用以幫助開(kāi)發(fā)者在Ios和Android兩個(gè)平臺(tái)開(kāi)發(fā)高質(zhì)量原生應(yīng)用的全新移動(dòng)UI框架,采用Dart作為開(kāi)發(fā)框架,對(duì)于Flutter而言,手機(jī)應(yīng)用里的所有東西都是Widget,通過(guò)可組合的空間集合,豐富的動(dòng)畫庫(kù)以及分層可擴(kuò)展的架構(gòu)實(shí)現(xiàn)了富有感染力的靈活界面設(shè)計(jì)。具體效果可以參考:Flutter Gallery
配置環(huán)境
基本的下載內(nèi)容,在Android Studio中的配置可以參考Flutter中文網(wǎng),其中不乏有一些需要翻墻的內(nèi)容,需要自行解決,主要寫一下在這其中碰到的問(wèn)題:
非常順利的下載完成,并且在環(huán)境變量中配置了Flutter,迫不及待的進(jìn)行了flutter doctor進(jìn)行檢查,發(fā)現(xiàn)了第一個(gè)錯(cuò)誤:
Android toolchain - develop for Android devices (Android SDK 28.0.1)
X Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
提示許可證未被接受,好在給出了解決方案,嘗試運(yùn)行:flutter doctor --android-licenses 之后,彈出了一大堆英文,依次輸入y,搞定了這個(gè)問(wèn)題:
之后在Android Studio安裝Dart和Flutter的插件重啟后,終于來(lái)到了創(chuàng)建項(xiàng)目,順利的創(chuàng)建完,迫不及待的想運(yùn)行一下程序體驗(yàn)一下,結(jié)果還沒(méi)運(yùn)行,就報(bào)錯(cuò)了:
PANIC: Cannot find AVD system path. Please define ANDROID_SDK_ROOT
這個(gè)問(wèn)題提示的是沒(méi)有設(shè)置ANDROID_SDK_ROOT,平常在進(jìn)行Android開(kāi)發(fā)的時(shí)候,一般只是配置好了Java和adb的環(huán)境之后,其他的就不進(jìn)行配置了,雖然不影響使用(可以通過(guò)AVD運(yùn)行模擬器),但是有個(gè)錯(cuò)誤總覺(jué)得怪怪的,添加環(huán)境變量:
應(yīng)用到Path中:
在PowerShell中進(jìn)行測(cè)試無(wú)問(wèn)題:
重啟AS后,終于運(yùn)行成功:
隨便進(jìn)行了一些修改,發(fā)現(xiàn)其中的熱重載等技術(shù)的確很爽,跟著官方Demo繼續(xù)爽一下:
在官方的第二部 第2步: 使用外部包(package) 遇到的第三個(gè)問(wèn)題:
properties/flutter: unallowed additional property dependencies
在添加 english_words: ^3.1.0 這個(gè)依賴的時(shí)候,跟著官網(wǎng)的操作點(diǎn)擊 Packages get,始終報(bào)上述錯(cuò)誤,之后先運(yùn)行Packages upgrade后,再點(diǎn)擊Packages get后,問(wèn)題解決.
最終實(shí)現(xiàn)了這樣一個(gè)東西:
總體來(lái)說(shuō)
熱重載真的很吸引人....
熱重載真的很吸引人....
熱重載真的很吸引人....
(重要的事情說(shuō)三遍)
有一種越來(lái)越像寫HTML的感覺(jué),體驗(yàn)了一下,Demo的滑動(dòng)會(huì)出現(xiàn)略微卡頓,不如原生流暢,當(dāng)然也有可能是測(cè)試機(jī)比較垃圾...總體來(lái)說(shuō)還是不錯(cuò)的,可以學(xué)一下,爭(zhēng)取把IOS也寫了(手動(dòng)狗頭).
最后
依舊是一首歌