十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
網(wǎng)站:

鐵嶺縣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
Flutter官網(wǎng)
國(guó)內(nèi)Flutter中文資源網(wǎng)
Flutter中文網(wǎng)
Dart官網(wǎng)
Dart中文網(wǎng)
第三方包官網(wǎng)
國(guó)內(nèi)第三方包官網(wǎng)
必讀書籍:
《Dart語言實(shí)戰(zhàn):基于Angular框架的Web開發(fā)》
《Flutter實(shí)戰(zhàn)》
前端最火熱的話題無法就是flutter,不管是刷哪個(gè)論壇,必定有探討flutter的文章。沒用過flutter,但是對(duì)于跨平臺(tái)的技術(shù),我一直都在研究。
為什么是uni-app
之前一直在找解決跨平臺(tái)的方案,嘗試了很多方案,比如滴滴的變色龍,但是最終還是選擇了uni-app,這里附上uni-app的官網(wǎng)。為什么會(huì)選擇它呢,第一,vue語法,學(xué)習(xí)成本低,上手速度快,只要之前你做過vue的項(xiàng)目,那么就能很快上手,其實(shí)是vue和微信小程序的結(jié)合體,一半vue,一半微信小程序。第二,長(zhǎng)期維護(hù),之前做微信小程序的時(shí)候,選擇了美團(tuán)的mpvue,但是后面發(fā)現(xiàn)長(zhǎng)期不維護(hù)了,提了Issues也沒人理,隨之就放棄了,而uni-app長(zhǎng)期在維護(hù),這樣看出了開發(fā)團(tuán)隊(duì)的用心。第三,跨平臺(tái)的能力,uni-app能夠跨多個(gè)終端,H5,安卓,Ios,微信小程序,百度小程序,頭條小程序,支付寶小程序,真正實(shí)現(xiàn)了一套代碼,多端運(yùn)行,而且很好適應(yīng)了我國(guó)的市場(chǎng)。第四,日益豐富的插件市場(chǎng),uni的插件市場(chǎng)也在日益強(qiáng)大,能夠基本上滿足我們平時(shí)的開發(fā)需求。
uni-app的組件有原生調(diào)用能力,第三方的vue庫(kù)在調(diào)原生接口時(shí)跟 5+runtime 不兼容。就像nativescript 有vue版和angular版,類似于react native , 都是起源于phonegap/cordova
實(shí)際開發(fā)效果遵義小紅椒 做了一款app,打包了安卓,Ios,微信小程序3個(gè)平臺(tái),產(chǎn)出的效果都還是不錯(cuò),總體還是比較滿意。而且打包過程也很方便簡(jiǎn)單,配套的HBuilderX自動(dòng)內(nèi)置了打包功能,所以也省去了打包的煩惱。
遵義小紅椒 建議
如果你現(xiàn)在想做一款跨平臺(tái)的產(chǎn)品,而且有vue和微信小程序的經(jīng)驗(yàn),最重要的,你不想學(xué)習(xí)一門新語言,那么uni-app也許是你的一個(gè)選擇。
使用這個(gè)版本的GetX寫了Demo之后,發(fā)現(xiàn)有幾個(gè)問題:
感覺不太像是穩(wěn)定版本,存在一些比較明顯的問題;而且2.0.6到2.0.7只是一個(gè)小版本,全局狀態(tài)管理邏輯似乎就有比較大的改動(dòng)。
不支持響應(yīng)式編程,這個(gè)版本的狀態(tài)管理還是基于state的邏輯;因?yàn)橄胍容^高效的解耦頁(yè)面和邏輯,可能需要搭配響應(yīng)式編程框架。
相關(guān)功能可能比較少,沒有最新版本的功能那么全面。
Flutter是Google開源的構(gòu)建用戶界面(UI)工具包,幫助開發(fā)者通過一套代碼庫(kù)高效構(gòu)建多平臺(tái)精美應(yīng)用,支持移動(dòng)、Web、桌面和嵌入式平臺(tái)。
Flutter 開源、免費(fèi),擁有寬松的開源協(xié)議,適合商業(yè)項(xiàng)目。Flutter已推出穩(wěn)定的2.0版本。
產(chǎn)生背景:
Flutter可以方便的加入現(xiàn)有的工程中。在全世界,F(xiàn)lutter 正在被越來越多的開發(fā)者和組織使用,并且 Flutter是完全免費(fèi)、開源的。它也是構(gòu)建未來的 Google Fuchsia 應(yīng)用的主要方式。
Flutter組件采用現(xiàn)代響應(yīng)式框架構(gòu)建,這是從React中獲得的靈感,中心思想是用組件(widget)構(gòu)建你的UI。
組件描述了在給定其當(dāng)前配置和狀態(tài)時(shí)他們顯示的樣子。當(dāng)組件狀態(tài)改變,組件會(huì)重構(gòu)它的描述(description),F(xiàn)lutter 會(huì)對(duì)比之前的描述, 以確定底層渲染樹從當(dāng)前狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需要的最小更改。
Flutter是谷歌公司推出的跨終端的開發(fā)框架,支持Android、iOS和WEB終端。1.0版在2018年12月5日發(fā)布,目前的最新版本是1.5,它采用的開發(fā)語言是Dart,Dart也是谷歌開發(fā)的計(jì)算機(jī)編程語言,語法類似C,是編譯型語言:
hello world例子,打印字符串“Hello World!”:
1、沒有橋接層
React Native、Weex等技術(shù)都是跨終端的框架,然而性能跟原生App存在很大差距。這是由于它們的工作原理決定的:
React Native、Weex等技術(shù)多了一個(gè)橋接層,所以界面渲染會(huì)慢一些,由于UI渲染非常頻繁,想要不卡頓,基本上比較難,性能和用戶體驗(yàn)跟原生代碼有差距。而這恰恰是Flutter的優(yōu)勢(shì)所在:
Dart可以被編譯成不同平臺(tái)的本地代碼,讓Flutter不通過橋接層直接跟平臺(tái)通信,自然性能會(huì)快一些。
2、編譯執(zhí)行
JavaScript是解釋執(zhí)行的,Dart是編譯執(zhí)行的,性能誰好一目了然。
3、Flutter Engine虛擬機(jī)
Flutter是依靠Flutter Engine虛擬機(jī)在iOS和Android上運(yùn)行的,F(xiàn)lutter Engine使用C/C++編寫,開發(fā)人員通過Flutter框架直接和API在內(nèi)部進(jìn)行交互,所以具有輸入低延遲和UI渲染高幀速率的特點(diǎn)。除了這特點(diǎn)之外,F(xiàn)lutter還提供了自己的小部件,F(xiàn)lutter小部件是使用從React獲取靈感的現(xiàn)代框架構(gòu)建的。 中心思想是您使用小部件構(gòu)建UI。
窗口小部件根據(jù)其當(dāng)前配置和狀態(tài)描述了它們的視圖。 當(dāng)窗口小部件的狀態(tài)發(fā)生更改時(shí),窗口小部件會(huì)重建其描述,框架將根據(jù)前面的描述進(jìn)行區(qū)分,以確定底層呈現(xiàn)樹從一個(gè)狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需的最小更改??梢灾苯釉贠S平臺(tái)提供的畫布上進(jìn)行描繪,也就是一些核心類庫(kù)直接放到虛擬機(jī)里面,調(diào)用起來更快。
從它的系統(tǒng)結(jié)構(gòu)可以看出,類似安卓的ART(Android Run Time)虛擬機(jī),同樣采用AOT(Ahead of TIme)技術(shù),會(huì)在APP安裝時(shí)就編譯成機(jī)器語言,不再解釋執(zhí)行,從而優(yōu)化了APP運(yùn)行的性能。
4、自帶渲染引擎
Flutter使用谷歌自己的Skia渲染引擎,而Android系統(tǒng)自帶Skia引擎,iOS平臺(tái)上Flutter也會(huì)把Skia引擎打包到APP中,從而實(shí)現(xiàn)了高效渲染。而React Native通過橋接層訪問原生UI,操作頻繁就容易出性能問題。
綜合所述,F(xiàn)lutter 是性能最接近原生代碼 的一種開發(fā)框架,未來也會(huì)是構(gòu)建谷歌Fuchsia應(yīng)用的主要方式,前途不可限量,唯一的問題就是需要學(xué)習(xí)一門新的語言:Dart,而有Java或者C#語言基礎(chǔ)的程序員會(huì)比較容易學(xué)習(xí)。
在玩安卓上有款組件化開源app的項(xiàng)目,一款模仿 Eyepetizer | 開眼視頻的 開源app,這款app設(shè)計(jì)風(fēng)格特別喜歡的,比較簡(jiǎn)潔,美觀,然后最近又在學(xué)flutter的知識(shí),于是就寫了一款flutter版本的開源短視頻,效果也是聽不錯(cuò)的,廢話不多說,先上效果圖。
先附上項(xiàng)目地址:
項(xiàng)目api會(huì)在后面的參考鏈接里,或者直接項(xiàng)目?jī)?nèi)查看。
項(xiàng)目地址:
更新:6/30 項(xiàng)目新增下拉刷新,上拉加載功能
kotlin版本開眼短視頻開發(fā)中,敬請(qǐng)期待...
總結(jié):在此感謝參考的伙伴的文章,寫的也很好,然后我將這個(gè)項(xiàng)目改寫成了flutter,當(dāng)中也學(xué)習(xí)到了很多flutter相關(guān)的知識(shí),后續(xù)還有繼續(xù)鞏固,不斷學(xué)習(xí)。
參考鏈接(包含本項(xiàng)目的api)
我可以分享一份完整的安裝包及安裝教程,希望可以幫助到您!
點(diǎn)擊下載Google Flutter 1.0最新版
Google Flutter是由美國(guó)知名軟件公司谷歌推出的一款擁有自主知識(shí)產(chǎn)權(quán)的移動(dòng)開發(fā)軟件,是一個(gè)專門為iOS和Android設(shè)計(jì)的UI工具包。它能夠把最原生ARM代碼通過接口便攜式調(diào)用的方式對(duì)軟件界面和框架進(jìn)行精準(zhǔn)的繪制,并可在軟件中對(duì)開發(fā)的程序進(jìn)行測(cè)試已獲得最佳的性能。軟件擁有非常美觀的設(shè)計(jì)窗口,針對(duì)不同用戶的喜好設(shè)計(jì)了個(gè)性皮膚,在進(jìn)行開發(fā)時(shí)軟件擁有在模擬器或真機(jī)上亞秒內(nèi)加載的速度,并且不會(huì)丟失狀態(tài),可為每一位用戶帶來最佳的使用體驗(yàn),這將是移動(dòng)開發(fā)軟件中的一個(gè)里程碑。