Flutter介紹 - Flutter,H5,React Native之間的對比

Flutter介紹

Flutter是Google推出的開源移動應用開發(fā)框架。開發(fā)者可以通過開發(fā)一套代碼同時運行在iOS和Android平臺澡屡。

它使用Dart語言進行開發(fā),并且最終編譯成各個平臺的Native代碼,這樣既保證了開發(fā)效率杆烁,也保證了各個平臺的運行效率陪竿。其相當于從頭到尾重寫了一套UI框架禽翼,不依賴具體平臺的組件。其所有的組件都是"Widget"族跛。渲染引擎則依靠高效渲染庫Skia實現(xiàn)闰挡。

下面我們對比一下H5、React Native礁哄、Flutter這些跨平臺的解決方案长酗。

移動端的跨平臺技術

H5技術

常被人提起的H5技術,其實就是網(wǎng)頁+JavaScript桐绒。比如目前的一些流行的JS框架Vue夺脾,React,AngularJS等都是為了構建網(wǎng)頁茉继。針對移動端構建出來的網(wǎng)頁可以實現(xiàn)在跨平臺的功能咧叭,但是其缺點也很明顯:

  • 渲染效率低下,用戶體驗差烁竭。很多H5在iOS平臺表現(xiàn)尚可菲茬,但是在Android上特別是一些低端機上的表現(xiàn)確實讓人不敢恭維。
  • 網(wǎng)頁調(diào)用設備硬件相關API比較困難派撕,而且支持的功能較少婉弹,實現(xiàn)此類需求是H5的短板。

React Native

React Native(RN)發(fā)布于2015年腥刹,也是使用JavaScript語言進行跨平臺APP的開發(fā)马胧。與H5開發(fā)不同的是,它使用JS橋接技術在運行時編譯成各個平臺的Native代碼衔峰,其使用的技術Facebook的Flux技術佩脊。
其優(yōu)點是目前的生態(tài)比較成熟蛙粘,目前也有很多跨平臺應用使用React Native。它也是跟Flutter對比的主要對象威彰。
其特點是:

  • 使用JavaScript語言出牧,由于JS被廣泛地使用,所以RN也很容易被接受歇盼。
  • RN依賴JS的運行時環(huán)境舔痕,也就是JS橋接技術。其使用Facebook的Flux架構豹缀。
  • RN僅提供了UI渲染和設備訪問的API伯复,很多功能必須依賴第三方庫來實現(xiàn)對本地組件的使用。
  • 生態(tài)目前比較完善邢笙,使用的公司也比較多啸如,特別是對JS比較熟悉的同學容易上手。
  • 支持熱部署氮惯,開發(fā)過程中可以節(jié)約很多時間叮雳。

但是它也并不是完美的:

  • 它的渲染方式還是調(diào)用各個平臺的原生控件,有時需要針對不同的平臺做不同的優(yōu)化妇汗。
  • 其性能相對于H5有很大的提高帘不,但是并沒有完美解決,白屏杨箭,丟幀問題依然存在寞焙。

Flutter

Flutter也看到了目前的跨平臺解決方案并不完美,所以它借鑒了React Native的一些思想互婿,做出了很大的優(yōu)化棺弊。它將代碼編譯成原生代碼,并且直接在各個平臺中使用其高效渲染引擎Skia進行渲染擒悬,沒有橋接,不調(diào)用平臺相關控件稻艰。

這種設計思想完美解決了不同平臺的性能問題懂牧。

歸功于其設計思想,我們可以真正實現(xiàn)一套代碼尊勿,運行不同的平臺僧凤。在其推出之后,關注的開發(fā)者數(shù)量和相關的教程的增長速度遠超當時的React Native元扔。

其特點包括:

  • 使用Google自主開發(fā)的Dart語言躯保。Dart語言是一個強類型的語言,很好地支持面向?qū)ο笈煊铮⑶乙子趯W習和使用途事。
  • 使用谷歌自己的Skia渲染引擎验懊,Android自帶Skia引擎,iOS平臺上Flutter也會把Skia引擎打包到APP中尸变,實現(xiàn)高效渲染义图。
  • 目前有非常豐富的視圖組件,可以點擊這里查看其組件目錄召烂,包括Android上常用的材料設計(Material Design)的UI風格碱工,和iOS風格(Cupertino)。由于其渲染不依賴各平臺相關組件奏夫,所以運行在不同平臺上的效果是一致的怕篷。
  • 同樣支持熱部署,開發(fā)時可以像網(wǎng)頁開發(fā)一樣實時看到效果酗昼。

