Flutter的開發(fā)方法是什么

這篇文章主要講解了“Flutter的開發(fā)方法是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Flutter的開發(fā)方法是什么”吧!

紅崗網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。

開始

FLutter可以在Windows、Linux、Mac上進行開發(fā),開發(fā)工具可以使用VS Code、Android  Studio、IDEA等,本文推薦使用Android Studio,主要在于Android Studio提供了FLutter  Inspector工具,可以實時審查元素,解決界面的顯示適配問題。

搭建開發(fā)環(huán)境

搭建環(huán)境的主要步驟:

  1. 下載SDK,下載地址。

  2. 配置PATH,如果使用Mac或者Linux系統(tǒng),一定要將bin目錄添加到系統(tǒng)PATH。

  3. 配置依賴源鏡像,這一步很重要,并且需要將腳本放到啟動shell中。

export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
  1. 執(zhí)行flutter doctor,這一步耗時會很長,需要耐心等耐。

  2. 安卓開發(fā)工具及插件,配置編輯器。

配置編輯器

主要是給編輯器安裝相應(yīng)的插件。

VS Code安裝flutter插件,Android Studio和IDEA需要安裝Flutter和Darter插件。

其中Android Studio和IDEA基本一樣,跟VS Code的主要區(qū)別在于:

  1. VS Code提供了更好的代碼提示功能

  2. IDEA提供了Flutter Inspector,可實時審查頁面元素

可根據(jù)個人喜好、習(xí)慣選擇使用。

推薦網(wǎng)站

在安裝、配置過程中,可參考以下中文資料:

Flutter中國

Flutter中文文檔

主要技術(shù)點

Dart

Flutter項目的開發(fā)語言是Dart,Dart 是由 Google 開發(fā)的一種面向?qū)ο笳Z言,可以編譯成 ARM 和 x86 代碼直接運行在  iOS、Android 設(shè)備上。

推薦先學(xué)習(xí)Dart語言官方教程,對Dart有初步了解之后再進行Flutter的學(xué)習(xí)和開發(fā)。

界面開發(fā)

終于可以進入Flutter本身了。

Widget

Flutter中頁面所有元素都是Widget,又分為StatelessWidget和StatefulWidget。

顧名思義,StatelessWidget 就是指無可變狀態(tài)的 Widget,這類 Widget 的狀態(tài)只由創(chuàng)建 Widget  時傳入的參數(shù)決定,一旦創(chuàng)建,其狀態(tài)、在頁面上的展示效果也就不再改變。

而 StatefulWidget 內(nèi)部則存在著可變狀態(tài)。當(dāng)通過setState改變這些狀態(tài)時,F(xiàn)lutter 會重新渲染該 Widget。

布局

在實際開發(fā)中,主要使用了Row、Column、Container、Expanded、Stack等。

Row、Column提供了水平、垂直方向的布局,Stack提供了堆疊方式的布局,各種容器有不同的特性,可根據(jù)實際頁面需求選擇搭配不同的布局。

推薦學(xué)習(xí) 官方文檔 及 國內(nèi)維護的中文翻譯。

主要插件

話題切回到詩詞匯APP,本APP收集了4000余位詩人的30多萬首詩詞,提供了古詩詞的查詢、收藏、朗誦功能,并且實現(xiàn)了初步的社區(qū)功能。

項目目錄結(jié)構(gòu)如下:

Flutter的開發(fā)方法是什么

開發(fā)這個APP大概用了一個月的業(yè)余時間,每天抽出一兩個小時,這樣折算為工作日,大概是兩個星期左右,開發(fā)效率還是很高的。

下面跟大家分享一下主要功能及所使用的一些插件。

切換主題

為了實現(xiàn)實時切換主題顏色,使用了狀態(tài)管理插件。

flutter_redux 。

極光推送

在國內(nèi)廠商中,極光是少有的對Flutter提供了技術(shù)支持的,這里給極光大大的。

jpush_flutter

QQ

QQ的Flutter插件提供了基本的登錄、分享功能。

flutter_qq

微信

微信的Flutter插件提供的功能稍微豐富,包含了支付、登錄、分享、啟動小程序的功能。

fluwx

事件總線Event Bus

大名鼎鼎的event_bus也提供了對Flutter的支持。

event_bus

音頻

錄音及播放音頻也有很好的支持。

audio_recorder audioplayer2

其它

其它諸如加載HTML、Toast提示、圖片選擇器、圖片加載等也有較好的插件支持。

可在 官方插件庫 查詢相關(guān)的插件。

安裝、升級

FLutter的安裝、升級會經(jīng)常遇到卡死的問題,主要原因就是使用了Google的源,但是莫名的,即使使用了科學(xué)上網(wǎng)、設(shè)置了國內(nèi)鏡像后,也會遇到同樣的問題。只能通過反復(fù)的flutter  doctor 或 flutter upgrade直到解決問題。

開發(fā)

由于筆者最近一段時間Android項目做得較多,習(xí)慣了Android的XML布局方式,對于在代碼中編寫頁面的形式一開始還有些不習(xí)慣,但是在按照官方例子實踐了幾個頁面后,用代碼寫頁面的優(yōu)勢就體現(xiàn)出來了。

在頁面已經(jīng)設(shè)計好的情況下,開發(fā)的時候腦海中就構(gòu)思出一個Widget樹,從根節(jié)點到每一個節(jié)點一級一級嵌套下去,自然而然的布局就寫好了。

Dialog彈出框

使用Dialog的時候,彈出Dialog的Context及Dialog本身都會壓入棧中,所以讓Dialog消失的方法是Navigator.of(ctx).pop(),這樣的設(shè)計既不同于Android也不同于iOS,也許跟Flutter本身所有元素都是Widget的設(shè)計有關(guān)。

編譯

在編譯Android版本的時候很順暢,沒有遇到任何問題。但是在編譯iOS版本的時候,遇到了很多問題,直到現(xiàn)在也沒有解決。

問題在于使用了audio_recorder和flutter_qq兩個插件,而這兩個插件一個要求編譯選項需要設(shè)置!use_framework,一個要求不能設(shè)置,造成了沖突,在實際編譯中一直編譯不通過。

感謝各位的閱讀,以上就是“Flutter的開發(fā)方法是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Flutter的開發(fā)方法是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

分享文章:Flutter的開發(fā)方法是什么
轉(zhuǎn)載源于:http://bm7419.com/article40/pcisho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、網(wǎng)站排名、移動網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)、企業(yè)建站、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁設(shè)計公司