原生/Native:使用原生SDK開(kāi)發(fā)App。優(yōu)點(diǎn)不用說(shuō),當(dāng)你有足夠的資源,這是最理想的方式;缺點(diǎn)是對(duì)不同的 平臺(tái)要分別開(kāi)發(fā),學(xué)習(xí)成本高,開(kāi)發(fā)成本高、開(kāi)發(fā)周期長(zhǎng)、不易于web開(kāi)發(fā)人員和企業(yè)建站公司轉(zhuǎn)型
原生腳本/NativeScript:將原生API封裝成JavaScript接口,這有點(diǎn)像前端的nodejs。NativeScript方式 與原生相比性能損失不大(據(jù)稱(chēng)只有10%左右),優(yōu)點(diǎn)是開(kāi)發(fā)語(yǔ)言統(tǒng)一使用JavaScript,缺點(diǎn)是 要針對(duì)不同的平臺(tái)分別開(kāi)發(fā)。
原生+web/ Hybrid:使用原生技術(shù)開(kāi)發(fā),部分頁(yè)面調(diào)用web。優(yōu)點(diǎn)是比純?cè)_(kāi)發(fā)周期短, 頁(yè)面更新方便,如支付寶,還有很多app的詳情頁(yè)面。缺點(diǎn):需要原生和web配合。
混合/Hybrid:使用web技術(shù)開(kāi)發(fā)App,使用Cordova/PhoneGap之類(lèi)進(jìn)行打包封裝。優(yōu)點(diǎn)是采用標(biāo)準(zhǔn)的web技術(shù)開(kāi)發(fā), 避免了不同平臺(tái)原生開(kāi)發(fā)體系的學(xué)習(xí),學(xué)習(xí)成本低,上手快、效率高,一次開(kāi)發(fā) 微信 wap app全部搞定;缺點(diǎn)是app 在android平臺(tái)性能上有一些損失,但是相信硬件的發(fā)展會(huì)接近原生。
ionic屬于hybrid開(kāi)發(fā)模式,本質(zhì)上是將移動(dòng)web應(yīng)用與瀏覽器打包,優(yōu)點(diǎn)和缺點(diǎn)都很明顯。
Ionic 是現(xiàn)在GitHub上的最火的開(kāi)源項(xiàng)目之一,具有超過(guò)16,000星及以上創(chuàng)建600000Ionic app。
是否采用這種模式,需要根據(jù)具體情況綜合考慮。
不過(guò)在大多數(shù)場(chǎng)景下,如果你已經(jīng)具備一定的web開(kāi)發(fā)經(jīng)驗(yàn),采用這種方式進(jìn)入移動(dòng)App開(kāi)發(fā)領(lǐng)域,還是不錯(cuò)的一個(gè)選擇。 畢竟,將產(chǎn)品低成本地開(kāi)發(fā)出來(lái)并更快地推向市場(chǎng),有時(shí)是最重要的事情。