目前它存在的一些問題是:

  • 國內(nèi)學習資源目前并不豐富廊谓,使用Flutter的公司也比較少。
  • 相關的生態(tài)還沒有React Native那樣豐富仔雷,但是其發(fā)展速度大大超過了React Native蹂析。

總結

雖然Flutter目前并不是非常流行,但是筆者相信它是跨平臺解決方案的未來碟婆。
如果谷歌的新系統(tǒng)Fuchsia OS能像當今的Android這樣如日中天电抚,甚至替代掉Android的話,F(xiàn)lutter的發(fā)展也會迎來它的頂峰竖共。

本系列博客我們就來深入學習和探討使用Flutter蝙叛。

后面的文章我們會逐步深入學習Flutter的功能與實戰(zhàn)。
我的博客中關于Flutter的所有文章可以點擊這里找到公给,歡迎關注借帘!

如果有問題可以留言,或者給我發(fā)郵件lloyd@examplecode.cn淌铐,期待我們共同學習與成長肺然!

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腿准,隨后出現(xiàn)的幾起案子际起,更是在濱河造成了極大的恐慌,老刑警劉巖吐葱,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件街望,死亡現(xiàn)場離奇詭異,居然都是意外死亡弟跑,警方通過查閱死者的電腦和手機灾前,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人袍冷,你說我怎么就攤上這事办素】八欤” “怎么了粘舟?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵迈倍,是天一觀的道長缝龄。 經(jīng)常有香客問我旺韭,道長础嫡,這世上最難降的妖魔是什么指么? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮榴鼎,結果婚禮上伯诬,老公的妹妹穿的比我還像新娘。我一直安慰自己巫财,他們只是感情好盗似,可當我...
    茶點故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著平项,像睡著了一般赫舒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上闽瓢,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天接癌,我揣著相機與錄音,去河邊找鬼扣讼。 笑死缺猛,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的椭符。 我是一名探鬼主播荔燎,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼销钝!你這毒婦竟也來了有咨?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蒸健,失蹤者是張志新(化名)和其女友劉穎摔吏,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體纵装,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年据某,在試婚紗的時候發(fā)現(xiàn)自己被綠了橡娄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,021評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡癣籽,死狀恐怖挽唉,靈堂內(nèi)的尸體忽然破棺而出滤祖,到底是詐尸還是另有隱情,我是刑警寧澤瓶籽,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布匠童,位于F島的核電站,受9級特大地震影響塑顺,放射性物質(zhì)發(fā)生泄漏汤求。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一严拒、第九天 我趴在偏房一處隱蔽的房頂上張望扬绪。 院中可真熱鬧,春花似錦裤唠、人聲如沸挤牛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽墓赴。三九已至,卻和暖如春航瞭,著一層夾襖步出監(jiān)牢的瞬間诫硕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工沧奴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留痘括,地道東北人。 一個月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓滔吠,卻偏偏與公主長得像纲菌,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子疮绷,可洞房花燭夜當晚...
    茶點故事閱讀 44,974評論 2 355

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

  • (一)H5、React Native只冻、Native應用對比分析 文章來源:@王利華庇麦,vczerohttp://vc...
    時茶閱讀 10,945評論 2 22
  • 隨著移動應用的需求越來越大,許多企業(yè)開始將焦點轉(zhuǎn)移到移動應用的開發(fā)上喜德。通過引入新技術山橄、新平臺和新框架,移動應用開發(fā)...
    iwakevin閱讀 19,080評論 7 14
  • 標簽(空格分隔): 移動應用 跨平臺 混和開發(fā) Flutter 移動應用跨平臺開發(fā)框架舍悯,根據(jù)其原理航棱,主要分為三類:...
    黃昭鴻閱讀 4,667評論 0 2
  • 明月灑盡人欲回睡雇, 賴以光輝暖近身, 洛城南巷聞子規(guī)饮醇。 悠悠瑾年桃花醉它抱, 玲瓏漫雪紅梅開, 掠過京門燕飛來朴艰。 著 ...
    悸遇瑾年閱讀 285評論 0 0
  • 記得那一年帶著孩子和朋友一起住在鳳凰古城观蓄,每日閑暇游逛,那一日穿過虹橋呵晚,拾級而上蜘腌,聽濤山上有沈從文的墓碑,聽...
    緣起結夏閱讀 226評論 0 0