原生開發(fā)、H5開發(fā)和混合開發(fā)三種模式。
原生開發(fā)是在Android、IOS移動平臺上利用開發(fā)語言、開發(fā)API、開發(fā)工具進(jìn)行App軟件開發(fā)。例如Android是利用Java、Eclipse、Android studio;IOS是利用Objective-C 和Xcode等進(jìn)行開發(fā)。
通俗點來講,原生開發(fā)就像建樓房,先設(shè)計樓房結(jié)構(gòu),后打地基、添加磚瓦、鋼筋水泥、布置線路等。原生APP也一樣是從零開始:通過代碼從每個頁面、每個功能、每個效果、每個邏輯、每個步驟全部用代碼寫出來,一層層,一段段全用代碼寫出來。
原生開發(fā)優(yōu)點:
1.可訪問手機所有功能(如GPS、攝像頭等)、可實現(xiàn)功能齊全;
2.運行速度快、本地運算性能高;
3.支持大量圖形和動畫的處理和展現(xiàn),不卡頓,反應(yīng)快;
原生開發(fā)缺點:
1.制作費用高昂,成本較高,一款原生的App,Android和IOS都要各自開發(fā),同樣的邏輯、界面要寫兩套;
2.開發(fā)周期長,快則3個月左右,慢則半年左右;
2.可移植性比較差,除Android和IOS之間不通用外,不同終端機型和不同版本操作系統(tǒng)之間的兼容性問題大。
4.IOS版本和內(nèi)容受App Store限制大;
5.獲得新版本時需重新下載應(yīng)用更新。
H5開發(fā)是HTML的第5代標(biāo)準(zhǔn),是利用Web技術(shù)進(jìn)行的App開發(fā)。Web技術(shù)本身需要瀏覽器的支持才能進(jìn)行展示和用戶交互,因此主要用到的技術(shù)是H5、JS、CSS等。
H5開發(fā)優(yōu)點:
1.支持設(shè)備范圍廣,可以跨平臺,編寫的代碼不受終端和操作系統(tǒng)限制,可運行在任何瀏覽器中;
2.開發(fā)成本低、周期短;
3.無內(nèi)容限制;
4.適合展示有大量文字?jǐn)?shù)據(jù)的呈現(xiàn),且格式比較豐富的頁面;
5.用戶可以直接使用新版本(無需更新,打開即訪問最新的版本)。
H5缺點:
1.由于Web技術(shù)本身的限制,H5移動應(yīng)用不能直接訪問設(shè)備硬件和離線存儲,所以在配合終端設(shè)備功能的調(diào)用上有很大的局限性;
2.對網(wǎng)絡(luò)要求高,離線不能做任何操作;
3.頁面需要通過在線讀取后才能反映,頁面切換流暢性較差;
5.大量的圖片和高性能運算的動畫支持性不太高;
混合開發(fā),是指在開發(fā)一款A(yù)pp產(chǎn)品的時候,為了提高效率、節(jié)省成本而利用原生與H5的開發(fā)技術(shù)的混合應(yīng)用。通俗點來說,這就是網(wǎng)頁的模式,通常由“H5界面+APP應(yīng)用客戶端”兩部融合構(gòu)成。
混合開發(fā)是一種取長補短的開發(fā)模式,原生代碼部分利用插件或者其它框架為H5提供容器,程序主要的業(yè)務(wù)實現(xiàn)、界面展示都是利用與H5相關(guān)的技術(shù)進(jìn)行實現(xiàn)的。很多APP都是利用混合開發(fā)模式而成的。
混合開發(fā)優(yōu)點:
1、開發(fā)效率高,節(jié)約時間。同一套代碼可生成Android和IOS套APP;
2、更新和部署比較方便,每次升級版本只需要在服務(wù)器端升級即可;
3、代碼維護(hù)方便、版本更新快,節(jié)省產(chǎn)品成本;
4、兼容原生APP和H5版的功能和有點;
5、功能應(yīng)用靈活,并可離線運行。
混合開發(fā)缺點:
1、性能相對原生APP要慢。