溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web前端跨平臺的解決方案有哪些

發(fā)布時間:2022-01-10 09:59:22 來源:億速云 閱讀:216 作者:iii 欄目:編程語言

本篇內(nèi)容介紹了“web前端跨平臺的解決方案有哪些”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

  H5+原生混合開發(fā)

  這種模式又稱為Hybrid開發(fā),現(xiàn)在很多App都用這種模式去開發(fā),常見的有微信、淘寶、美團(tuán)、愛奇藝等知名移動應(yīng)用等。國內(nèi)也有很多公司使用Hybrid模式去開發(fā)平臺,供開發(fā)者使用,像Dcloud、AppCan、Inoic等,基本上都是參考Cordova衍生出的混合開發(fā)框架。
  這類框架主要原理就是將APP的一部分需要動態(tài)變動的內(nèi)容通過H5來實現(xiàn),通過原生的網(wǎng)頁加載控件WebView (Android)或WKWebView(ios)來加載,H5部分是可以隨時改變而不用發(fā)版,這樣就解決了動態(tài)化的需求,同時,由于h6代碼只需要一次開發(fā),就能同時在Android和iOS兩個平臺運行,這也可以減小開發(fā)成本,我們稱這種h6+原生的開發(fā)模式為混合開發(fā)。
  混合應(yīng)用的優(yōu)點是動態(tài)內(nèi)容是H5,使用web技術(shù)棧就可以開發(fā),社區(qū)及資源豐富,缺點是性能不好,對于復(fù)雜用戶界面或動畫,webview不堪重任。

  JavaScript開發(fā)+原生渲染

  這類開源框架的代表主要是Facebook的React Native、阿里的Weex,當(dāng)然也有未開源的美團(tuán)的Picasso,以及最新推出的快應(yīng)用。
  JavaScript開發(fā)+原生渲染的方式主要優(yōu)點如下:采用Web開發(fā)技術(shù)棧,社區(qū)龐大、上手快、開發(fā)成本相對較低;原生渲染,性能相比H5提高很多;動態(tài)化較好,支持熱更新。
  當(dāng)然也有缺點如下:渲染時需要JavaScript和原生之間通信,在有些場景如拖動可能會因為通信頻繁導(dǎo)致卡頓;JavaScript為腳本語言,執(zhí)行時需要JIT,執(zhí)行效率和AOT代碼仍有差距;由于渲染依賴原生控件,不同平臺的控件需要單獨維護(hù),并且當(dāng)系統(tǒng)更新時,社區(qū)控件可能會滯后;除此之外,其控件系統(tǒng)也會受到原生UI系統(tǒng)限制,例如,在Android中,手勢沖突消歧規(guī)則是固定的,這在使用不同人寫的控件嵌套時,手勢沖突問題將會變得非常棘手。
  React Native
  React Native (簡稱RN)是Facebook于2015年4月開源的跨平臺移動應(yīng)用開發(fā)框架,是Facebook早先開源的JS框架 React 在原生移動應(yīng)用平臺的衍生產(chǎn)物,目前支持iOS和Android兩個平臺。RN使用Javascript語言,類似于HTML的JSX,以及CSS來開發(fā)移動應(yīng)用,因此熟悉Web前端開發(fā)的技術(shù)人員只需很少的學(xué)習(xí)就可以進(jìn)入移動應(yīng)用開發(fā)領(lǐng)域。
  Weex
  Weex是阿里巴巴于2016年發(fā)布的跨平臺移動端開發(fā)框架,思想及原理和React Native類似,最大的不同是語法層面,React Native使用React.js作為開發(fā)框架,而Weex則使用Vue.js作為開發(fā)框架。Vue和React堪稱前端領(lǐng)域最火的JavaScript框架,它們的易用性和功能性都非常強(qiáng)大,Weex在淘寶上也有廣泛的應(yīng)用。
  快應(yīng)用
  快應(yīng)用是華為、小米、OPPO、魅族等國內(nèi)9大主流手機(jī)廠商共同制定的輕量級應(yīng)用標(biāo)準(zhǔn),目標(biāo)直指微信小程序。它也是采用JavaScript語言開發(fā),原生控件渲染。


  自繪UI+原生


  通過在不同平臺實現(xiàn)一個統(tǒng)一接口的渲染引擎來繪制UI,而不依賴系統(tǒng)原生控件,所以可以做到不同平臺UI的一致性。注意,自繪引擎解決的是UI的跨平臺問題,如果涉及其它系統(tǒng)能力調(diào)用,依然要涉及原生開發(fā)。這種平臺技術(shù)的優(yōu)點:性能高,性能和原生控件接近;靈活、組件庫易維護(hù)、UI外觀保真度和一致性高;不足之處:動態(tài)性不足。
  Flutter
  Flutter 是 Google推出并開源的移動應(yīng)用開發(fā)框架,主打跨平臺、高保真、高性能。開發(fā)者可以通過 Dart語言開發(fā) App,一套代碼同時運行在 iOS 和 Android平臺。 Flutter提供了豐富的組件、接口,開發(fā)者可以很快地為 Flutter添加原生擴(kuò)展。
  Flutter既不使用WebView,也不使用操作系統(tǒng)的原生控件。 相反,F(xiàn)lutter使用自己的高性能渲染引擎來繪制widget。這樣不僅可以保證在Android和iOS上UI的一致性,而且也可以避免對原生控件依賴而帶來的限制及高昂的維護(hù)成本。但是Flutter也有不足之處,不支持動態(tài)下發(fā)代碼和熱更新。

“web前端跨平臺的解決方案有哪些”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI