手機(jī)APP開發(fā)模式主要有幾種?
自從有了IOS、Andorid手機(jī)操作系統(tǒng)以來,我們就聽到了一個新名詞:App。意思是運(yùn)行在智能移動端設(shè)備的第三方應(yīng)用程序。之后隨著智能手機(jī)、平板電腦的普及,移動端應(yīng)用幾乎成了各行各業(yè)互聯(lián)網(wǎng)產(chǎn)品的標(biāo)配。比如京東、淘寶、百度,除了有PC端的網(wǎng)站外,還有移動端的APP應(yīng)用。移動端的APP類型多種多樣,在開發(fā)一款A(yù)PP產(chǎn)品時,如何高效的快速開發(fā)、快速迭代,是項(xiàng)目研發(fā)階段首要要考慮的問題。此時,選擇合適的開發(fā)模式至關(guān)重要。
1、Native App
即原生開發(fā)模式,開發(fā)出來的是原生應(yīng)用程序,是一個完整的App,需要用戶下載安裝使用。
原生應(yīng)用程序位于平臺層的上方,依賴操作系統(tǒng)運(yùn)行,有很強(qiáng)的交互,可拓展性強(qiáng)。因?yàn)榭梢灾苯诱{(diào)用系統(tǒng)底層的接口,外觀看起來非常優(yōu)秀,和設(shè)備系統(tǒng)界面一樣華麗,運(yùn)行也極其流暢。但也正因?yàn)橐蕾囉谄脚_操作系統(tǒng),在開發(fā)時只能使用平臺支持的語言,比如iOS平臺使用Objective-C語言,安卓平臺使用Java語言等。
2、 Web App
即Web開發(fā)模式,但開發(fā)的是移動端的網(wǎng)站,并將頁面部署在服務(wù)器上,然后用戶使用瀏覽器訪問。Web App不同于Native App,不是獨(dú)立的APP,無法安裝和發(fā)布。 網(wǎng)站一般分兩種:單頁應(yīng)用SPA(Single-page Application) 和多頁應(yīng)用-MPA(Multi-page Application)。SPA單頁應(yīng)用是說一個應(yīng)用整體上來說就只有一個主頁面,其他子頁面通過動態(tài)加載來切換到其他頁面。MPA多頁應(yīng)用于SPA相對,有多個頁面,頁面加載通過正常跳轉(zhuǎn)到其他頁面來加載。
3、Native App
即混合開發(fā)模式,也就是半原生半Web的開發(fā)模式,外層套Native App的殼子,里面填充WebApp的內(nèi)容,可以說Hybrid App是NativeApp到Web APP時代過渡的產(chǎn)物。開發(fā)出來的程序也是獨(dú)立的原生APP,需要用戶下載安裝使用,依賴于平臺操作系統(tǒng)運(yùn)行。
使用Hybrid App開發(fā)模式,我們可以正常使用我們所熟悉的Html、Css、Javascript語言來開發(fā)。一般開發(fā)SDK環(huán)境會把web端基于操作系統(tǒng)底層的一些API進(jìn)行封裝,我們只需要調(diào)用就可以,不需要考慮底層平臺(IOS、Andorid等)的兼容性。發(fā)布時再基于不同平臺的SDK進(jìn)行編譯。
4、React Native App
Facebook發(fā)起的一套新的開源APP開發(fā)方案。Facebook在當(dāng)初深入研究Hybrid開發(fā)后。覺得這種模式有先天的缺陷,所以果斷放棄。轉(zhuǎn)而自行研究。后來推出了自己的“React Native”方案。不同于H5,也不同于原生,更像是用JS寫出原生應(yīng)用。