混合式app開發(fā)框架(混合應(yīng)用開發(fā)框架)
本篇文章給大家談?wù)劵旌鲜絘pp開發(fā)框架,以及混合應(yīng)用開發(fā)框架對應(yīng)的知識點,希望對各位有所幫助,不要忘了收藏本站喔。
為什么國內(nèi)突然冒出很多Hybrid混合移動應(yīng)用開發(fā)框架
Hybrid App、Web App、Native App,哪一種模式會成為App開發(fā)主流?下面phonegap100小編與您一起分析為什么Native和Web過時了,企業(yè)級移動開發(fā)開始用Hybrid App
隨著HTML5被過度熱炒和實際開發(fā)中遇到的性能以及體驗問題,Web App逐漸勢弱。但是Native App開發(fā)難度大、成本高、周期長等問題突出,特別是App不斷推陳出新,開發(fā)一個App的成本或許可以接受,但是維護(hù)一個Native App更新的成本則成了跨不過的懸崖。最終開發(fā)者和企業(yè)發(fā)現(xiàn)Hybrid App,這種既有跨平臺開發(fā)周期短、成本低的基因,又能發(fā)揮Native App體驗和性能的優(yōu)勢,Hybrid App混合式移動應(yīng)用開發(fā)逐漸成為企業(yè)移動開發(fā)的首選。
如何開發(fā)混合式app
Hybrid App(混合模式移動應(yīng)用)是指介于web-app、native-app這兩者之間的app,兼具“Native App良好用戶交互體驗的優(yōu)勢”和“Web App跨平臺開發(fā)的優(yōu)勢”。
Hybrid App按網(wǎng)頁語言與程序語言的混合,通常分為三種類型:多View混合型,單View混合型,Web主體型。
【多View混合型】
即Native View和Web View獨立展示,交替出現(xiàn)。2012年常見的Hybrid App是Native
View與WebView交替的場景出現(xiàn)。這種應(yīng)用混合邏輯相對簡單。即在需要的時候,將WebView當(dāng)成一個獨立的View(Activity)運行起來,在WebView內(nèi)完成相關(guān)的展示操作。這種移動應(yīng)用主體通常是Native App,Web技術(shù)只是起到補充作用。開發(fā)難度和Native App基本相當(dāng)。
【單View混合型】
即在同一個View內(nèi),同時包括Native View和Web View?;ハ嘀g是覆蓋(層疊)的關(guān)系。這種Hybrid App的開發(fā)成本較高,開發(fā)難度較大,但是體驗較好。如百度搜索為代表的單View混合型移動應(yīng)用,既可以實現(xiàn)充分的靈活性,又能實現(xiàn)較好的用戶體驗。
【W(wǎng)eb主體型】
即移動應(yīng)用的主體是Web View,主要以網(wǎng)頁語言編寫,穿插Native功能的Hybrid
App開發(fā)類型。這種類型開發(fā)的移動應(yīng)用體驗相對而言存在缺陷,但整體開發(fā)難度大幅降低,并且基本可以實現(xiàn)跨平臺。Web主體型的移動應(yīng)用用戶體驗的好壞,主要取決于底層中間件的交互與跨平臺的能力。國外的appMobi、PhoneGap和國內(nèi)的WeX5、AppCan和Rexsee都屬于Web主體型移動應(yīng)用中間件。其中Rexsee不支持跨平臺開發(fā)。appMobi和PhoneGap除基礎(chǔ)的底層能力更多是通過插件(Plugins)擴展的機制實現(xiàn)Hybrid。AppCan除了插件機制,還提供了大量的單View混合型的接口來完善和彌補Web主體型Hybrid App體驗差的問題,接近Native App的體驗。而WeX5則在揉合PhoneGap和Bootstrap等主流技術(shù)的基礎(chǔ)上,對性能進(jìn)一步做了深度優(yōu)化,不但完全具備Native
App對本地資源的調(diào)用能力,性能體驗也不輸原生;WeX5所開發(fā)出來的app具備完全的跨端運行能力,可以無需任何修改直接運行在各種前端環(huán)境上。
從分析可見,Hybrid App中的Web主體型只要能夠解決用戶體驗差的問題,就可以變成最佳Hybrid App解決方案類型。
APP原生開發(fā)與混合開發(fā)是什么意思
1.原生開發(fā)(Native App開發(fā)):像蓋房子一樣,先打地基然后澆地梁、房屋結(jié)構(gòu)、一磚一瓦、鋼筋水泥、電路走向等,原生APP同理:通過代碼從每個頁面、每個功能、每個效果、每個邏輯、每個步驟全部用代碼寫出來,一層層,一段段全用代碼寫出來
此種APP的數(shù)據(jù)都保存在本地,APP能及時調(diào)取,所以相應(yīng)速度及流暢性有保障
2.混合開發(fā)(HTML5開發(fā)):這個就相當(dāng)于一種框架開發(fā),說白了就是網(wǎng)頁;該模式通常由“HTML5云網(wǎng)站+APP應(yīng)用客戶端”兩部份構(gòu)成,APP應(yīng)用客戶端只需安裝應(yīng)用的框架部份,而應(yīng)用的數(shù)據(jù)則是每次打開APP的時候,去云端取數(shù)據(jù)呈現(xiàn)給手機用戶。
混合APP還有一種是套殼APP,套殼APP就是用H5的網(wǎng)頁打包成APP,雖然是APP能安裝到手機上,但是每個界面,全部是網(wǎng)頁。此種APP數(shù)據(jù)都保存在云端,用戶每次訪問都需要從云端調(diào)取全部內(nèi)容,這樣就容易導(dǎo)致反應(yīng)慢,每打開一個網(wǎng)頁或點一個按鈕都需要等半天。
混合開發(fā)的優(yōu)缺點:
優(yōu)點是:
1、開發(fā)效率高,節(jié)約時間同一套代碼Android和IOS基本都可用
2、更新和部署比較方便,不需要每次升級都要上傳到App Store進(jìn)行審核了,只需要在服務(wù)器端升級就可以
3、代碼維護(hù)方便、版本更新快,降低產(chǎn)品成本
缺點是:
1、由于不能直接操控硬件有些方面性能不是很好
2、另外有技術(shù)比較新版本的兼容性比較差,還有就是即懂原生開發(fā)又懂H5開發(fā)的高端人才難找。
混合App開發(fā)是未來的趨勢,目前混合開發(fā)中使用的技術(shù)也很多,主要的混合開發(fā)技術(shù)有jQuery Mobile、React Native、Cordova、APICloud、AppCan等。雖然混合開發(fā)能夠提高效率節(jié)省成本,但也有很多的限制,除了硬件、緩存等的限制,各大平臺之間的兼容性也不足。有的也比較消耗資源。
Hybrid App 用哪個框架好
您好,國內(nèi)外Hybrid App的開發(fā)框架眾多。如何選擇又成為一個難題。下面對開發(fā)者比較關(guān)心的集中知名跨平臺開發(fā)移動應(yīng)用中間件進(jìn)行列表和對比,以便選擇最適合您的移動應(yīng)用中間件。 PhoneGap是相對比較早進(jìn)入公眾視線的一種選擇。但是,開發(fā)者簡單的基于PhoneGap來開發(fā)移動應(yīng)用肯定會發(fā)現(xiàn)結(jié)果和Web App比較差的用戶體驗類似。這也是為什么基于PhoneGap有實用性的移動應(yīng)用主要集中在iOS上??墒荘honeGap這種現(xiàn)狀弱化了HTML5的跨平臺價值。Titanium是一種基于翻譯機制的跨平臺中間件,能夠開發(fā)出具有Native體驗的移動應(yīng)用,但是因為翻譯機制的限制導(dǎo)致移動應(yīng)用開發(fā)不能像真正的HTML5開發(fā)一樣靈活。哪怕一個按鈕也不能像普通HTML一樣來編寫,而必須按照Titanium約定的特定格式。Salama是全新研發(fā)的一套Hybrid APP和云端服務(wù)整合的開發(fā)套件。在終端,一共有三種開發(fā)模式:高度混合模式、JS模式和低度混合模式。在低度混合模式下,需要追求終端速度和顯示效果的開發(fā)者,可以在不改變原有的構(gòu)架思路的前提下進(jìn)行開發(fā)。在JS模式下,所有的畫面顯示及業(yè)務(wù)邏輯均由JS程序?qū)崿F(xiàn),對于原來的基于WEB的開發(fā)者,只要熟悉JS、CSS、HTML的前端工程師就可以輕松構(gòu)建自己的應(yīng)用。在高度混合模式下,原生和HTML5可以隨意組合,可以為開發(fā)者在進(jìn)行大型商業(yè)軟件開發(fā)的過程中提供最高的性價比。不僅如此,在云端Salama還提供了一整套云服務(wù),涵蓋了業(yè)務(wù)處理、數(shù)據(jù)庫操作、文件等資源的存儲分發(fā)等服務(wù)。Salama已經(jīng)為多家公司提供了方案,知名客戶有TOSHIBA-AIRCON、GEDORE等品牌商,同時也在Salama平臺上構(gòu)造了Ishow企業(yè)電子目錄產(chǎn)品服務(wù)。AppCan在技術(shù)架構(gòu)上和PhoneGap類似是Web主體型中間件,但是通過結(jié)合了一些原生交互效果能夠達(dá)到iOS、Android平臺都比較一致的用戶體驗。但是相比PhoneGap的開源,AppCan相對封閉的路線顯得過于謹(jǐn)慎。Hybrid App這個領(lǐng)域雖然還處于比較初期的階段,但是已經(jīng)有很多優(yōu)秀的公司和技術(shù)團隊在致力于跨平臺開發(fā)移動應(yīng)用中間件技術(shù)的研究,給了開發(fā)者眾多選擇。開發(fā)者可以根據(jù)實際的項目需求來選擇中間件。Web App雖被瀏覽器廠商和搜索引擎公司所推崇,但存在用戶體驗差、盈利模式不明確等現(xiàn)階段無法解決的問題,或最終夭折。Hybrid App正在被越來越多的公司和開發(fā)者所認(rèn)同,勢必會成為新世界的王。
混合開發(fā)之uni-app
uni-app App端內(nèi)置weex渲染引擎,提供原生渲染能力
然而, Weex并不是一個前端框架 。實際上,前端框架僅僅是 Weex 的語法層或稱之為 DSL (Domain-specific Language),它們與原生渲染引擎是分離的。換句話說,Weex 并不依賴于特定的前端框架,隨著前端技術(shù)的發(fā)展,Weex 也可以集成更多廣泛使用的前端框架。
以往的 weex ,有個很大的問題是它只是一個高性能的渲染器,沒有足夠的API能力,使得開發(fā)時非常依賴原生工程師協(xié)作,開發(fā)者本來想節(jié)約成本,結(jié)果需要前端、iOS、Android 3撥人開發(fā),適得其反。而 nvue 解決了這個大問題,讓前端工程師可以直接開發(fā)完整 App,并提供原生插件的市場交易和云打包。這些組合方案,開發(fā)者切實的提高效率、降低成本。
如果你是web前端,不熟悉 weex,那么建議你仍然以使用 vue 為主,在App端某些 vue 表現(xiàn)不佳的場景下使用 nvue 作為強化補充:
uni-app App 端內(nèi)置 HTML5+ 引擎,讓 js 可以直接調(diào)用豐富的原生能力。
小程序及 H5 等平臺是沒有 HTML5+ 擴展規(guī)范的,因此在 uni-app 調(diào)用 HTML5+ 的擴展規(guī)范時,需要注意使用條件編譯。否則運行到h5、小程序等平臺會出現(xiàn) plus is not defined錯誤。
在普通的 H5+ 項目中,需要使用 document.addEventListener 監(jiān)聽原生擴展的事件。
uni-app 中,沒有 document??梢允褂?plus.globalEvent.addEventListener 來實現(xiàn)(注意manifest中需開啟新編譯器,即自定義組件模式"usingComponents":true)。
同理,在 uni-app 中使用 Native.js 時,一些 Native.js 中對于原生事件的監(jiān)聽同樣需要按照上面的方法去實現(xiàn)。
注意:舊編譯器(非自定義組件模式)不支持 plus.globalEvent 這個對象。
關(guān)于混合式app開發(fā)框架和混合應(yīng)用開發(fā)框架的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。