Native App即原生App開(kāi)發(fā)
優(yōu)點(diǎn):
?。?)打造完美的用戶(hù)體驗
?。?)性能穩定
?。?)操作速度快,上手流暢
?。?)訪(fǎng)問(wèn)本地資源(通訊錄,相冊)
?。?)設計出色的動(dòng)效,轉場(chǎng)
?。?)擁有系統級別的貼心通知或提醒
?。?)用戶(hù)留存率高
缺點(diǎn):
?。?)分發(fā)成本高(不同平臺有不同的開(kāi)發(fā)語(yǔ)言和界面適配)
?。?)維護成本高(例如一款App已更新至V5版本,但仍有用戶(hù)在使用V2, V3, V4版本,需要更多的開(kāi)發(fā)人員維護之前的版本)
?。?)更新緩慢,根據不同平臺,提交–審核–上線(xiàn) 等等不同的流程,需要經(jīng)過(guò)的流程較復雜。
從android、iOS智能手機開(kāi)始出現就開(kāi)發(fā)有的開(kāi)發(fā)App的技術(shù),性能體驗是最優(yōu)的,API比較完善,但是學(xué)習起來(lái)難度相對來(lái)說(shuō)比較高,開(kāi)發(fā)成本比較高(跟開(kāi)發(fā)周期相對來(lái)說(shuō)比較長(cháng)也是有關(guān)系的)。
Web App即網(wǎng)頁(yè)App開(kāi)發(fā)
1、特點(diǎn)(html css js)
2、優(yōu)勢(發(fā)版完全自控隨時(shí)更新開(kāi)發(fā)成本小時(shí)間快)
3、劣勢(性能差弱網(wǎng)絡(luò )無(wú)網(wǎng)絡(luò )條件下體驗差)Web App其實(shí)就是寫(xiě)好的一套長(cháng)得像App UI界面的能夠自適應的網(wǎng)頁(yè)加殼。本質(zhì)套webview殼子打包成App,走的都是web頁(yè)面(html css js),這種方式對于做過(guò)Web開(kāi)發(fā)的開(kāi)說(shuō)非常輕松就可以做出一個(gè)屬于自己的App,因為本身來(lái)說(shuō)用的就是Web的東西,所以有非常好的跨平臺的特性可以在任意平臺運行,包括發(fā)版這方面web可以隨時(shí)部署所以不需要發(fā)版,web頁(yè)面嵌入webview開(kāi)發(fā)起來(lái)速度非???,一個(gè)人就可以輕松搞定,對有展示類(lèi)需求的項目來(lái)說(shuō)采用這種方式是最適合的,但是如果要實(shí)現的功能比較復雜的話(huà)就顯得力不從心了。
相比Native App,Web App體驗中受限于網(wǎng)絡(luò )環(huán)境和渲染性能。
1、網(wǎng)絡(luò )環(huán)境,渲染性能
Web APP對網(wǎng)絡(luò )環(huán)境的依賴(lài)性較大,因為Web APP中的H5頁(yè)面,當用戶(hù)使用時(shí),去服務(wù)器請求顯示頁(yè)面。如果此時(shí)用戶(hù)恰巧遇到網(wǎng)速慢,網(wǎng)絡(luò )不穩定等其他環(huán)境時(shí),用戶(hù)請求頁(yè)面的效率大打折扣,在用戶(hù)使 用中會(huì )出現不流暢,斷斷續續的不良感受。同時(shí),H5技術(shù)自身渲染性能較弱:對復雜的圖形樣式,多樣的動(dòng)效,自定義字體等的支持性不強。
因此,基于網(wǎng)絡(luò )環(huán)境和渲染性能的影響,在設計H5頁(yè)面時(shí),應注意以下幾點(diǎn):
1、簡(jiǎn)化不重要的動(dòng)畫(huà)/動(dòng)效
2、簡(jiǎn)化復雜的圖形文字樣式
3、減少頁(yè)面渲染的頻率和次數
Hybrid App即混合型App開(kāi)發(fā)
1、特點(diǎn)(native+js或其他語(yǔ)言)
2、優(yōu)勢(相對體驗好穩定性強動(dòng)態(tài)性強成本相對低跨平臺)
3、劣勢(對團隊技術(shù)棧要求相對高性能優(yōu)化)Hybrid App就是Native結合Web混合開(kāi)發(fā),Native+js代碼代表作是cordova前身是phonegap,現在移交給Apache,核心JsBridge,js調java,java調js。因為有原生做基礎相對體驗好接近原生,因為依賴(lài)原生API所以穩定性強。跟js相互通信并不是所有都用js,所有都依賴(lài)webview。采用原生模塊和js模塊,js模塊可以隨時(shí)發(fā)版,這也是這些大廠(chǎng)為什么選擇這個(gè)技術(shù)的原因,手淘用的就是Hybird技術(shù),其實(shí)它的優(yōu)化難度不亞于原生,但是為什么選擇Hybird去做呢,就是因為熱發(fā)版。
1、在未來(lái)一段時(shí)間內,很大程度上會(huì )形成以Hybrid形式為主的移動(dòng)端開(kāi)發(fā)方式。
2、web App目前是無(wú)法取代原生App開(kāi)發(fā)語(yǔ)言的。
3、App開(kāi)發(fā)的成本、時(shí)間周期、性能優(yōu)化、體驗優(yōu)化、動(dòng)態(tài)性等將成為多數App所關(guān)注的重點(diǎn)。