Flutter簡介以及環(huán)境配置

App跨平臺方案

Hybrid框架

Hybrid App而克,其實就是原生應(yīng)用和Web應(yīng)用相結(jié)合惊科,一般做法就是項目中的某一部分是原生界面,一部分是Web頁面馆截,通過原生平臺的WebView去調(diào)用Web頁面蜡娶。

由于原生WebView存在一定的局限性,和Web交互起來有些問題不好處理窖张,于是出現(xiàn)了一些基于原生WebView封裝的Hybrid框架,這些框架有一個共同特點:封裝了移動端設(shè)備上最常用的本地API調(diào)用赘淮,然后以統(tǒng)一的Javascript API形式提供給Web開發(fā)者調(diào)用睦霎。這樣一來原生不能解決的問題可以用Web去處理,同時你也可以自己封裝原生API副女,做成一些插件使用。比較熱門的Hybrid框架有Ionic戴陡、Cordova沟涨、DCloud:

flutter_hybrid.png

響應(yīng)式視圖

像ReactJS或其他的響應(yīng)式編程框架已經(jīng)變得很流行了,主要是因為他們通過使用從響應(yīng)式編程中借用的編程模式來簡化 Web 視圖的創(chuàng)建過程开皿。2015 年, React Native 將響應(yīng)式視圖的許多優(yōu)勢帶給了移動應(yīng)用程序赋荆。React Native 是非常受歡迎的(這是它應(yīng)得的)懊昨,但是因為 JavaScript 訪問了原生 UI 組件,所以它也必須經(jīng)過這些“橋接器”嫉你,界面上的 UI 控件通常被頻繁地訪問(在動畫、轉(zhuǎn)化或者用戶用手指“滑動”屏幕上的某些東西時幽污,每秒被訪問高達 60 次)簿姨,因此這很可能會導致性能問題簸搞。

flutter_react.png

Flutter

和 React Native 一樣趁俊,F(xiàn)lutter 也提供響應(yīng)式的視圖,F(xiàn)lutter 采用不同的方法避免由 JavaScript 橋接器引起的性能問題寺擂,即用名為 Dart 的程序語言來編譯泼掠。Dart 是用預(yù)編譯的方式編譯多個平臺的原生代碼,這允許 Flutter 直接與平臺通信择镇,而不需要通過執(zhí)行上下文切換的 JavaScript 橋接器。編譯為原生代碼也可以加快應(yīng)用程序的啟動時間沐鼠。

flutter_frame.png

Flutter簡介

Flutter是谷歌的移動UI框架饲梭,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面。 Flutter可以與現(xiàn)有的代碼一起工作憔涉。在全世界,F(xiàn)lutter正在被越來越多的開發(fā)者和組織使用穿扳,并且Flutter是完全免費、開源的矛物。簡單來說跪但,F(xiàn)lutter是一款移動應(yīng)用程序SDK,包含框架屡久、控件和一些工具,可以用一套代碼同時構(gòu)建Android和iOS應(yīng)用被环,并且性能可以達到原生應(yīng)用一樣的性能。詳情請參考Flutter簡介 筛欢。

  • 快速開發(fā):毫秒級的熱重載唇聘,修改后雳灾,您的應(yīng)用界面會立即更新漠酿。使用豐富的、完全可定制的widget在幾分鐘內(nèi)構(gòu)建原生界面宇姚。
  • 富有表現(xiàn)力和靈活的UI:快速發(fā)布聚焦于原生體驗的功能夫凸。分層的架構(gòu)允許您完全自定義,從而實現(xiàn)難以置信的快速渲染和富有表現(xiàn)力夭拌、靈活的設(shè)計。
  • 原生性能:Flutter包含了許多核心的widget蒜绽,如滾動、導航躲雅、圖標和字體等骡和,這些都可以在iOS和Android上達到原生應(yīng)用一樣的性能。

環(huán)境搭建

這里僅以在Mac下搭建為例慰于,在其它系統(tǒng)上配置環(huán)境請參考flutter 官網(wǎng)

獲取Flutter SDK

  1. 去flutter官網(wǎng)下載其最新可用的安裝包,轉(zhuǎn)到下載頁 绵脯。

    注意页藻,F(xiàn)lutter的渠道版本會不停變動,請以Flutter官網(wǎng)為準份帐。另外,在中國大陸地區(qū)畜挨,要想正常獲取安裝包列表或下載安裝包筒繁,可能需要翻墻毡咏,讀者也可以去Flutter github項目下去下載安裝包逮刨,轉(zhuǎn)到下載頁

  2. 解壓安裝包到你想安裝的目錄修己,如:

    cd ~/development
    unzip ~/Downloads/flutter_macos_v0.5.1-beta.zip
    
  3. 添加flutter相關(guān)工具到path中:

    export PATH=`pwd`/flutter/bin:$PATH
    

由于一些flutter命令需要聯(lián)網(wǎng)獲取數(shù)據(jù),如果您是在國內(nèi)訪問片仿,直接訪問很可能不會成功尤辱。可以使用以下鏡像

export PUB_HOSTED_URL=https://pub.flutter-io.cn
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn

