目前流行的APP開發(fā)技術主要是原生和html5兩種開發(fā)方式。近兩年h5發(fā)展勢頭很猛,大有趕超元神APP的趨勢,甚至有人預測Web APP(html5)終將取代原生APP。那么到底原生APP和Web APP有什么區(qū)別呢?哪個比較好呢?一起來探討一下。
一、原生APP和Web APP的定義
原生APP又稱Native APP,該開發(fā)針對IOS、Android、Widows等不同的手機操作系統(tǒng)要采用不同的語言和框架進行開發(fā),該模式通常是由“云服務器數(shù)據(jù)+APP應用客戶端”兩部分構成,APP應用所有的UI元素、數(shù)據(jù)內容、邏輯框架均安裝在手機終端上。
Web APP即是一種框架型APP開發(fā)模式(html5 APP框架開發(fā)模式),該開發(fā)具有跨平臺的優(yōu)勢,該模式通常由“html5暈網站+APP應用客戶端”兩部分構成,APP應用客戶端只需安裝應用的框架部分,而應用的數(shù)據(jù)則是每次打開APP的時候,去云端取數(shù)據(jù)呈現(xiàn)給手機用戶。
二、原生APP和Web APP的區(qū)別
1、原生APP要為不同系統(tǒng)開發(fā)不同項目;Web APP因為運行在移動設備的瀏覽器上,所以只需要一個開發(fā)項目。
2、原生APP開發(fā)語言主要是Jave、Objective-C;Web APP使用html5、css、js以及服務端語言PHP、Ruby來完成。
3、原生APP開發(fā)需要使用各自軟件開發(fā)包,開發(fā)工具和控件;Web APP可使用一些跨平臺開發(fā)工具。
4、原生APP需要用戶手動去下載并安裝;Web APP不需要安裝額外軟件,直接從瀏覽器訪問。
三、原生APP和Web APP哪個比較好
很難直接說出原生APP和Web APP哪個好,因為它們都有各自的優(yōu)缺點,有些方面原生APP占有優(yōu)勢,有些方面Web APP有優(yōu)勢。
1、在跨平臺上,Web APP html 5勝出
這是一位內html5采用網絡通用語言,不同考慮終端設備或者操作系統(tǒng)的不同。
2、在用戶體驗上表現(xiàn)原生APP開發(fā)勝出
在用戶體驗和表現(xiàn)這個方面,html5仍然面臨著不同移動終端設備本地瀏覽器的功能接入問題,同時在提供用戶展示圖形界面和數(shù)據(jù)表現(xiàn)的豐富性方面還有不足,繼續(xù)得到提高。
3、在開發(fā)速度和成本方面,html5勝出
Html5的開發(fā)確實比原生開發(fā)更省時間和人力,開發(fā)周期相對較短,人力投入也比較少,畢竟html5有著跨平臺帶來的無可比擬的好處。不需要投入兩個團隊或者更多的人去開發(fā)。
4、在版本控制和BUG修復方面,html5勝出
Html5是web網頁端的內容,如果出現(xiàn)BUG可以不同迭代版本,只需在后臺修改即可修復BUG,這是原生APP開發(fā)所不能做到的。
5、在變現(xiàn)能力方面,原生APP開發(fā)勝出
原生應用的分發(fā)平臺,如App Store和Google Play,目前是獲得收入的較為成熟的商業(yè)模式;而html5應用,除了付費下載意外,還沒有形成其他成熟的商業(yè)模式。
6、對于碎片化挑戰(zhàn)而言,html5勝出
盡管二者同樣面臨著嚴重的碎片化問題,不過html5先天具備的跨平臺特性,可以在這方面占領先機。
四、什么情況適合使用html5?什么情況適合使用原生APP?
1、如果APP中出現(xiàn)大段文字(如新聞、攻略等),且格式比較豐富(如加粗,字體多樣),那么多用h5會比較方便。原因是原生開發(fā)解析json對字符串格式處理不算很好。
2、如果講究APP反應速度(含頁面切換流暢性),則選用原生開發(fā),因為h5其本質是網頁,換頁時,基本要加載整個頁面,就像是瀏覽器打開一個新頁面一樣,顯得較慢,而原生系統(tǒng)則只是加載變化部分。
3、如果APP對有無網絡、網絡優(yōu)劣敏感(譬如有離線操作,在線操作),那么,基本選用原生開發(fā),雖然h5可以做到,但是很復雜。
4、如果APP需要頻繁調用硬件(攝像頭、麥克風、未來的濕度檢測儀等等)那么,基本選用原生開發(fā),這樣支持硬件更多,更容易擴展,且調用速度更快,h5就望塵莫及了。
5、如果APP用戶常見頁面切換,如(淘寶首頁各種不同活動),那么h5,維護起來更容易。
6、如果預算有限(h5開發(fā)一套可跨平臺覆蓋安卓、ios、黑莓、塞班),不是很講究用戶體驗,不在乎加載速度,那非h5不可。
以上就是原生APP和h5開發(fā)的區(qū)別以及各自的優(yōu)勢。實際上可以采用h5+原生APP混合模式開發(fā),這種開發(fā)方式能夠充分利用h5和原生APP各自的優(yōu)勢,實現(xiàn)優(yōu)勢最大化。