Flutter教程(一)Flutter概覽

Flutter官網(wǎng)點擊訪問
Flutter教程(一)Flutter概覽
Flutter教程(二)Flutter安裝及運行
Flutter如何引用第三方庫并使用

作為2018世界移動大會的內(nèi)容之一蝴韭,Google發(fā)布了Flutter的第一個 beta 版本坏为。Flutter 是 Google 用以幫助開發(fā)者在 iOS 和 Android 兩個平臺開發(fā)高質(zhì)量的原生應用的全新移動 UI 框架。現(xiàn)在就可以去 flutter.io快速上手開發(fā)精美的原生應用。

首先我們要理解什么是跨平臺。

什么是跨平臺?如果你是移動開發(fā)者的話,應該知道 Android 是使用 Java\Kotlin 語言來開發(fā)而 iOS 則是 OC\Swift來開發(fā)。各大科技圈大佬們都在絞盡腦汁的想統(tǒng)一這兩個平臺聊品,無論 Android 還是 iOS 都是移動端,若能統(tǒng)一用一套語言開發(fā)應用那最好不過的几苍。這也正是跨平臺的意思翻屈,簡單的說就是你寫的同一套代碼可以運行在不同的平臺。不僅能夠大大加快開發(fā)的進度妻坝,同時也能減少人力成本的投入伸眶。

Flutter就是在這種理念中誕生出的跨平臺框架。

Flutter 的目標是解決移動開發(fā)中的兩個重要問題

  1. 實現(xiàn)原生應用的性能和與平臺的集成
  2. 提供一個多平臺刽宪,可移植的 UI 工具包來支持高效的應用開發(fā)厘贼。

Flutter與ReactNative的區(qū)別?

一個是 Facebook 推出兩年多的 ReactNative 圣拄,另一個則是 Google 這種頂級科技公司的產(chǎn)品Flutter嘴秸。那么它們有什么區(qū)別呢?

看過ReactNative源碼的朋友都應該知道庇谆,RN中的組件都繼承自Native View組件岳掐。例如:ReactNative 中的 ListView 在 Android 中就是繼承自 ListView ,還有 RecycleView饭耳。

而Flutter則不同串述,它的所有 UI 組件都是一幀一幀畫出來的。這樣能夠很準確并且很靈活的做出你想要的 UI 寞肖。

Flutter 使用 Dart語言開發(fā)而 ReactNative 則使用 JS 結(jié)合 XML 來開發(fā)的纲酗。

估計說道Dart語言,很多朋友都不知道新蟆。其實觅赊,我也是剛剛知道。琼稻。吮螺。

下面就說道說道Dart語言。

基于Dart語言開發(fā)的Flutter框架

dart語言是由谷歌公司開發(fā)的網(wǎng)絡(luò)編程語言,于2011年10月10日發(fā)布规脸。谷歌2010年內(nèi)部備忘錄顯示坯约,Dart的目標就是要代替JavaScript網(wǎng)絡(luò)開發(fā)通用語言的地位熊咽。

然而莫鸭,那么多年過去了。横殴。被因。今天卻以這種方式出現(xiàn)

先來看段代碼

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
      body: new Center(
        child: new Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            new Text(
              'You have pushed the button this many times:',
            ),
            new Text(
              '$_counter',
              style: Theme.of(context).textTheme.display1,
            ),
            new Image.network(
              'https://raw.githubusercontent.com/flutter/website/master/_includes/code/layout/lakes/images/lake.jpg',
            )
          ],
        ),
      ),
      persistentFooterButtons: <Widget>[new FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: new Icon(Icons.add),
      ) ]
      ,
      floatingActionButton: new FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: new Icon(Icons.add),
      ), // This trailing comma makes auto-formatting nicer for build methods.

    );
  }
}

是不是還在各種括號和嵌套中魂牽夢繞呢?

直觀感受就是沒有RN寫起來那么簡潔明了衫仑。

在知乎上看到的一個真實的段子

