淺談App原生開發(fā)、混合開發(fā)及HTML5開發(fā)的優(yōu)劣
App混合開發(fā)(英文名:Hybrid App),是指在開發(fā)一款A(yù)pp產(chǎn)品的時(shí)候?yàn)榱颂岣咝?、?jié)省成本即利用了原生的開發(fā)技術(shù)還應(yīng)用了HTML5開發(fā)技術(shù),是原生和HTML5技術(shù)的混合應(yīng)用。目前App的開發(fā)主要包含三種方式:原生開發(fā)、HTML5開發(fā)和混合 開發(fā)。
原生應(yīng)用開發(fā),是在Android、IOS等移動(dòng)平臺上利用官方提供的開發(fā)語言、開發(fā)類庫、開發(fā)工具進(jìn)行App開發(fā)。比如android是利用java、eclipse、Android studio,IOS是利用Objective-C 和Xcode進(jìn)行開發(fā)。原生應(yīng)用由于利用的是官方提供的語言和工具并且能夠直接操控硬件設(shè)備(比如多點(diǎn)觸控、NFC、讀取短信等),在應(yīng)用性能上和交互體驗(yàn)上應(yīng)該是最好的,但是原生應(yīng)用的可移植性比較差,特別是一款原生的App,Android和IOS都要各自開發(fā),同樣的邏輯、界面要寫兩套。
HTML5應(yīng)用開發(fā),是利用Web技術(shù)進(jìn)行的App開發(fā),我們知道web技術(shù)本身需要瀏覽器的支持才能進(jìn)行展示和用戶交互。主要用到的技術(shù)是HTML5、JavaScript、CSS等?,F(xiàn)在還有一些開發(fā)框架可以利用,比如phoneGap、bootstrap、jquery等。H5開發(fā)的好處是可以跨平臺,編寫的代碼可以同時(shí)在Android、IOS、Windows上進(jìn)行運(yùn)行。由于Web技術(shù)本身的限制,H5移動(dòng)應(yīng)用不能直接訪問設(shè)備硬件和離線存儲,所以在體驗(yàn)和性能上有很大的局限性。
混合應(yīng)用開發(fā)正是結(jié)合原生和H5開發(fā)的技術(shù),取長補(bǔ)短的一種開發(fā)模式,原生代碼部分利用WebView插件或者其它的框架為H5提供了一個(gè)容器,程序主要的業(yè)務(wù)實(shí)現(xiàn)、界面展示是利用H5相關(guān)的Web技術(shù)進(jìn)行實(shí)現(xiàn)的。比如現(xiàn)在的京東、淘寶、今日頭條等都是利用的混合開發(fā)模式。
混合開發(fā)的優(yōu)缺點(diǎn):
優(yōu)點(diǎn)是:
1、開發(fā)效率高,節(jié)約時(shí)間同一套代碼Android和IOS基本都可用
2、更新和部署比較方便,不需要每次升級都要上傳到App Store進(jìn)行審核了,只需要在服務(wù)器端升級就可以
3、代碼維護(hù)方便、版本更新快,降低產(chǎn)品成本
缺點(diǎn)是:
1、由于不能直接操控硬件有些方面性能不是很好
2、另外有技術(shù)比較新版本的兼容性比較差,還有就是即懂原生開發(fā)又懂H5開發(fā)的高端人才難找。
混合App開發(fā)是未來的趨勢,目前混合開發(fā)中使用的技術(shù)也很多,主要的混合開發(fā)技術(shù)有jQuery Mobile、React Native、Cordova、APICloud、AppCan等。雖然混合開發(fā)能夠提高效率節(jié)省成本,但也有很多的限制,除了硬件、緩存等的限制,各大平臺之間的兼容性也不足。有的也比較消耗資源。
---------------------
原文:https://blog.csdn.net/mpegfour/article/details/78171150