WebApp開(kāi)發(fā)
現如今APP開(kāi)發(fā)有兩個(gè)主流的方向:原生App 以及移動(dòng)Web App。那么您是否知道這兩者有何區別?什么是原生APP,什么是web APP?
什么是原生APP?
在智能手機上運行的App應用程序有NativeAPP(基于本地操作系統運行)和Web APP(基于手機瀏覽器運行),其中Native App就是原生App的意思,所以原生App開(kāi)發(fā)也就是指基于本地操作系統的App開(kāi)發(fā)服務(wù)。如今市面上多數的APP軟件開(kāi)發(fā)都是使用的原生程序編寫(xiě)的應用程序,也就是說(shuō)大部分的手機APP屬于原生APP應用軟件。
原生APP訪(fǎng)問(wèn)和兼容的能力也比較好,可以支持在線(xiàn)或者離線(xiàn)消息推送或是進(jìn)行本地資源訪(fǎng)問(wèn),以及攝像、撥號、藍牙、功能的調取。原生APP開(kāi)發(fā)有許多的優(yōu)勢,如原生APP是針對不同的平臺為用戶(hù)提供不同的體驗、原生應用可以節約寬帶成本、訪(fǎng)問(wèn)本地資源、打開(kāi)的速度更快并為用戶(hù)提供最佳的用戶(hù)體驗和優(yōu)質(zhì)的用戶(hù)界面等。
什么是web APP?
Web App是一種框架型APP開(kāi)發(fā)模式(HTML5 APP 框架開(kāi)發(fā)模式),具有跨平臺的優(yōu)勢,該模式通常由“HTML5云網(wǎng)站+APP應用客戶(hù)端”兩部分構成,APP應用客戶(hù)端只需安裝應用的框架部份,而應用的數據則是每次打開(kāi)APP的時(shí)候,去云端取數據呈現給手機用戶(hù)。
原生APP和webApp的對比
1.開(kāi)發(fā)方面
原生APP:每一種移動(dòng)操作系統都需要獨立的開(kāi)發(fā)項目,iphone版本、Ipad版本、安卓版本。每種平臺都需要獨立的開(kāi)發(fā)語(yǔ)言。Java(Android), Objective-C(iOS)等等3.需要使用各自的軟件開(kāi)發(fā)包,開(kāi)發(fā)工具以及各自的控件。開(kāi)發(fā)成本高、開(kāi)發(fā)速度慢、維護成本高。三個(gè)平臺(IOS、安卓、windows)的規則、推廣、運營(yíng)都不相同。官方應用商店對APP上線(xiàn)審核流程比較復雜而且很慢,會(huì )嚴重影響APP的發(fā)布上線(xiàn)。
Web App :因為運行在移動(dòng)設備的瀏覽器上,所以只需要一個(gè)開(kāi)發(fā)項目。可以通過(guò)HTML、 CSS或者JavaScript來(lái)進(jìn)行Web APP的開(kāi)發(fā)。開(kāi)發(fā)成本低、開(kāi)發(fā)速度快。
2.功能方面
原生App:原生APP是一個(gè)系統性的應用程序,可以類(lèi)比于電腦上的軟件。原生app可以調用移動(dòng)終端的硬件設備, 比如:麥克風(fēng)、攝像頭、短信、GPS、藍牙、重力感應等。實(shí)現功能豐富
Web App:Web APP可以類(lèi)比于電腦上的網(wǎng)頁(yè)。Web APP更多是頁(yè)面展示類(lèi)的APP。只能使用有限的移動(dòng)硬件設備功能。更多用于頁(yè)面展示,側重于簡(jiǎn)單的交互,無(wú)法使用很多硬件設備獨特的功能。
3.應用安裝使用方面
原生App:需要通過(guò)應用商店將原生app下載到手機上或移動(dòng)終端上。以獨立的應用程序運行
用戶(hù)必須手動(dòng)去下載并安裝這些原生App,原生應用可以節約寬帶成本,可以訪(fǎng)問(wèn)本地資源、緩存。
Web App:通過(guò)移動(dòng)設備上的瀏覽器訪(fǎng)問(wèn),軟件更新只需要更新服務(wù)器就夠了,用戶(hù)層面不需要做任何操作。不需要安裝客戶(hù)端,可以節省手機終端的內存空間。
4.版本控制方面
原生App:用戶(hù)可以自由地選擇是否更新軟件版本,所以會(huì )出現不同用戶(hù)同時(shí)使用不同版本的情況。同時(shí)也會(huì )導致維護成本比較高。使用舊版本的用戶(hù)無(wú)法體驗新版本的完整功能。
Web App:所有的用戶(hù)都是用同樣的版本,所有用戶(hù)獲得的功能都是相同的。版本更新比較方便,直接在服務(wù)器側更新數據即可。一個(gè)功能做好了就能上線(xiàn),一天更新幾十次都毫無(wú)壓力。如果客戶(hù)端只是個(gè)瀏覽器,那一切都會(huì )變得很簡(jiǎn)單。另外web統一性高,跨平臺適用時(shí)開(kāi)發(fā)量少。由于其入口不明顯(瀏覽器導航或者隨意點(diǎn)擊鏈接進(jìn)入),讓用戶(hù)記住的門(mén)檻也隨之拔高,每次推廣導入的流量都可能淪為一次性努力,用戶(hù)留存率低。
5.加載速度方面
原生App:原生APP由“云服務(wù)器數據+APP應用客戶(hù)端”兩部分構成,APP應用所有的UI元素、數據內容、邏輯框架均安裝在手機終端上。訪(fǎng)問(wèn)的時(shí)候,不需要重新下載加載應用頁(yè)面框架,只需要加載數據即可。所以加載速度更快,頁(yè)面響應更快。
Web App:而Web APP打開(kāi)一個(gè)頁(yè)面,都需重新加載頁(yè)面的所有元素,訪(fǎng)問(wèn)速度受手機終端性能和網(wǎng)絡(luò )環(huán)境的限制,導致加載速度慢,而且操作頻繁容易卡死。
總結
原生App偏向于交互,注重用戶(hù)體驗(導航切換、勾選選項、圖片、視頻等操作),Web APP偏向與瀏覽和簡(jiǎn)單的交互。 一些功能需要訪(fǎng)問(wèn)硬件(攝像頭、傳感器等),使用原生App, Web APP用于信息展示。 成本有限時(shí),核心的功能使用原生APP,周邊輔助的功能可以使用Web App。
現狀:比較流行的方法就是將原生App 和Web App進(jìn)行融合,就是說(shuō)應用大的框架是原生的,其他詳細的內容就通過(guò)網(wǎng)頁(yè)封裝,這樣做的好處就是在方便更新的同時(shí),也能保證核心功能的交互體驗。