最近晚唇,學(xué)習(xí)了一些 Flutter
相關(guān)的知識,做了如下的小移動應(yīng)用夸盟,當(dāng)然是一套代碼即可在 iOS
平臺運行,也可以在 Android
運行萤衰。
下面我將手拉手帶您快速構(gòu)建出漂亮的移動應(yīng)用界面(如下??小視頻)
此處有視頻,請移步到我的博客
初識 Flutter
Flutter 是谷歌的移動UI框架坏瞄,可以快速在iOS和Android上構(gòu)建高質(zhì)量的原生用戶界面桂对。
Google 推出 Flutter 移動應(yīng)用框架已經(jīng)有三年,直到今年的 Google I/O 開發(fā)大會才正式介紹 Flutter
且發(fā)布 Beta 版本, Flutter Google I/O 視頻 這個是 Flutter
在油管(YouTube)的 Google I/O 開發(fā)者大會的視頻惦积,請自行觀看接校。
再來看看更加生動的視頻介紹,加速您的初識 Flutter
此處有視頻狮崩,請移步到我的博客
Google 的廣告應(yīng)用 Adwords蛛勉,阿里的閑魚 App 都是基于 Flutter
框架開發(fā)的。
以下是阿里巴巴用 Flutter 打造了5000多萬用戶閑魚 App (Flutter Developer Story) 的故事視頻
此處有視頻睦柴,請移步到我的博客
Flutter
作為谷歌推出的跨平臺開發(fā)框架诽凌,一經(jīng)推出便吸引了不少注意,在 GitHub 上的 Star 數(shù)已超過 4W+ 。
CMTC全球大前端技術(shù)大會 ㄧ Flutter視頻 這是 Google中國在 bilibili 上發(fā)布的視頻坦敌,請自行觀看侣诵。
Flutter 特性
通過以上的視頻,對于 Flutter
已有所認(rèn)識狱窘,下面再來看看 Flutter
的以下特性
熱重載
當(dāng)你修改了代碼 ? - S
杜顺,可立刻看到效果,而且可以保持界面狀態(tài)不變(如文本框輸入的信息不會改變)蘸炸,如圖:
設(shè)計
Flutter
自帶 Google 推行的設(shè)計系統(tǒng):Material Design 躬络,它提供了豐富的 Material Design 風(fēng)格的組件(比如:按鈕、輸入框搭儒、對話框穷当、導(dǎo)航欄、邊欄等)淹禾,而且也提供了豐富的 iOS(Cupertino) 風(fēng)格的組件馁菜,利用這些風(fēng)格的組件能夠快速的構(gòu)建應(yīng)用,如圖
widget
widget 是 Flutter
應(yīng)用程序基本構(gòu)建塊, Flutter
既不使用 WebView铃岔,也不使用操作系統(tǒng)的原生控件汪疮,相反 Flutter
使用自己的高性能渲染引擎來繪制widget , Flutter
的中心思想是用 widget 構(gòu)建你的 UI(一切皆為 widget) ,如圖是官網(wǎng)給出的框架圖:
在這個架構(gòu)里铲咨,你可以實現(xiàn) Flutter
提供的所有現(xiàn)成的 widget 躲胳,也可以創(chuàng)建自己定制的 widget 蜓洪,每個 widget 都是公開的纤勒,你可以從高層次且統(tǒng)一的 widget 中獲得開發(fā)效率優(yōu)勢,這個設(shè)計的目標(biāo)是為了用更少的代碼做更多的事情隆檀。
語言
Flutter
使用 C摇天、C ++、Dart 和 Skia(2D渲染引擎)技術(shù)構(gòu)建恐仑,如上圖泉坐,底層(engine)是用 C ++ ,框架是用 Dart 裳仆,當(dāng)然我們開發(fā)使用的也是 Dart腕让。
Dart 是 Google 發(fā)布的一種高效、簡潔歧斟、擁有完整類型系統(tǒng)的 結(jié)構(gòu)化的Web編程
語言纯丸, Flutter
官方給出為什么選擇 Dart 作為開發(fā)語言的原因,如下
- 開發(fā)人員的效率
- 面向?qū)ο?/li>
- 可預(yù)測静袖,高性能
- 快速內(nèi)存分配
對于開發(fā)者(語言使用者)來說觉鼻,不必太擔(dān)心,Dart 和 Java 队橙、 JavaScript 比較類似坠陈,有一些程序語言基礎(chǔ)髓废,便可拿來即用(不清楚的看看語法毅访、關(guān)鍵字、類型即可)拍棕。
現(xiàn)在想必您對 Flutter
已經(jīng)有了一定的認(rèn)識解总,在之后的篇幅了會手拉手帶你極速構(gòu)如文頭小視頻的小應(yīng)用贮匕。