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