歡迎您光臨深圳塔燈網(wǎng)絡(luò)科技有限公司!
          電話圖標(biāo) 余先生:13699882642

          網(wǎng)站百科

          為您解碼網(wǎng)站建設(shè)的點(diǎn)點(diǎn)滴滴

          (一)一統(tǒng)江湖Flutter-環(huán)境搭建

          發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):5679

          一、認(rèn)識一下Flutter


          Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用,并且Flutter是完全免費(fèi)、開源的。

          • 跨平臺:現(xiàn)在Flutter至少可以跨4種平臺,甚至支持嵌入式開發(fā)。我們常用的有Linux、Android、IOS,甚至可以在谷歌最新的操作系統(tǒng)上Fuchsia進(jìn)行運(yùn)行,經(jīng)過第三方擴(kuò)展,甚至可以跑在MacOS和Windows上,到目前為止,F(xiàn)lutter算是支持平臺最多的框架了,良好的跨平臺性,直接帶來的好處就是減少開發(fā)成本。

          • 原生用戶界面: 它是原生的,讓我們的體驗更好,性能更好。用官方的話講就是平滑而自然的滑動效果和平臺感知,為您的用戶帶來全新的體驗。(可以看一下圖片,這是Flutter的表現(xiàn))

          • 開源免費(fèi):這個不用多說,我們只要學(xué)會并使用,這些都是免費(fèi)的。這對于大公司是非常必要的,有人說你可以用破解版什么的....說明你還是小公司,我們公司的軟件全部是正版,就更不用說操作系統(tǒng)和生產(chǎn)環(huán)境了,否則各種公司的侵權(quán)官司你都解決不了。

          主流框架的對比

          Cordova:個人認(rèn)為Flutter可以完勝了,因為Cordova還是基于網(wǎng)頁技術(shù)進(jìn)行包裝,利用插件的形式開發(fā)移動應(yīng)用的,就這一點(diǎn)。無論是性能還是體驗,F(xiàn)lutter都可以完勝了。

          RN(React Native):RN的效率由于是將View編譯成了原生View,所以效率上要比基于Cordova的HTML5高很多,但是它也有效率問題,RN的渲染機(jī)制是基于前端框架的考慮,復(fù)雜的UI渲染是需要依賴多個view疊加.比如我們渲染一個復(fù)雜的ListView,每一個小的控件,都是一個native的view,然后相互組合疊加.想想此時如果我們的list再需要滑動刷新,會有多少個對象需要渲染.所以也就有了前面所說的RN的列表方案不友好。

          Flutter:吸收了前兩者的教訓(xùn)之后,在渲染技術(shù)上,選擇了自己實(shí)現(xiàn)(GDI),由于有更好的可控性,使用了新的語言Dart,避免了RN的那種通過橋接器與Javascript通訊導(dǎo)致效率低下的問題,所以在性能方面比RN更高一籌;有經(jīng)驗的開發(fā)者可以打開Android手機(jī)開發(fā)者選項里面的顯示邊界布局,發(fā)現(xiàn)Flutter的布局是一個整體.說明Flutter的渲染沒用使用原生控件進(jìn)行渲染。

          120fps超高性能

          Flutter采用GPU渲染技術(shù),所以性能極高。

          Flutter編寫的應(yīng)用是可以達(dá)到120fps(每秒傳輸幀數(shù)),這也就是說,它完全可以勝任游戲的制作。而我們常說的RN的性能只能達(dá)到60fps,這也算是Flutter的一個超高競爭力吧。官方宣稱Flutter甚至?xí)^原生性能。

          如果你想邁入移動游戲領(lǐng)域,學(xué)習(xí)Flutter也是一個非常好的選擇。
          github地址

          二、Flutter開發(fā)環(huán)境搭建Windows版


          特別說明:如果你還不會翻墻,科學(xué)上網(wǎng)。那你先停止學(xué)習(xí)吧,因為你不可能安裝成功,先去學(xué)學(xué)這些東西,能打開谷歌了,再返回來學(xué)效率更高。
          1. JDK下載及環(huán)境變量配置

          2. 下載安裝 FlutterSDK

            • 解壓
            • 配置環(huán)境變量至path,例(D:\developer\application\flutter\bin)
            • 終端輸入flutter doctor查看詳情
          3. Android Studio的安裝

          4. 打開Android Stuido 軟件,然后找到Plugin的配置,搜索Flutter插件。

          5. 安裝Android證書(注意jdk版本問題)

          • flutter doctor --android-licenses

          三、Android studio新建Flutter項目




          安裝AVD虛擬機(jī)
          1. 現(xiàn)在需要一個虛擬機(jī)來運(yùn)行我們的程序,可以點(diǎn)擊Android Studio中的上方菜單tool -AVD Manager選項。

          2. 出現(xiàn)新建菜單,選擇Create Virtual Device.....,如果你一個虛擬機(jī)也沒建過,這個選項在對話框的中間(我一定跟我的圖一樣)。


          3. 選擇虛擬機(jī)類型,這個你隨意選就好,我選擇的是Nexus 5x。(如果你屏幕小,就選擇一個小屏幕的虛擬機(jī))


          4. 選擇系統(tǒng),這里盡量選擇最新的,我選擇了Android 9.0系統(tǒng),選擇好后,又是一個漫長的等待過程。

          5. 安裝好后,點(diǎn)擊開始按鈕,運(yùn)行虛擬機(jī)了(第一次運(yùn)行,需要安裝系統(tǒng),會慢一些),運(yùn)行起來后,如下圖。


          6. 讓Flutter跑起來


          四、Error runing Gradle 錯誤解決(1.x版本已經(jīng)修復(fù))


          第一步:修改掉項目下的android目錄下的build.gradle文件,把google() 和 jcenter()這兩行去掉。改為阿里的鏈接。

          buildscript { repositories { //google() //jcenter() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/groups/public'} } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' } } allprojects { repositories { // google() // jcenter() maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'http://maven.aliyun.com/nexus/content/groups/public' } } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir } 

          第二步:修改Flutter SDK包下的flutter.gradle文件,這個目錄要根據(jù)你的SDK存放的位置有所變化。比如我放在了D盤Flutter目錄下,那路徑就是這個。
          D:\developer\application\flutter\packages\flutter_tools\gradle

          buildscript { repositories { //jcenter() // maven { // url 'https://dl.google.com/dl/android/maven2' // } maven{ url 'https://maven.aliyun.com/repository/jcenter' } maven{ url 'http://maven.aliyun.com/nexus/content/groups/public' } } dependencies { classpath 'com.android.tools.build:gradle:3.1.2' } } 

          然后再重新Debug一下,就基本可以啟動起來。

          還有一種錯誤是說硬件沒有啟動GPU,需要下載安裝一個程序,這個提示的很清楚,不做過多的介紹了。

          五、VSCode下如何玩轉(zhuǎn)Flutter


          我已經(jīng)使用VSCode有幾年了,記得是從剛出VSCode就開始使用了,我個人是不喜歡用Android Studio來進(jìn)行開發(fā)的,感覺它太重量級了。所以必須想辦法用VSCode進(jìn)行開發(fā)。幸運(yùn)的是VSCode已經(jīng)有了Flutter插件,而且也非常完美。

          1. VSCode安裝Flutter插件


          2. 啟動虛擬機(jī)


          3. 啟動 flutter run

          4. 熱鍵(debug F5 模式實(shí)時加載)
            r 鍵:點(diǎn)擊后熱加載,也就算是重新加載吧。
            p 鍵:顯示網(wǎng)格,這個可以很好的掌握布局情況,工作中很有用。
            o 鍵:切換android和ios的預(yù)覽模式。
            q 鍵:退出調(diào)試預(yù)覽模式。

          注原文:http://jspang.com/post/flutter1.html

          本頁內(nèi)容由塔燈網(wǎng)絡(luò)科技有限公司通過網(wǎng)絡(luò)收集編輯所得,所有資料僅供用戶學(xué)習(xí)參考,本站不擁有所有權(quán),如您認(rèn)為本網(wǎng)頁中由涉嫌抄襲的內(nèi)容,請及時與我們聯(lián)系,并提供相關(guān)證據(jù),工作人員會在5工作日內(nèi)聯(lián)系您,一經(jīng)查實(shí),本站立刻刪除侵權(quán)內(nèi)容。本文鏈接:http://www.cjxv.cn/18377.html
          相關(guān)APP開發(fā)