現(xiàn)今,移動互聯(lián)網(wǎng)主導(dǎo)著整個(gè)ICT產(chǎn)業(yè),成為了最大的信息消費(fèi)市場。隨著移動互聯(lián)網(wǎng)發(fā)展浪潮的刮起,市面上各種移動App猶如雨后春筍般層出不窮。伴隨著人們對移動App應(yīng)用需求的不斷提升,以及需求業(yè)務(wù)的急速擴(kuò)展,各個(gè)開發(fā)團(tuán)隊(duì)爭分奪秒,如火如荼,競爭十分激烈。這使得對App開發(fā)效率的要求越來越高。 部分中小型互聯(lián)網(wǎng)軟件開發(fā)公司,由于沒有強(qiáng)大的技術(shù)支持后盾,項(xiàng)目開發(fā)周期短,開發(fā)預(yù)算寥寥可數(shù),這個(gè)時(shí)候,如果再使用iOS&Android原生技術(shù)來開發(fā)App的話,其劣勢不言而喻。原生App開發(fā)需要既開發(fā)Android系統(tǒng)又開發(fā)iOS系統(tǒng),支持的設(shè)備也有限(只能在系統(tǒng)所屬的平臺專屬設(shè)備上使用),導(dǎo)致開發(fā)成本高,周期長。 這時(shí),一種新的開發(fā)模式:Hybrid App就這樣偶然的悄然興起。 ![]() Hybrid技術(shù)是一種混合開發(fā)模式,即同時(shí)使用Native與Web搭建的App。它的定義是:“同時(shí)使用網(wǎng)頁語言與程序語言開發(fā),通過應(yīng)用商店區(qū)分移動操作系統(tǒng)分發(fā),用戶需要安裝使用”。Hybrid App總體特性更接近Native App,但由于使用了網(wǎng)頁語言編碼HTML5,所以開發(fā)成本和難度比Native App要小很多。 Hybrid App以前端Javascript+Native兩者相互調(diào)用為主,從開發(fā)層面實(shí)現(xiàn)“一次開發(fā),多處運(yùn)行”的機(jī)制,成為真正適合跨平臺的開發(fā)。我們常使用的58同城、網(wǎng)易云音樂就是采用的這種開發(fā)模式。所以說,Hybrid App兼具了Native App良好用戶交互體驗(yàn)的優(yōu)勢,也兼具了Web App使用H5跨平臺開發(fā)低成本的優(yōu)勢。 ![]() Hybrid App開發(fā),現(xiàn)階段主流的開發(fā)平臺包括AppCan、PhoneGap等,雖然已成為很多開發(fā)者開發(fā)App的首選,但Hybrid技術(shù)目前依然存在著些許不足。 若App開發(fā)界面設(shè)計(jì)要求模仿iOS的某個(gè)界面,這就需要大量的HTML及CSS代碼,結(jié)果或許還會不盡如人意,應(yīng)了“跨平臺開發(fā),兼容是前端的痛”這句話。 在UIwebview中,JS在創(chuàng)建XMLHttpRequest對象發(fā)起ajax請求的時(shí)候,會存在內(nèi)存泄漏問題。Hybrid技術(shù)使JS與Native的交互操作非常頻繁,使用XMLHttpRequest會引起較為嚴(yán)重的內(nèi)存問題,容易導(dǎo)致App程序運(yùn)行速度減慢,有時(shí)甚至系統(tǒng)崩潰。 對于App開發(fā)到底選何種方式,需要根據(jù)需求來選擇工具,用適當(dāng)?shù)墓ぞ咦龊线m的事情。每一種技術(shù)都有其優(yōu)缺點(diǎn),所以需要我們不斷的嘗試,這樣才能選擇最合適的開發(fā)方式去創(chuàng)造更好用戶體驗(yàn)的應(yīng)用App。 ------------------------------------------------------------------------ 我的動力來源于您的文字,歡迎留言評論 作者Sharon,一個(gè)行走的自由者 |
|