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