為什么Flutter 用 Dart 開發(fā)在會后梨与,我也主動的去找 Flutter 的開發(fā)專家 Divod 聊了會。我問到他一個問題文狱,我說為什么你們會選擇用 Dart 語言來開發(fā)而不選擇用XML 和 JS 粥鞋,從剛才您的代碼示例上我的第一感覺就是沒有 ReactNative 的可讀性高。大家也許覺得我太大膽瞄崇,在 Google 的場子提 Facebook 的東西呻粹。但技術(shù)畢竟是技術(shù),程序員何苦為難程序員苏研,這是一場技術(shù)的交流等浊。最后,他也給了我一個滿意和無力反駁的答案摹蘑,“因為 Dart 的開發(fā)團隊就在他們旁邊筹燕,他們能給到我們很快的支持。我們能很快溝通到”衅鹿。所以我也就默認了 Flutter 注定會一直使用 Dart 這門語言撒踪。

Flutter的優(yōu)點

  1. 跨平臺的優(yōu)點不必多說
  2. Flutter默認Meteria UI,開發(fā)起來賊溜
  3. hot reload的開發(fā)模式非常方便大渤,基本上做到實時查看改變的UI
  4. 將來發(fā)布的 Fuchsia OS 就欽定了 Flutter 作為 UI Toolkit
  5. 從性能上來講糠涛,F(xiàn)lutter是加分的。

Flutter的缺點

  1. 使用Dart開發(fā)容易造火箭??
  2. 目前處于beta版本兼犯,商業(yè)化的話還需要再等等忍捡。。切黔。鬼知道什么時候
  3. 對于IOS UIKit來說砸脊,F(xiàn)lutter Meterial Design還不能取代之,只能作為一種補充。
  4. 在Android 平臺上纬霞,一個架構(gòu)的SO居然要7M左右凌埂,簡直不能忍。

對于Flutter我還是持樂觀態(tài)度的诗芜,但是就看Google努力否了瞳抓。如果能像Tensorflow或者Golang那樣流行就好了埃疫。想玩的童鞋可以持續(xù)關(guān)注Flutter的動向,如果想要運用到商業(yè)項目上還是等等吧孩哑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末栓霜,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子横蜒,更是在濱河造成了極大的恐慌胳蛮,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件丛晌,死亡現(xiàn)場離奇詭異仅炊,居然都是意外死亡,警方通過查閱死者的電腦和手機澎蛛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門抚垄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谋逻,你說我怎么就攤上這事呆馁。” “怎么了斤贰?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵智哀,是天一觀的道長。 經(jīng)常有香客問我荧恍,道長瓷叫,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任送巡,我火速辦了婚禮摹菠,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骗爆。我一直安慰自己次氨,他們只是感情好,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布摘投。 她就那樣靜靜地躺著煮寡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪犀呼。 梳的紋絲不亂的頭發(fā)上幸撕,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天,我揣著相機與錄音外臂,去河邊找鬼坐儿。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的貌矿。 我是一名探鬼主播炭菌,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼逛漫!你這毒婦竟也來了黑低?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤尽楔,失蹤者是張志新(化名)和其女友劉穎投储,沒想到半個月后第练,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體阔馋,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年娇掏,在試婚紗的時候發(fā)現(xiàn)自己被綠了呕寝。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡婴梧,死狀恐怖下梢,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情塞蹭,我是刑警寧澤孽江,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站番电,受9級特大地震影響岗屏,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜漱办,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一这刷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧娩井,春花似錦暇屋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至扬霜,卻和暖如春定鸟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背畜挥。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工仔粥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓躯泰,卻偏偏與公主長得像谭羔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子麦向,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

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

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,498評論 25 707
  • 譯者丨覃云 Flutter 是什么诵竭? Flutter 移動應用程序 SDK 是為開發(fā)人員提供一種創(chuàng)建快捷话告、美觀的應...
    言射手閱讀 7,806評論 1 14
  • 本文是 Piasy 原創(chuàng),發(fā)表于 https://blog.piasy.com卵慰,請閱讀原文支持原創(chuàng) https:/...
    cowboy3000閱讀 1,413評論 0 1
  • 風吹戀草無聲 溪水高山常伴 越遠離的越想靠近 越靠近的越想遠離 人生很多時候不是鐘擺上的來回不定 而是渴求一個合適...
    郁衡子閱讀 672評論 0 1
  • 我一直都認為,小的時候的我鲤嫡,比起同齡人送挑,是極其幸福的。不是物質(zhì)上有多么的富足暖眼,而是收獲了難忘的快樂惕耕。 我的家住在一...
    新新小巫閱讀 293評論 0 0