首頁技術(shù)文章正文

移動app Native、Web、Hybrid開發(fā)模式

更新時間:2022-04-29 來源:黑馬程序員 瀏覽量:

移動App即移動設(shè)備上的應(yīng)用軟件。目前移動App開發(fā)主要分為三種模式:Native App、Web App和Hybrid App。

1. Native App
Native App是指本地應(yīng)用程序,后文稱之為原生App,如圖1-1所示。
從圖1-1中可以看到,原生App內(nèi)部運(yùn)行的是二進(jìn)制數(shù)據(jù)(機(jī)器碼);也就是說,原生語言最后是直接轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)執(zhí)行的,并且可以直接調(diào)用底層的設(shè)備API,如手機(jī)振動、攝像頭、日歷和地理位置等。

Native App

原生App是使用相應(yīng)平臺特有的開發(fā)工具和語言進(jìn)行開發(fā)的(如Android App),這使得應(yīng)用程序外觀和性能極佳,但是開發(fā)成本較高,因為每一種移動操作系統(tǒng)都需要獨立的開發(fā)項目,對企業(yè)來說人員需求量較大。

2. Web App

WebApp是指網(wǎng)頁應(yīng)用程序,后文稱之為移動Web,移動Web需要依賴于Mobile Browser(移動設(shè)備中的瀏覽器)運(yùn)行,內(nèi)部執(zhí)行普通的網(wǎng)頁代碼,也可以理解為在移動設(shè)備瀏覽器中運(yùn)行的Web應(yīng)用。

移動Web主要使用HTML5移動Web技術(shù)進(jìn)行開發(fā),包括HTML5、CSS3和JavaScript等。由于只依賴移動設(shè)備瀏覽器,可實現(xiàn)“一次編寫,多個設(shè)備上運(yùn)行”。雖然開發(fā)人員只使用HTML5和JavaScript就能構(gòu)建功能復(fù)雜的應(yīng)用程序,但目前仍然存在一些局限性,例如沒訪問原生設(shè)備API的功能。

3. Hybrid App

HybridApp是指混合模式移動應(yīng)用,后文稱之為混合App。

Hybrid App

在圖1-3中可以看到,混合App需要依賴Native Container(原生容器)運(yùn)行,Native Container內(nèi)部可以運(yùn)行網(wǎng)頁代碼,還可以調(diào)用設(shè)備API。

混合App主要通過Web前端技術(shù)來實現(xiàn),是介于移動Web和原生App這兩者之間的App開發(fā)方式?;旌螦pp開發(fā)的具體實現(xiàn)方式是:在一個原生ApP中內(nèi)嵌一個輕量級的瀏覽器,然后使用HTML5開發(fā)一部分原生功能,這部分功能能夠在不升級APP的情況下動態(tài)更新。由于是嵌套在原生APP中,這讓混合APP有了訪問原生設(shè)備API的能力?!耙淮伍_發(fā),多平臺運(yùn)行”的特點使得混合App開發(fā)方式在不影響用戶體驗的同時還可以節(jié)省開發(fā)的成本。

以上三種移動App開發(fā)模式從開發(fā)成本、維護(hù)更新和安裝等角度進(jìn)行了對比,如表1-1所示。
移動app開發(fā)方式對比

在表1-1中可以看出,原生App的開發(fā)成本最高,那么同樣是跨平臺的App技術(shù),為什么混合App的成本要高于移動Web?混合App兼具原生App和移動Web的優(yōu)勢,混合App開發(fā)要比普通移動Web開發(fā)的技術(shù)要求更高,因此在資源需求相同的情況下,混合App比移動Web開發(fā)成本也更高。

混合App是嵌套在“原生殼”里的,因此這些App在App Store或Market(手機(jī)應(yīng)用商店)中都是認(rèn)可的。





分享到:
在線咨詢 我要報名
和我們在線交談!