原生App和封裝的H5、APP的區(qū)別是怎樣的?想要了解區(qū)別,先要了解原生APP與封裝H5 APP分別是什么?
【原生APP開(kāi)發(fā)】:
原生APP,原生APP開(kāi)發(fā)即我們所稱(chēng)的傳統(tǒng)APP開(kāi)發(fā)模式(原生APP開(kāi)發(fā)模式),該開(kāi)發(fā)方式針對(duì)蘋(píng)果、Android/ target=_blank class=infotextkey>安卓手機(jī)操作系統(tǒng)要采用不同的語(yǔ)言和框架進(jìn)行開(kāi)發(fā),通常由云服務(wù)器數(shù)據(jù)+APP應(yīng)用客戶(hù)端兩部份組成,原生APP應(yīng)用所有的UI元素、數(shù)據(jù)內(nèi)容、邏輯框架均安裝在手機(jī)終端上。
原生應(yīng)用開(kāi)發(fā)技術(shù),可訪(fǎng)問(wèn)手機(jī)所有功能(GPS、攝像頭),速度更快、性能高、整體用戶(hù)體驗(yàn)不錯(cuò),而且是用JAVA 編寫(xiě)的。原生應(yīng)用是特別為某種操作系統(tǒng)開(kāi)發(fā)的,比如IOS、ANDROID、等等,它們是在各自的移動(dòng)設(shè)備上運(yùn)行的。
原生應(yīng)用由于采用一行一行手寫(xiě)代碼的方式開(kāi)發(fā),所以它的開(kāi)發(fā)周期比較長(zhǎng),成本比較高,并且原生應(yīng)用沒(méi)有夸平臺(tái)兼容的能力,所以針對(duì)每個(gè)平臺(tái)都要完全重新開(kāi)發(fā),例如安卓平臺(tái)需要開(kāi)發(fā)一次,IOS平臺(tái)需要開(kāi)發(fā)一次,甚至針對(duì)各種不同尺寸大小的移動(dòng)手機(jī)/設(shè)備機(jī)型號(hào)、各種使用不同硬件的安卓設(shè)備適配,它們的屏幕、CPU、操作系統(tǒng)不同,也需要針對(duì)這些不同的機(jī)型開(kāi)展相應(yīng)的開(kāi)發(fā)工作。
原生APP開(kāi)發(fā)有以下特點(diǎn):
1、每次獲取最新的APP功能,需要升級(jí)APP應(yīng)用;2、原生型APP應(yīng)用的安裝包相對(duì)較大,包含UI元素、數(shù)據(jù)內(nèi)容、邏輯框架;3、手機(jī)用戶(hù)無(wú)法上網(wǎng)也可訪(fǎng)問(wèn)APP應(yīng)用中以前下載的數(shù)據(jù)。
4、原生型的APP可以調(diào)用手機(jī)終端的硬件設(shè)備(語(yǔ)音、攝像頭、短信、GPS、藍(lán)牙、重力感應(yīng)等)5、APP應(yīng)用更新新功能,涉及到每次要向各個(gè)應(yīng)用商店進(jìn)行提交審核。
原生APP適用企業(yè):游戲、電子雜志、管理應(yīng)用、物聯(lián)網(wǎng)等無(wú)需經(jīng)常更新程序框架的APP應(yīng)用。
【封裝的H5 APP開(kāi)發(fā)】:
封裝APP開(kāi)發(fā)即是一種框架型APP開(kāi)發(fā)模式(html5 APP框架開(kāi)發(fā)模式),該開(kāi)發(fā)具有跨平臺(tái)的優(yōu)勢(shì),通常由HTML5云網(wǎng)站+APP應(yīng)用客戶(hù)端兩部份構(gòu)成,APP應(yīng)用客戶(hù)端只需安裝應(yīng)用的框架部份,而應(yīng)用的數(shù)據(jù)則是每次打開(kāi)APP的時(shí)候,去云端取數(shù)據(jù)呈現(xiàn)給手機(jī)用戶(hù)。
HTML5(H5)是用于取代1999年所制定的 HTML 4.01 和 XHTML 1.0的標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言。是新一代的支持移動(dòng)互聯(lián)網(wǎng)網(wǎng)頁(yè)開(kāi)發(fā)技術(shù)。HTML5擁有良好的頁(yè)面表現(xiàn)性能和跨平臺(tái)兼容性。
HTML5它的開(kāi)發(fā)是通過(guò)谷歌、蘋(píng)果,諾基亞、中國(guó)移動(dòng)等幾百家公司一起醞釀的技術(shù),這個(gè)技術(shù)最大的好處在于它是一個(gè)公開(kāi)的技術(shù)。
是現(xiàn)實(shí)的網(wǎng)絡(luò)標(biāo)準(zhǔn),這意味著它將大大降低用戶(hù)的開(kāi)發(fā)成本和跨平臺(tái)兼容性。比如你委托一家供應(yīng)商開(kāi)發(fā)了一款HTML5應(yīng)用,可以很輕易地移植到UC的開(kāi)放平臺(tái)、OPERA的開(kāi)發(fā)平臺(tái)、FACEBOOK應(yīng)用平臺(tái),甚至可以通過(guò)封裝的技術(shù)發(fā)放到APP STORE或google PLAY上,所以它的跨平臺(tái)非常強(qiáng)大,也是大多數(shù)人對(duì)HTML5有興趣的主要原因。
同時(shí),HTML5可以很好解決多種型號(hào)顯示屏幕的兼容性問(wèn)題,通過(guò)一次設(shè)計(jì),即可普遍兼容很多大小不一致的顯示設(shè)備,這解決了其他開(kāi)發(fā)技術(shù)需要 針對(duì)不同大小的屏幕分別開(kāi)發(fā)界面得難題,傳統(tǒng)上非HTML5技術(shù)開(kāi)發(fā)的程序會(huì)面臨很多顯示的問(wèn)題,例如安卓的系統(tǒng)根據(jù)不同屏幕分辨率就需要分別設(shè)計(jì),這將導(dǎo)致用戶(hù)的開(kāi)發(fā)成本急劇上升。
但由于HTML5技術(shù)無(wú)法對(duì)硬件底層的功能進(jìn)行調(diào)用,所以限制了HTML5技術(shù)的應(yīng)用,這將導(dǎo)致需要系統(tǒng)底層來(lái)支持的功能無(wú)法通過(guò)HTML5技術(shù)來(lái)實(shí)現(xiàn)。
封裝H5 APP開(kāi)發(fā)有以下特點(diǎn):
1、每次打開(kāi)APP,都要通過(guò)APP框架向云網(wǎng)站取UI及數(shù)據(jù);2、手機(jī)用戶(hù)無(wú)法上網(wǎng)則無(wú)法訪(fǎng)問(wèn)APP應(yīng)用中的數(shù)據(jù)。
3、框架型的APP無(wú)法調(diào)用手機(jī)終端的硬件設(shè)備(語(yǔ)音、攝像頭、短信、GPS、藍(lán)牙、重力感應(yīng)等)4、框架型APP的訪(fǎng)問(wèn)速度受手機(jī)終端上網(wǎng)的限制,每次使用均會(huì)消耗一定的手機(jī)上網(wǎng)流量;5、框架型APP應(yīng)用的安裝包小巧,只包含框架文件,而大量的UI元素、數(shù)據(jù)內(nèi)容剛存放在云端;6、APP用戶(hù)每次都可以訪(fǎng)問(wèn)到實(shí)時(shí)的最新的云端數(shù)據(jù);7、APP用戶(hù)無(wú)須頻繁更新APP應(yīng)用,與云端實(shí)現(xiàn)的是實(shí)時(shí)數(shù)據(jù)交互;封裝的H5 APP適用企業(yè):電子商務(wù)、金融、新聞資訊、企業(yè)集團(tuán)等需經(jīng)常更新內(nèi)容的APP應(yīng)用。
結(jié)論:
1、 預(yù)算有限的情況下,建議選擇HTML5封裝APP;2、 用戶(hù)體驗(yàn)要求高的情況下,建議選擇原生APP;3、 開(kāi)發(fā)速度要求快的情況下,建議選擇HTML5封裝APP;4、 必須用到某個(gè)HTML5不支持的系統(tǒng)功能的情況下,建議選擇原生APP。
5、 可根據(jù)項(xiàng)目實(shí)際情況 采用混裝形式 取各方所長(zhǎng)。
清楚了原生APP、封裝H5 APP分別是什么 后,我們現(xiàn)在就具體幾個(gè)方面來(lái)看看它們的區(qū)別:
一、開(kāi)發(fā)方面
原生APP開(kāi)發(fā)
1、每一種移動(dòng)操作系統(tǒng) 都需要獨(dú)立的開(kāi)發(fā)項(xiàng)目2、每種平臺(tái)都需要獨(dú)立的開(kāi)發(fā)語(yǔ)言。JAVA(ANDROID), OBJECTIVE-C(IOS)以及VISUAL C++ (windows MOBILE)等等3、 需要使用各自的軟件開(kāi)發(fā)包,開(kāi)發(fā)工具以及各自的控件封裝的1、因?yàn)檫\(yùn)行在移動(dòng)設(shè)備的瀏覽器上,所以只需要一個(gè)開(kāi)發(fā)項(xiàng)目2、這種應(yīng)用可以使用HTML5,css3以及JavaScript以及服務(wù)器端 語(yǔ)言來(lái)完成(php,RUBY ON RAILS,Python)3、這里可沒(méi)有標(biāo)準(zhǔn)的SDK,基本任意選擇別忘了有一些跨平臺(tái)的開(kāi)發(fā)工具,比如PHONEGAP, SENCHA TOUCH 2,APPCAN以及APPCELERATOR TITANIUM等等。
二、能力方面
原生APP:能夠與移動(dòng)硬件設(shè)備的底層功能,比如個(gè)人信息,攝像頭以及重力加速器 等等封裝的H5 APP:只能使用有限的移動(dòng)硬件設(shè)備功能。
三、獲取方法
原生APP開(kāi)發(fā)
1、直接下載到設(shè)備
2、以獨(dú)立的應(yīng)用程序運(yùn)行(并不需要瀏覽器
3、用戶(hù)必須手動(dòng)去下載并安裝這些原生
4、有一些商店與賣(mài)場(chǎng)來(lái)幫助用戶(hù)尋找你的APP,目前APP市場(chǎng)不計(jì)其數(shù)封裝的
5、因?yàn)楝F(xiàn)在沒(méi)有什么商品或賣(mài)場(chǎng)提供這種APP,所以如何搜索這些移動(dòng)的封裝的H5 APP相當(dāng)不簡(jiǎn)單。
四、版本控制
原生APP開(kāi)發(fā):用戶(hù)可以自由地選擇是否更新軟件版本,所以會(huì)出現(xiàn)不同用戶(hù)同時(shí)使用不同版本的情況封裝的H5 APP:所有的用戶(hù)都是用同樣的版本五、優(yōu)勢(shì)原生APP開(kāi)發(fā)
1、比移動(dòng)WEB APP運(yùn)行快
2、一些商店與賣(mài)場(chǎng)會(huì)幫助用戶(hù)尋找原生
3、官方賣(mài)場(chǎng)的應(yīng)用審核流程會(huì)保證讓用戶(hù)得到高質(zhì)量以及安全的APP4、官方會(huì)發(fā)布很多開(kāi)發(fā)工具或者人工支持來(lái)幫助你的開(kāi)發(fā)封裝的
4、如果你已經(jīng)有了一個(gè)封裝的H5 APP,你可以使用 RESPONSIVE WEB DESIGN來(lái)輔助改進(jìn)
六、缺陷原生APP開(kāi)發(fā)
1、開(kāi)發(fā)成本高,尤其是當(dāng)需要多種移動(dòng)設(shè)備來(lái)測(cè)試時(shí)2、因?yàn)槭遣煌拈_(kāi)發(fā)語(yǔ)言,所以開(kāi)發(fā),維護(hù)成本也高3、因?yàn)橛脩?hù)使用的APP版本不同,所以你維護(hù)起來(lái)很困難4、官方賣(mài)場(chǎng)審核流程復(fù)雜且慢,會(huì)嚴(yán)重影響你的發(fā)布進(jìn)程封裝的1、無(wú)法使用很多移動(dòng)硬件設(shè)備的獨(dú)特功能
2、要同時(shí)支持多種移動(dòng)設(shè)備的瀏覽器讓開(kāi)發(fā)維護(hù)的成本也不低
3、如果用戶(hù)使用更多的新型瀏覽器,那問(wèn)題就更不好處理了
4、對(duì)于用戶(hù)來(lái)說(shuō),這種APP很難被用戶(hù)發(fā)現(xiàn)講了這么多,無(wú)非就是說(shuō)原生與H5在A(yíng)PP開(kāi)發(fā)方面上的區(qū)別,讓我們要分清楚市場(chǎng)APP質(zhì)量,免低因低廉價(jià)格源碼,注意批量銷(xiāo)售程序內(nèi)嵌的后門(mén)程序等,防止數(shù)據(jù)泄密,造成重大損失等。https://www.dyidapp.com/