• <ul id="cgeq2"></ul>
  • 歡迎您光臨深圳塔燈網絡科技有限公司!
    電話圖標 余先生:13699882642

    網站百科

    為您解碼網站建設的點點滴滴

    (一)一統江湖Flutter-環境搭建

    發表日期:2018-12 文章編輯:小燈 瀏覽次數:5537

    一、認識一下Flutter


    Flutter是谷歌的移動UI框架,可以快速在iOS和Android上構建高質量的原生用戶界面。 Flutter可以與現有的代碼一起工作。在全世界,Flutter正在被越來越多的開發者和組織使用,并且Flutter是完全免費、開源的。

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

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

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

    主流框架的對比

    Cordova:個人認為Flutter可以完勝了,因為Cordova還是基于網頁技術進行包裝,利用插件的形式開發移動應用的,就這一點。無論是性能還是體驗,Flutter都可以完勝了。

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

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

    120fps超高性能

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

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

    如果你想邁入移動游戲領域,學習Flutter也是一個非常好的選擇。
    github地址

    二、Flutter開發環境搭建Windows版


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

    2. 下載安裝 FlutterSDK

      • 解壓
      • 配置環境變量至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虛擬機
    1. 現在需要一個虛擬機來運行我們的程序,可以點擊Android Studio中的上方菜單tool -AVD Manager選項。

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


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


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

    5. 安裝好后,點擊開始按鈕,運行虛擬機了(第一次運行,需要安裝系統,會慢一些),運行起來后,如下圖。


    6. 讓Flutter跑起來


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


    第一步:修改掉項目下的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文件,這個目錄要根據你的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下如何玩轉Flutter


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

    1. VSCode安裝Flutter插件


    2. 啟動虛擬機


    3. 啟動 flutter run

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

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

    本頁內容由塔燈網絡科技有限公司通過網絡收集編輯所得,所有資料僅供用戶學習參考,本站不擁有所有權,如您認為本網頁中由涉嫌抄襲的內容,請及時與我們聯系,并提供相關證據,工作人員會在5工作日內聯系您,一經查實,本站立刻刪除侵權內容。本文鏈接:http://www.juherenli.com/18377.html
    相關APP開發
     八年  行業經驗

    多一份參考,總有益處

    聯系深圳網站公司塔燈網絡,免費獲得網站建設方案及報價

    咨詢相關問題或預約面談,可以通過以下方式與我們聯系

    業務熱線:余經理:13699882642

    Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.    

    在线涩涩免费观看国产精品| 国产精品视频免费一区二区| 国产精品女人呻吟在线观看| 国产精品视频免费观看| 国产三级久久久精品麻豆三级| 国产精品免费视频一区| 国产精品制服丝袜一区| 99热这里有免费国产精品| 国产精品无码一区二区三区电影| 羞羞色院91精品网站| 人妻精品无码一区二区三区 | 久久伊人精品青青草原日本| 精品熟女少妇AV免费观看| 久久er99热精品一区二区| 国精品午夜福利视频不卡麻豆| 无码人妻精品一区二区三区99不卡| 久久久久99这里有精品10| 91精品天美精东蜜桃传媒入口| 国内精品无码一区二区三区| 亚洲国产精品碰碰| 国产99视频精品免费视频7| 精品少妇人妻AV无码专区不卡| 精品无码一区二区三区电影| 久久中文字幕2021精品| 久久久国产精品福利免费 | 国产精品美女免费视频观看| 国内成人精品亚洲日本语音| 中文无码精品A∨在线观看不卡| 亚洲精品在线免费观看| 亚洲第一精品在线视频| 国产精品久久久久jk制服| 99热婷婷国产精品综合| 9丨精品国产高清自在线看| 亚洲精品无码AV中文字幕电影网站| 国产精品午夜爆乳美女| 国产精品另类激情久久久免费| 国产精品成人国产乱| 国产麻豆精品一区二区三区| 麻豆精品无码国产在线果冻| 国内精品视频一区二区三区八戒| 国产欧美精品123区发布|