注意: 此鏡像為臨時鏡像光督,并不能保證一直可用,可以參考詳情請參考 Using Flutter in China 以獲得有關(guān)鏡像服務(wù)器的最新動態(tài)娄涩。

更新環(huán)境變量

您在命令行只能更新當前會話的PATH變量,如Clone Flutter repo所示凭需。 但是亿鲜,您可能需要的是永久更新此變量,以便您可以運行flutter命令在任何終端會話中歼争。

對于所有終端會話永久修改此變量的步驟是和特定計算機系統(tǒng)相關(guān)的阅束。通常,您會在打開新窗口時將設(shè)置環(huán)境變量的命令添加到執(zhí)行的文件中张惹。例如

  1. 確定您Flutter SDK的目錄岭洲,您將在步驟3中用到。
  2. 打開(或創(chuàng)建) $HOME/.bash_profile. 文件路徑和文件名可能在您的機器上不同.
  3. 添加以下行并更改[PATH_TO_FLUTTER_GIT_DIRECTORY]為克隆Flutter的git repo的路徑:
export PUB_HOSTED_URL=https://pub.flutter-io.cn //國內(nèi)用戶需要設(shè)置
export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn //國內(nèi)用戶需要設(shè)置
export PATH=PATH_TO_FLUTTER_GIT_DIRECTORY/flutter/bin:$PATH

注意:PATH_TO_FLUTTER_GIT_DIRECTORY 為你flutter的路徑雷激,比如“~/document/code”

 export PATH=~/document/code/flutter/bin:$PATH
  1. 運行 source $HOME/.bash_profile 刷新當前終端窗口.

注意: 如果你使用的是zsh替蔬,終端啟動時 ~/.bash_profile 將不會被加載承桥,解決辦法就是修改 ~/.zshrc ,在其中添加:source ~/.bash_profile

  1. 通過運行flutter/bin命令驗證目錄是否在已經(jīng)在PATH中:
echo $PATH

安裝iOS環(huán)境以及Android環(huán)境

安裝Xcode以及Android Studio凶异,詳情參考平臺配置

檢查flutter環(huán)境

以上步驟完成之后,運行flutter doctor檢查環(huán)境是否配置成功

flutter_doctor.png

遇到任何的錯誤唠帝,請按照命令行提示執(zhí)行

運行flutter

通過flutter create myapp命令創(chuàng)建一個flutter 初始項目玄柏,通過命令行進入該項目cd myapp贴铜,連接好手機設(shè)備之后,通過flutter run命令運行app

flutter create myapp
cd myapp
flutter run

運行成功之后徘意,可以在app中看到如下頁面,通過修改lib/main.dart文件來創(chuàng)建自己的應(yīng)用

flutter_hello.gif

參考資料

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末勤讽,一起剝皮案震驚了整個濱河市拗踢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌巢墅,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,561評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驯遇,死亡現(xiàn)場離奇詭異蓄髓,居然都是意外死亡,警方通過查閱死者的電腦和手機双吆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評論 3 385
  • 文/潘曉璐 我一進店門会前,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓦宜,“玉大人,你說我怎么就攤上這事临庇£腔牛” “怎么了?”我有些...
    開封第一講書人閱讀 157,162評論 0 348
  • 文/不壞的土叔 我叫張陵已卷,是天一觀的道長。 經(jīng)常有香客問我侧蘸,道長,這世上最難降的妖魔是什么讳癌? 我笑而不...
    開封第一講書人閱讀 56,470評論 1 283
  • 正文 為了忘掉前任存皂,我火速辦了婚禮,結(jié)果婚禮上骤菠,老公的妹妹穿的比我還像新娘。我一直安慰自己娩怎,他們只是感情好,可當我...
    茶點故事閱讀 65,550評論 6 385
  • 文/花漫 我一把揭開白布截亦。 她就那樣靜靜地躺著柬讨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪却桶。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,806評論 1 290
  • 那天嗅剖,我揣著相機與錄音,去河邊找鬼信粮。 笑死,一個胖子當著我的面吹牛强缘,可吹牛的內(nèi)容都是我干的不傅。 我是一名探鬼主播,決...
    沈念sama閱讀 38,951評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼访娶,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了称龙?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痴柔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豪嚎,經(jīng)...
    沈念sama閱讀 44,166評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡谈火,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,510評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了扔字。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,643評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡革为,死狀恐怖舵鳞,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤博其,帶...
    沈念sama閱讀 34,306評論 4 330
  • 正文 年R本政府宣布迂猴,位于F島的核電站,受9級特大地震影響错忱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜以清,卻給世界環(huán)境...
    茶點故事閱讀 39,930評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望眉孩。 院中可真熱鬧,春花似錦浪汪、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至至非,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間荒椭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評論 1 266
  • 我被黑心中介騙來泰國打工狸棍, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人隔缀。 一個月前我還...
    沈念sama閱讀 46,351評論 2 360
  • 正文 我出身青樓傍菇,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子牵触,可洞房花燭夜當晚...
    茶點故事閱讀 43,509評論 2 348

推薦閱讀更多精彩內(nèi)容