hybrid app、web app與native app工具的初步比較與分析

主要 前端框架?和打包平臺(tái)、工具

Web App(網(wǎng)頁(yè)應(yīng)用)

????????????使用的主要前端框架 jQuery Mobile 、amazeui??ThinkPHP Mobile 、 mui框架

????????????打包工具:cordova? phonegap?

Hybrid App(混合應(yīng)用)

????????????使用的主要前端框架:mui框架??Vue.js?React.js?Ionic 即Angularjs開發(fā)生態(tài)

????????????打包工具 Hbuilder、Appcan、Wex5、Apicloud

Native App(原生應(yīng)用)

????????????框架:ios 安卓開發(fā)語(yǔ)言

????????????開發(fā)工具:Xcode、Eclipse-ADT/Android Studio

各自特點(diǎn)區(qū)別

Web app:

主要使用H5(html5、css3、js)語(yǔ)言規(guī)范來(lái)編寫,對(duì)JS語(yǔ)言掌握要求較高 。將 APP僅僅作為一個(gè)瀏覽器使用,里面跑在線或者離線的HTML代碼,H5代碼占比超過90%。

Web app的主要工作量在于寫一個(gè)兼容性好的H5頁(yè)面,包括分辨率、性能、瀏覽器支持等問題。如果對(duì)于分別多平臺(tái)(不光iOS、Android,可能還有移動(dòng)網(wǎng)頁(yè)版和微信公眾平臺(tái))做Native應(yīng)用來(lái)說(shuō),肯定總成本是低的。

好處是如果能一套H5代碼搞定多平臺(tái)的話相當(dāng)省時(shí)省力。如果H5代碼寫的好的話,其實(shí)在主流機(jī)型上的適配和體驗(yàn)也都過得去。

這個(gè)方案的缺點(diǎn)也很明顯,在低配機(jī)上性能很差,如果H5代碼寫的不好,兼容性問題一堆,功能、安全性也受到很大的限制。

Hybridapp:

同Webapp使用H5作為主要編程語(yǔ)言,JS將作為主力連接原生SDK模塊,應(yīng)用中包含了Native代碼(就是原生代碼),并且實(shí)現(xiàn)了部分H5體驗(yàn)不好、或者難以實(shí)現(xiàn)的邏輯(比如定位、埋點(diǎn)、本地持久存儲(chǔ)、體感等)。有些情況下,程序的底層框架、核心邏輯、界面框架也會(huì)用Native來(lái)完成,H5只用來(lái)實(shí)現(xiàn)業(yè)務(wù)邏輯,H5代碼占比在40%~80%左右。


上手難度、開發(fā)周期、跨平臺(tái)屬性

上手難度:

Hybridapp/Webapp:寫一次,運(yùn)行任何平臺(tái)。簡(jiǎn)單

React-Native:學(xué)一次,寫任何平臺(tái)。中等

Nativeapp:學(xué)一次,只限運(yùn)行特定平臺(tái)。較難

開發(fā)周期:

Webapp:2~3周

Hybridapp:由于第三方工具兼容性、bug處理問題、調(diào)用js-原生模塊(熟悉文檔),開發(fā)周期在2個(gè)月左右

React-Native:1個(gè)半月~2個(gè)月

Nativeapp:各1個(gè)半月~2個(gè)月

跨平臺(tái)屬性:

Webapp:支持多平臺(tái)

Hybridapp:跨iOS、Android、Wp(PhoneGap支持)多平臺(tái)

React-Native:跨iOS、Android雙平臺(tái)

Nativeapp:不跨平臺(tái)

Hybrid app與Native app(就是原生APP)相比

1)混合式app的用戶體驗(yàn)

頁(yè)面與頁(yè)面之間的切換,也稱轉(zhuǎn)場(chǎng)動(dòng)畫。隨著手機(jī)硬件系統(tǒng)的更新?lián)Q代,webview已有很大程度的提升,但即使是在iphone 6/6s plus上仍然是假性生硬切換,即使無(wú)卡頓。那么要做到諸如微信般切換已然無(wú)可能。

iOS系統(tǒng)如此,安卓系統(tǒng)情況亦不明朗。而由于混合式app依賴模塊實(shí)現(xiàn)原生交互,在沒有大量模塊實(shí)現(xiàn)的情況下,需要使用html5-js來(lái)代替,體驗(yàn)更是大打折扣。

2)UI開發(fā)受限

許多創(chuàng)業(yè)公司由于產(chǎn)品交互需求,需要將app ui做到配色一致或更個(gè)性化(如帶卡通下拉刷新),而混合式app的模塊UI已寫固定,自由化UI定制難。

3)集成第三方sdk

Hybrid app想要使用第三方sdk,首先要使用的工具平臺(tái)支持,如果平臺(tái)不支持,要么你請(qǐng)人寫iOS/android模塊,要么就是等。倘若新集成的sdk出現(xiàn)bug,你所能做的也是等,并沒有其他好的辦法。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,825評(píng)論 25 709
  • React Native優(yōu)秀博客,以及優(yōu)秀的Github庫(kù)列表(很多英文資料源自于[awesome-react-n...
    董董董董董董董董董大笨蛋閱讀 11,003評(píng)論 4 162
  • Lock與synchronized 的區(qū)別 ReentrantLock 擁有Synchronized相同的并發(fā)性和...
    esfak47閱讀 338評(píng)論 0 2
  • “會(huì)講究,能將就,能享受最好的,也能承受最壞的,總會(huì)成為更好的人?!? 差不多做到了百分之八十。慢慢來(lái)...
    _aqu閱讀 255評(píng)論 1 2
  • 每個(gè)周末都下雪,這事真的挺神奇。 如果一次兩次可以叫:偶然性。那五次以上的概率,實(shí)在沒法讓人不YY點(diǎn)什么。 哦!看...
    高小花0218閱讀 198評(píng)論 0 0

友情鏈接更多精彩內(nèi)容