真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

flutter框架缺點(diǎn),flutter特性

如何評價(jià) Google 的 Flutter

Flutter框架,一言以蔽之就是能夠使用一套相同的Dart語言代碼同時(shí)實(shí)現(xiàn)android和ios跨平臺(tái)應(yīng)用的框架,同時(shí)兼?zhèn)涓咝阅芎涂焖匍_發(fā)。

創(chuàng)新互聯(lián)建站是一家集網(wǎng)站建設(shè),永春企業(yè)網(wǎng)站建設(shè),永春品牌網(wǎng)站建設(shè),網(wǎng)站定制,永春網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,永春網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

九、Flutter之webview

Flutter的webview常用的第三方庫有 flutter_webview_plugin 、 webview_flutter ,后者的文檔較少,暫先學(xué)習(xí)flutter_webview_plugin。

添加依賴

導(dǎo)入包

iOS端info.plist配置,其中NSAppTransportSecurity節(jié)點(diǎn)是為了支持http協(xié)議

一個(gè)簡單的demo

要監(jiān)聽鏈接跳轉(zhuǎn)的話,實(shí)現(xiàn)onUrlChanged即可

添加依賴

導(dǎo)入包

iOS端info.plist配置

一個(gè)簡單的demo

但是在webview里點(diǎn)擊鏈接跳轉(zhuǎn)的時(shí)候,測試機(jī)有時(shí)會(huì)跳轉(zhuǎn)到系統(tǒng)瀏覽器上,并且點(diǎn)擊文本框無法彈出鍵盤,交互性很弱。

二者共同的缺點(diǎn)是與javascript難以交互,目前只能實(shí)現(xiàn)Flutter-JS傳遞信息,還沒找到可以進(jìn)行完美交互的第三方庫。并且一些常見的協(xié)議還不支持,比如撥號和調(diào)用攝像頭等,期待后續(xù)完善。

北大青鳥設(shè)計(jì)培訓(xùn):web前端多端編程開發(fā)框架結(jié)構(gòu)?

隨著我們對web前端編程開發(fā)技術(shù)的掌握,越來越多的框架語言和架構(gòu)方式被我們所熟知。

下面四川北大青鳥就一起來了解一下,web前端開發(fā)的一些常見框架結(jié)構(gòu)。

1.全包型這類框架大的特點(diǎn)就是從底層的渲染引擎、布局引擎,到中層的DSL,再到上層的框架全部由自己開發(fā),代表框架是Qt和Flutter。

這類框架優(yōu)點(diǎn)非常明顯:性能(的上限)高;各平臺(tái)渲染結(jié)果一致。

缺點(diǎn)也非常明顯:需要完全重新學(xué)習(xí)DSL(QML/Dart),以及難以適配中國特色的端:小程序。

這類框架是原始也是純正的的多端開發(fā)框架,由于底層到上層每個(gè)環(huán)節(jié)都掌握在自己手里,也能大可能地去保證開發(fā)和跨端體驗(yàn)一致。

但它們的框架研發(fā)成本巨大,渲染引擎、布局引擎、DSL、上層框架每個(gè)部分都需要大量人力開發(fā)維護(hù)。

2.Web技術(shù)型這類框架把Web技術(shù)(JavaScript,CSS)帶到移動(dòng)開發(fā)中,自研布局引擎處理CSS,使用JavaScript寫業(yè)務(wù)邏輯,使用流行的前端框架作為DSL,各端分別使用各自的原生組件渲染。

代表框架是ReactNative和Weex,這樣做的優(yōu)點(diǎn)有:開發(fā)迅速;復(fù)用前端生態(tài);易于學(xué)習(xí)上手,不管前端后端移動(dòng)端,多多少少都會(huì)一點(diǎn)JS、CSS。

缺點(diǎn)有:1.交互復(fù)雜時(shí)難以寫出高性能的代碼,這類框架的設(shè)計(jì)就必然導(dǎo)致JS和Native之間需要通信,類似于手勢操作這樣頻繁地觸發(fā)通信就很可能使得UI無法在16ms內(nèi)及時(shí)繪制。

ReactNative有一些聲明式的組件可以避免這個(gè)問題,但聲明式的寫法很難滿足復(fù)雜交互的需求。

2.由于沒有渲染引擎,使用各端的原生組件渲染,相同代碼渲染的一致性沒有一種高。

3.JavaScript編譯型這類框架就是我們這篇文章的主角們:Taro、WePY、uni-app、mpvue、chameleon,它們的原理也都大同小異:先以JavaScript作為基礎(chǔ)選定一個(gè)DSL框架,以這個(gè)DSL框架為標(biāo)準(zhǔn)在各端分別編譯為不同的代碼,各端分別有一個(gè)運(yùn)行時(shí)框架或兼容組件庫保證代碼正確運(yùn)行。

flutter為什么不推薦getx

使用這個(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īng)式編程框架。

相關(guān)功能可能比較少,沒有最新版本的功能那么全面。

Flutter是Google開源的構(gòu)建用戶界面(UI)工具包,幫助開發(fā)者通過一套代碼庫高效構(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ì)對比之前的描述, 以確定底層渲染樹從當(dāng)前狀態(tài)轉(zhuǎn)換到下一個(gè)狀態(tài)所需要的最小更改。

為什么Flutter開發(fā)APP性能最接近原生,前端程序員請關(guān)注

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)勢所在:

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)行描繪,也就是一些核心類庫直接放到虛擬機(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í)。


文章題目:flutter框架缺點(diǎn),flutter特性
地址分享:http://weahome.cn/article/dsdcpco.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部