前端三大框架,是Angular、React、Vue,這三個框架現(xiàn)在是最為流行也是最多人用的框架。
創(chuàng)新互聯(lián)建站主要從事網(wǎng)站設計、成都網(wǎng)站建設、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務臺前,十多年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220
React:
1.聲明式設計:React采用聲明范式,可以輕松描述應用。
2.高效:React通過對DOM的模擬,最大限度地減少與DOM的交互。
3.靈活:React可以與已知的庫或框架很好地配合。
優(yōu)點:
1.速度快:在UI渲染過程中,React通過在虛擬DOM中的微操作來實現(xiàn)對實際DOM的局部更新。
2.跨瀏覽器兼容:虛擬DOM幫助我們解決了跨瀏覽器問題,它為我們提供了標準化的API,甚至在IE8中都是沒問題的。
3.模塊化:為你程序編寫獨立的模塊化UI組件,這樣當某個或某些組件出現(xiàn)問題是,可以方便地進行隔離。
4.單向數(shù)據(jù)流:Flux是一個用于在JavaScript應用中創(chuàng)建單向數(shù)據(jù)層的架構5.同構、純粹的javascript:因為搜索引擎的爬蟲程序依賴的是服務端響應而不是JavaScript的執(zhí)行,預渲染你的應用有助于搜索引擎優(yōu)化。6.兼容性好:比如使用RequireJS來加載和打包,而Browserify和Webpack適用于構建大型應用。它們使得那些艱難的任務不再讓人望而生畏。缺點:React本身只是一個V而已,并不是一個完整的框架,所以如果是大型項目想要一套完整的框架的話,基本都需要加上ReactRouter和Flux才能寫大型應用。
Vue:
Vue是尤雨溪編寫的一個構建數(shù)據(jù)驅(qū)動的Web界面的庫,準確來說不是一個框架,它聚焦在V(view)視圖層。
它有以下的特性:
1.輕量級的框架
2.雙向數(shù)據(jù)綁定
3.指令
4.插件化
優(yōu)點:
1.簡單:官方文檔很清晰,比Angular簡單易學。
2.快速:異步批處理方式更新DOM。
3.組合:用解耦的、可復用的組件組合你的應用程序。
4.緊湊:~18kbmin+gzip,且無依賴。
5.強大:表達式無需聲明依賴的可推導屬性(computedproperties)。
6.對模塊友好:可以通過NPM、Bower或Duo安裝,不強迫你所有的代碼都遵循Angular的各種規(guī)定,使用場景更加靈活。
缺點:
1.新生兒:Vue.js是一個新的項目,沒有angular那么成熟。
2.影響度不是很大:google了一下,有關于Vue.js多樣性或者說豐富性少于其他一些有名的庫。
3.不支持IE8。
Angular:
Angular是一款優(yōu)秀的前端JS框架,已經(jīng)被用于Google的多款產(chǎn)品當中。
它有以下的特性:
1.良好的應用程序結構
2.雙向數(shù)據(jù)綁定
3.指令
4.HTML模板
5.可嵌入、注入和測試
優(yōu)點:
1.模板功能強大豐富,自帶了極其豐富的angular指令。
2.是一個比較完善的前端框架,包含服務,模板,數(shù)據(jù)雙向綁定,模塊化,路由,過濾器,依賴注入等所有功能;3.自定義指令,自定義指令后可以在項目中多次使用。
4.ng模塊化比較大膽的引入了Java的一些東西(依賴注入),能夠很容易的寫出可復用的代碼,對于敏捷開發(fā)的團隊來說非常有幫助。
5.angularjs是互聯(lián)網(wǎng)巨人谷歌開發(fā),這也意味著他有一個堅實的基礎和社區(qū)支持。
缺點:
1.angular入門很容易但深入后概念很多,學習中較難理解。
2.文檔例子非常少,官方的文檔基本只寫了api,一個例子都沒有,很多時候具體怎么用都是google來的,或直接問misko,angular的作者。
3.對IE6/7兼容不算特別好,就是可以用jQuery自己手寫代碼解決一些。
4.指令的應用的最佳實踐教程少,angular其實很靈活,如果不看一些作者的使用原則,很容易寫出四不像的代碼,例如js中還是像jQuery的思想有很多dom操作。
5.DI依賴注入如果代碼壓縮需要顯示聲明。
百度網(wǎng)盤flutter 見46-Flutter Channel
Flutter 提供三種Channel用作Flutter與iOS原生平臺之間的數(shù)據(jù)傳遞
1.FlutterBasicMessageChannel: 用作頻繁與原生交互
2.FlutterMethodChannel:用來調(diào)用方法,雙向通訊
3.FlutterEventChannel:數(shù)據(jù)流通訊
三種Channel,都有以下成員變量
1.name: Channel 的唯一標識
在Flutter應用中,通常存在多個Platform Channel,使用name區(qū)分不同的Channel
2.messenger: 消息信使(BinaryMessenger)
負責Flutter與原生之間的相互通訊
[methodChannel setMethodCallHandler:^(FlutterMethodCall * _Nonnull call, FlutterResult? _Nonnull ?result) {
}];
setMethodCallHandler方法,MethodCallHandler放在FlutterBinaryMessageHandler中
創(chuàng)建一個FlutterMethodChannel,通過 setMethodCallHandler來進行消息處理,最終會為FlutterMethodChannel綁定一個FlutterBinaryMessageHandler,并以FlutterMethodChannel的name作為key,保存在一個Map結構中
先創(chuàng)建 FlutterEngine-FlutterViewController-FlutterMethodChannel,
調(diào)用setMethodCallHandler方法時,會進入FlutterEngine的setMessageHandlerOnChannel:binaryMessageHandle:中,在進入PlatformMessageRouter中進行儲存
mrliuys.flutter.io/channel 這個是自由定義,且是全局唯一的,
當flutter需要用到的時候執(zhí)行 invokeMethod ,
invokeMethod 帶兩個參數(shù).
標題名稱:flutter雙向,flutter多端統(tǒng)一
鏈接地址:http://sd-ha.com/article14/dschhge.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、商城網(wǎng)站、面包屑導航、外貿(mào)建站、網(wǎng)站導航、靜態(tài)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)