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