App下載

一款新的APP開發(fā)框架--Flutter

猿友 2020-08-06 13:57:11 瀏覽數(shù) (5599)
反饋

由于物聯(lián)網(wǎng)的快速發(fā)展,新的APP開發(fā)熱潮正在到來(lái),谷歌、華為這些公司正在重新定義移動(dòng)開發(fā)框架,而Flutter就是可選擇之一。不敢說(shuō)Flutter一定是移動(dòng)技術(shù)的未來(lái),但一定代表了移動(dòng)技術(shù)的發(fā)展方向。

一、Flutter是什么

FlutterGoogle 于 2015 年 5 月 3 日推出的免費(fèi)開源跨平臺(tái)開發(fā)框架,可以快速在iOSAndroid上構(gòu)建高質(zhì)量的原生用戶界面。Flutter旨在幫助開發(fā)者使用一套代碼開發(fā)高性能、高穩(wěn)定性、高幀率、低延遲的AndroidiOS應(yīng)用。Flutter使用的是 Google 自己開發(fā)的網(wǎng)絡(luò)編程語(yǔ)言——Dart語(yǔ)言

Flutter 的發(fā)展

二、Flutter 的發(fā)展

2015年 05 月Flutter的第一個(gè)版本“Sky”在Dart開發(fā)者峰會(huì)上亮相;

2018年02月27日在世界移動(dòng)大會(huì) (MWC)上宣布了第一個(gè) Beta 版發(fā)布;

2018年03月06日Beta 2版本發(fā)布;

2018年12月05日谷歌發(fā)布 Flutter 1.0 正式版;

2019年9月谷歌發(fā)布Flutter 1.9。

目前很多大公司、開發(fā)者紛紛轉(zhuǎn)型使用和學(xué)習(xí) Flutter 進(jìn)行跨平臺(tái)應(yīng)用的開發(fā)。全世界已經(jīng)有多個(gè)公司開始使用 Flutter 來(lái)開發(fā)應(yīng)用,包括 Abbey Road Studios、阿里巴巴、Capital One、Groupon、Hamilton、京東、Philips Hue、Reflectly 以及騰訊等。Flutter 1.9于 2019 年 9月發(fā)布,這樣的更新頻率給開發(fā)者和公司增加了動(dòng)力,Flutter 勢(shì)必將成為未來(lái)跨平臺(tái)開發(fā)主流趨勢(shì)。

使用Flutter的公司

三、Flutter框架特性

快速開發(fā)

Flutter的熱重載能力幫助開發(fā)者快捷方便的試驗(yàn)、重構(gòu)UI、添加特性和修復(fù)bug。在仿真器、模擬器、ios、android硬件上體驗(yàn)亞秒級(jí)的重載,而不會(huì)丟失狀態(tài)。

跨平臺(tái)

Flutter基于圖像繪制引擎進(jìn)行渲染,在不同平臺(tái)下繪制效果絕對(duì)一致,能做到真正的跨平臺(tái)。

絢麗UI

通過Flutter內(nèi)建的、漂亮的、有質(zhì)感設(shè)計(jì)的Cupertino(ios-flavor)小工具、豐富的動(dòng)畫API,平滑的自然滾動(dòng)和平臺(tái)感知,讓用戶感受UI設(shè)計(jì)的快樂。

響應(yīng)式

通過Flutter的現(xiàn)代響應(yīng)式(Reactive)框架、豐富的平臺(tái)布局、基礎(chǔ)組件,能夠輕松的構(gòu)建用戶界面。使用強(qiáng)大而靈活的API解決2D、動(dòng)畫、手勢(shì)、效果等難題。

訪問原生功能

通過平臺(tái)api、第三方sdk原生代碼,使應(yīng)用變得生動(dòng)。Flutter可以重用現(xiàn)有的java、swiftObjc代碼,并在iOSAndroid上訪問原生特性和SDK。

四、目前各種跨平臺(tái)方案的對(duì)比

開發(fā)APP應(yīng)用,如需要同時(shí)兼容iOSAndroid兩種平臺(tái),有兩種技術(shù)選擇:

1、走原生開發(fā)路線,把界面和邏輯在不同平臺(tái)分別實(shí)現(xiàn);

2、用同一套代碼兼容多個(gè)平臺(tái),但這往往意味著運(yùn)行速度和產(chǎn)品體驗(yàn)的損失。

除了原生外,目前跨平臺(tái)技術(shù)一般是混合開發(fā),如采用 H5React Native、Weex、小程序等技術(shù)實(shí)現(xiàn)跨平臺(tái)應(yīng)用。不過這些混合開發(fā),或多或少都能感覺到UI卡頓和體驗(yàn)不流暢,并且開發(fā)和學(xué)習(xí)成本非常高,有各自的局限性。

Flutter的出現(xiàn),為開發(fā)者提供了一套兩全其美的解決方案:既能用原生代碼直接調(diào)用的方式來(lái)加速圖形渲染和 UI 繪制,又能同時(shí)運(yùn)行在兩大主流移動(dòng)操作系統(tǒng)上,并且體驗(yàn)和流暢度和原生基本一致、開發(fā)效率非常高、學(xué)習(xí)難度和成本低。

跨平臺(tái)方案的對(duì)比

從上面的對(duì)比可以看出,Flutter 優(yōu)勢(shì)明顯:高體驗(yàn)度、高開發(fā)效率、低學(xué)習(xí)成本、高可擴(kuò)展性。未來(lái) Google Flutter團(tuán)隊(duì)還將會(huì)使 Flutter 支持 PCWeb 的跨平臺(tái)開發(fā),實(shí)現(xiàn)真正全平臺(tái)。 針對(duì)Flutter的跨平臺(tái)特性,與react native、weex做對(duì)比可以發(fā)現(xiàn),其性能碾壓后兩者,采用自帶Skia繪制引擎,性能堪比原生。

以上就是關(guān)于Flutter的一些介紹了,對(duì)Flutter感興趣的同學(xué)可以看一下教程:

0 人點(diǎn)贊