日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

微信小程序開發(fā),多端框架全面測評。最近前端屆多端框架頻出,相信很多有代碼多端運行需求的開發(fā)者都會產(chǎn)生一些疑惑:這些框架都有什么優(yōu)缺點?到底應(yīng)該用哪個?作為 Taro 開發(fā)團隊一員,筆者想在本文盡量站在一個客觀公正的角度去評價各個框架的選型和優(yōu)劣。但宥于利益相關(guān),本文的觀點很可能是帶有偏向性的,大家可以帶著批判的眼光去看待,權(quán)當(dāng)拋磚引玉。那么,當(dāng)我們在討論多端框架時,我們該談?wù)撌裁础9P者以為,現(xiàn)在流行的多端框架可以大致分為三類。

1、全包型

這類框架最大的特點就是從底層的渲染引擎、布局引擎,到中層的 DSL,再到上層的框架全部由自己開發(fā),代表框架是 Qt 和 Flutter。這類框架優(yōu)點非常明顯:性能(的上限)高;各平臺渲染結(jié)果一致。缺點也非常明顯:需要完全重新學(xué)習(xí) DSL(QML/Dart),以及難以適配中國特色的端:小程序。這類框架是最原始也是最純正的的多端開發(fā)框架,由于底層到上層每個環(huán)節(jié)都掌握在自己手里,也能最大可能地去保證開發(fā)和跨端體驗一致。但它們的框架研發(fā)成本巨大,渲染引擎、布局引擎、DSL、上層框架每個部分都需要大量人力開發(fā)維護。

2、Web 技術(shù)型

這類框架把 Web 技術(shù)(JAVAScript,css)帶到移動開發(fā)中,自研布局引擎處理 CSS,使用 JavaScript 寫業(yè)務(wù)邏輯,使用流行的前端框架作為 DSL,各端分別使用各自的原生組件渲染。代表框架是 React Native 和 Weex,這樣做的優(yōu)點有:開發(fā)迅速;復(fù)用前端生態(tài);易于學(xué)習(xí)上手,不管前端后端移動端,多多少少都會一點 JS、CSS。缺點有:交互復(fù)雜時難以寫出高性能的代碼,這類框架的設(shè)計就必然導(dǎo)致 JS 和 Native 之間需要通信,類似于手勢操作這樣頻繁地觸發(fā)通信就很可能使得 UI 無法在 16ms 內(nèi)及時繪制。React Native 有一些聲明式的組件可以避免這個問題,但聲明式的寫法很難滿足復(fù)雜交互的需求。由于沒有渲染引擎,使用各端的原生組件渲染,相同代碼渲染的一致性沒有第一種高。

3、JavaScript 編譯型

這類框架就是我們這篇文章的主角們:Taro、WePY 、uni-App 、 mpvue 、 chameleon,它們的原理也都大同小異:先以 JavaScript 作為基礎(chǔ)選定一個 DSL 框架,以這個 DSL 框架為標(biāo)準(zhǔn)在各端分別編譯為不同的代碼,各端分別有一個運行時框架或兼容組件庫保證代碼正確運行。這類框架最大優(yōu)點和創(chuàng)造的最大原因就是小程序,因為第一第二種框架其實除了可以跨系統(tǒng)平臺之外,也都能編譯運行在瀏覽器中。(Qt 有 Qt for WebAssembly, Flutter 有 Hummingbird,React Native 有 react-native-web, Weex 原生支持)。

另外一個優(yōu)點是在移動端一般會編譯到 React Native/Weex,所以它們也都擁有 Web 技術(shù)型框架的優(yōu)點。這看起來很美好,但實際上 React Native/Weex 的缺點編譯型框架也無法避免。除此之外,編譯型框架的抽象也不是免費的:當(dāng) bug 出現(xiàn)時,問題的根源可能出在運行時、編譯時、組件庫以及三者依賴的庫等等各個方面。在 Taro 開源的過程中,我們就遇到過 Babel 的 bug,React Native 的 bug,JavaScript 引擎的 bug,當(dāng)然也少不了 Taro 本身的 bug。相信其它原理相同的框架也無法避免這一問題。

但這并不意味著這類為了小程序而設(shè)計的多端框架就都不堪大用。首先現(xiàn)在各巨頭超級 App 的小程序百花齊放,框架會為了抹平小程序做了許多工作,這些工作在大部分情況下是不需要開發(fā)者關(guān)心的。其次是許多業(yè)務(wù)類型并不需要復(fù)雜的邏輯和交互,沒那么容易觸發(fā)到框架底層依賴的 bug。那么當(dāng)你的業(yè)務(wù)適合選擇編譯型框架時,在筆者看來首先要考慮的就是選擇 DSL 的起點。因為有多端需求業(yè)務(wù)通常都希望能快速開發(fā),一個能夠快速適應(yīng)團隊開發(fā)節(jié)奏的 DSL 就至關(guān)重要。不管是 React 還是 Vue(或者類 Vue)都有它們的優(yōu)缺點,大家可以根據(jù)團隊技術(shù)棧和偏好自行選擇。

分享到:
標(biāo)簽:程序 微信小
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定