為您解碼網(wǎng)站建設的點點滴滴
發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):5296
Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用,并且Flutter是完全免費、開源的。
跨平臺:現(xiàn)在Flutter至少可以跨4種平臺,甚至支持嵌入式開發(fā)。我們常用的有Linux、Android、IOS,甚至可以在谷歌最新的操作系統(tǒng)上Fuchsia進行運行,經(jīng)過第三方擴展,甚至可以跑在MacOS和Windows上,到目前為止,F(xiàn)lutter算是支持平臺最多的框架了,良好的跨平臺性,直接帶來的好處就是減少開發(fā)成本。
原生用戶界面: 它是原生的,讓我們的體驗更好,性能更好。用官方的話講就是平滑而自然的滑動效果和平臺感知,為您的用戶帶來全新的體驗。(可以看一下圖片,這是Flutter的表現(xiàn))
開源免費:這個不用多說,我們只要學會并使用,這些都是免費的。這對于大公司是非常必要的,有人說你可以用破解版什么的....說明你還是小公司,我們公司的軟件全部是正版,就更不用說操作系統(tǒng)和生產(chǎn)環(huán)境了,否則各種公司的侵權官司你都解決不了。
Cordova:個人認為Flutter可以完勝了,因為Cordova還是基于網(wǎng)頁技術進行包裝,利用插件的形式開發(fā)移動應用的,就這一點。無論是性能還是體驗,F(xiàn)lutter都可以完勝了。
RN(React Native):RN的效率由于是將View編譯成了原生View,所以效率上要比基于Cordova的HTML5高很多,但是它也有效率問題,RN的渲染機制是基于前端框架的考慮,復雜的UI渲染是需要依賴多個view疊加.比如我們渲染一個復雜的ListView,每一個小的控件,都是一個native的view,然后相互組合疊加.想想此時如果我們的list再需要滑動刷新,會有多少個對象需要渲染.所以也就有了前面所說的RN的列表方案不友好。
Flutter:吸收了前兩者的教訓之后,在渲染技術上,選擇了自己實現(xiàn)(GDI),由于有更好的可控性,使用了新的語言Dart,避免了RN的那種通過橋接器與Javascript通訊導致效率低下的問題,所以在性能方面比RN更高一籌;有經(jīng)驗的開發(fā)者可以打開Android手機開發(fā)者選項里面的顯示邊界布局,發(fā)現(xiàn)Flutter的布局是一個整體.說明Flutter的渲染沒用使用原生控件進行渲染。
Flutter采用GPU渲染技術,所以性能極高。
Flutter編寫的應用是可以達到120fps(每秒傳輸幀數(shù)),這也就是說,它完全可以勝任游戲的制作。而我們常說的RN的性能只能達到60fps,這也算是Flutter的一個超高競爭力吧。官方宣稱Flutter甚至會超過原生性能。
如果你想邁入移動游戲領域,學習Flutter也是一個非常好的選擇。
github地址
JDK下載及環(huán)境變量配置
下載安裝 FlutterSDK
Android Studio的安裝
打開Android Stuido 軟件,然后找到Plugin的配置,搜索Flutter插件。
安裝Android證書(注意jdk版本問題)
現(xiàn)在需要一個虛擬機來運行我們的程序,可以點擊Android Studio中的上方菜單tool -AVD Manager選項。
出現(xiàn)新建菜單,選擇Create Virtual Device.....,如果你一個虛擬機也沒建過,這個選項在對話框的中間(我一定跟我的圖一樣)。
選擇虛擬機類型,這個你隨意選就好,我選擇的是Nexus 5x。(如果你屏幕小,就選擇一個小屏幕的虛擬機)
選擇系統(tǒng),這里盡量選擇最新的,我選擇了Android 9.0系統(tǒng),選擇好后,又是一個漫長的等待過程。
安裝好后,點擊開始按鈕,運行虛擬機了(第一次運行,需要安裝系統(tǒng),會慢一些),運行起來后,如下圖。
讓Flutter跑起來
第一步:修改掉項目下的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,需要下載安裝一個程序,這個提示的很清楚,不做過多的介紹了。
我已經(jīng)使用VSCode有幾年了,記得是從剛出VSCode就開始使用了,我個人是不喜歡用Android Studio來進行開發(fā)的,感覺它太重量級了。所以必須想辦法用VSCode進行開發(fā)。幸運的是VSCode已經(jīng)有了Flutter插件,而且也非常完美。
VSCode安裝Flutter插件
啟動虛擬機
啟動 flutter run
熱鍵(debug F5 模式實時加載)
r 鍵:點擊后熱加載,也就算是重新加載吧。
p 鍵:顯示網(wǎng)格,這個可以很好的掌握布局情況,工作中很有用。
o 鍵:切換android和ios的預覽模式。
q 鍵:退出調(diào)試預覽模式。
日期:2018-10 瀏覽次數(shù):7265
日期:2018-12 瀏覽次數(shù):4341
日期:2018-07 瀏覽次數(shù):4889
日期:2018-12 瀏覽次數(shù):4186
日期:2018-09 瀏覽次數(shù):5512
日期:2018-12 瀏覽次數(shù):9934
日期:2018-11 瀏覽次數(shù):4821
日期:2018-07 瀏覽次數(shù):4593
日期:2018-05 瀏覽次數(shù):4866
日期:2018-12 瀏覽次數(shù):4334
日期:2018-10 瀏覽次數(shù):5148
日期:2018-12 瀏覽次數(shù):6225
日期:2018-11 瀏覽次數(shù):4478
日期:2018-08 瀏覽次數(shù):4601
日期:2018-11 瀏覽次數(shù):12652
日期:2018-09 瀏覽次數(shù):5593
日期:2018-12 瀏覽次數(shù):4846
日期:2018-10 瀏覽次數(shù):4200
日期:2018-11 瀏覽次數(shù):4539
日期:2018-12 瀏覽次數(shù):6075
日期:2018-06 瀏覽次數(shù):4016
日期:2018-08 瀏覽次數(shù):5448
日期:2018-10 瀏覽次數(shù):4465
日期:2018-12 瀏覽次數(shù):4544
日期:2018-07 瀏覽次數(shù):4370
日期:2018-12 瀏覽次數(shù):4508
日期:2018-06 瀏覽次數(shù):4397
日期:2018-11 瀏覽次數(shù):4385
日期:2018-12 瀏覽次數(shù):4258
日期:2018-12 瀏覽次數(shù):5296
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.