官方主頁:https://flutterchina.club/get-started/install/前端
1.系統環境集成。java
工具:androidStudio3.1 ,node
jdk: 1.8.1mysql
環境:deepin(ubuntu15.6)react
須要的插件flutter ,dartlinux
看了官方的長篇大論以後開始了踩坑之路。android
題外話:ios
自從看了mysql從入門到刪庫跑路以後,本人就沉醉於java後臺代碼沒法自拔,一時間山河變色,怎麼會有如此掉渣天的語言存在。幾年前塞班機子還統治帝國王朝的時候,googel騎着二哈從半路殺了出來,推翻了塞班老巢,扼殺了ios妄想一統六國,天下捨我其誰的霸權地位。尤記那年博主仍是在學校嘴裏啃着蔥油餅,左手拿着諾基亞,右手夾着毛鄧三的青蔥少年。android的誕生如同聖光同樣灑在了樓主的臉上,對,樓主沉迷了!那時候天下風雲變色,處處哀鴻遍野,若是當時楊永信注意到了樓主,那樓主今天也不會在這吹牛B了。git
那時候的市場很亂,android 大多數都是原來塞班那批人轉過來的,互聯網亂草叢生。生在三線城市的我算是一種悲哀也是一種慶幸。悲哀的是好多公司都是小區房,沒有一家像樣的互聯網公司。慶幸的是那時候沒多少互聯網從業者,老闆主要面試也是看你的做品。當時的互聯網哪查獲得那麼多東西,徹底靠本身硬擼,沒有後臺配合你寫代碼。當時的博主處於無奈,android裏本身寫sql,本身寫jdbc連遠程數據庫。一套代碼寫下來基本先後端一我的幹了,全寫在android代碼裏。程序員
這些都是題外話,博主從androud裏本身寫sql到react native如今的weex,flutter。雖然如今寫後臺去了,可是android始終是我心裏的一道坎,過不去的坎,往往新東西出來以後一定會去嘗試。
// 正文從這裏開始----------------------------------------------------------------------------------------------------------------------------------------------------------------
1.flutter的安裝。
首先若是你是windows那麼很慶幸,你只須要去官網下個zip下來丟到文件夾下面配置系統變量就好了。若是你和我同樣有情懷的程序員,好比的系統深度開發的 deepin。那麼必定要去下linux的,千萬別走git。不知道是網絡差仍是別的緣由整整clone了一個多小時沒clone下來。而後索性本身去官網down了一個下來:連接頁面:https://flutter.io/setup-linux/ 目前在寫這篇文章的時候版本號爲: flutter_linux_v0.5.1-beta.tar.xz 至於其餘的解壓等等一系列以及配環境的相關方法請移步中文官網。
2.驅動的發現。
我是採用真機進行調試,沒有使用虛擬機。若是你使用虛擬機驅動的模擬器如 Genymotion 之類,安裝Genymotion 可能會出錯 ,大概意思就是你的cpu不支持xx之類的,這個得去bios裏面設置 有個vitual的選項在cpu裏面設置成啓用就好了,老鳥就不用關注這個了。
若是通常的java工程只要把手機插入以後就會顯示在可調試選項裏面,可是flutter有所不一樣,須要你手動輸入命令來發現驅動。下圖是一個手機已經插入了可是沒有被發現驅動的圖,這時你須要在最下面的terminal裏面輸入 flutter devices 此命令須要你配置了path,也就是flutter的path。
正常發現驅動的命令以下:
這時候就能點右上角的run或者dbug進行調試了,要注意的就是第一次若是是網太差基本上是要卡個半小時纔會執行。
3.死鎖
不知道稱呼這個對不對,在個人理解裏面flutter執行的時候是單線程執行,前面一個命令未執行完flutter默認鎖住。
flutter默認執行一個命令沒被執行玩的時候會在控臺答應出一句話:Waiting for another flutter command to release the startup lock.
解決方法大概如此:進入/media/reasahi/tools/flutter/bin/cache 也就是你安裝flutter的文件目錄下 有個文件叫作lockfile 刪除後就不會提示這個了,可是感受治標不治本。
4.支付
現在的flutter還須要很大的空間去完善,第三方的jar引用,還有一些jar的os庫目前引用起來不是那麼方便,包括支付回調的service 等等一系列的東西還有些欠缺,官方給的文檔又太少,目前我在研究支付的時候暫時沒找到解決方案,要同時兼容ios和android,若是隻是單純的兼容android 那直接寫目錄下面的 android便可,http庫目前有個dio ,不少功能不太完善,起碼開發起來的效率得x2,期待goolge之後提供更好的庫支持及生態圈 。
5.結束語
goolge畢竟是個大廠,對於此框架而言我更感受goolge是在推廣dart語言,其實語法相似於java 但比java簡單。kotlin一樣也出自與同一家公司。寫法上畢竟是小衆,除非像ios同樣 oc一桶天下swift 做爲輔助受衆面可能要廣一些。總的來講,小公司技術棧很窄的不建議使用,好多錯誤基本上查詢不到,語法高亮,提示作的也不是很完善,相似的庫又比較少,flutter還有很長的路要走,可是前方的路很差走,還請將軍少飲酒!
至於react native 總體不作過多評價,前端這幾年框架變化太快,還處在於一個優勝略汰的階段,可是node基本上能夠說已經肯定了。