Android 原生開發(fā)、H5、Hybird App使用利弊和場景技術(shù)分享

之前一直在做Java的項(xiàng)目,最近要開發(fā)移動(dòng)端,對App的開發(fā)剛開始的時(shí)候是沒有任何概念的,有接觸也就是玩手機(jī)用過的N多App,這算是真正意義山的第一次和App握手相識!

App,你知道多少?

目前主流的應(yīng)用程序有三大類:

這里寫圖片描述

一、 什么是Native App?

Native App即原生應(yīng)用,即我們一般所稱的客戶端,是針對不同手機(jī)系統(tǒng)單獨(dú)開發(fā)的本地應(yīng)用,如需使用需要先下載到手機(jī)并安裝,下載Native App的最常見方法是訪問應(yīng)用程序商店,如蘋果的App Store、安卓市場、Google Play等。在技術(shù)實(shí)現(xiàn)上一般采用針對操作系統(tǒng)的特定語言進(jìn)行編寫,如:使用Objective-C開發(fā)iOS應(yīng)用,使用Java+Android開發(fā)android應(yīng)用。

優(yōu)點(diǎn)

運(yùn)行效率高

可調(diào)用各種設(shè)備資源

缺點(diǎn)

人力成本高

發(fā)布速度慢(AppStore確認(rèn)的時(shí)間很長)

更新版本的問題(用戶就是不更新?。?/p>

實(shí)現(xiàn)圖文混排等功能擁有各種坑!

二、 什么是Web App?

Web App又叫Web應(yīng)用,簡單的說就是一個(gè)觸屏版的網(wǎng)站。Web應(yīng)用完全用HTML、JavaScript和CSS等Web技術(shù)開發(fā),通過移動(dòng)設(shè)備的瀏覽器來訪問,缺點(diǎn)是這些基于瀏覽器的應(yīng)用無法調(diào)用系統(tǒng)API來實(shí)現(xiàn)一些高級功能,也不適合高性能要求的場合。WebApp的核心思路:

這里寫圖片描述

常見Web App框架對比:

這里寫圖片描述

這里寫圖片描述

優(yōu)點(diǎn)

開發(fā)成本低,使用現(xiàn)有的Web開發(fā)技術(shù)即可

適用范圍廣,覆蓋所有智能手機(jī),跨平臺(tái)和終端

方便、快捷地部署,無需用戶安裝

用戶總能訪問到最新版本,迭代更新容易

可被搜索引擎收錄并帶來流量

缺點(diǎn)

瀏覽體驗(yàn)短期內(nèi)還無法超越原生應(yīng)用

不支持離線模式(HTML5將會(huì)解決這個(gè)問題)

消息推送不夠及時(shí)

調(diào)用本地文件系統(tǒng)的能力弱

較差的和較慢的性能體驗(yàn)(大部分需要鏈接互聯(lián)網(wǎng))

支持圖形和動(dòng)畫效果較差

不適用于應(yīng)用商店及沒有靠下載應(yīng)用盈利機(jī)會(huì)

限制用戶使用功能(比如,相機(jī)、GPS等)

這里寫圖片描述

Web APP 的開發(fā)基于HTML5語言。而html5語言本身又有著不可避免的局限性。正是這些局限性的存在,使得Web App在體驗(yàn)中要遜于Native App。具體的首先因素及設(shè)計(jì)要點(diǎn)大家可以去參考《聊聊Web App、Hybrid App與Native App的設(shè)計(jì)差異

三、 什么是Hybrid App?

Hybrid App又叫混合應(yīng)用,是一種介于Native App、Web App之間的App,它雖然看上去是一個(gè)Native App,但只是一個(gè)UI WebView,里面訪問的是一個(gè)Web App。Hybrid App實(shí)質(zhì)是偽造一個(gè)瀏覽器的apk/ipa原生程序,并運(yùn)行了一個(gè)Web APP。Hybrid App兼具“Native App良好用戶交互體驗(yàn)的優(yōu)勢”和“Web App跨平臺(tái)開發(fā)的優(yōu)勢”。它可以使web開發(fā)人員可以幾乎零成本的轉(zhuǎn)型成移動(dòng)應(yīng)用開發(fā)者,并且相同的代碼只需針對不同平臺(tái)進(jìn)行編譯就能實(shí)現(xiàn)在多平臺(tái)的分發(fā),而相較于Web App,開發(fā)者可以通過包裝好的接口,調(diào)用大部分常用的系統(tǒng)API。

優(yōu)點(diǎn)

綜合了開發(fā)效率和運(yùn)行效率

發(fā)版本更方便

缺點(diǎn)

運(yùn)行效率中等(切換等交互效果)

需要寫一點(diǎn)原生代碼(至少2個(gè)平臺(tái))

四、 Web App、Hybrid App、Native App比較

|條件\應(yīng)用程序|Web App|Hybrid App|Native App|
| --:--|--:--|--:--|--:--|
|開發(fā)成本|低|中|高|
|維護(hù)更新|簡單|簡單|復(fù)雜|
|體驗(yàn)|差|優(yōu)|優(yōu)|
|Store或market認(rèn)可|不認(rèn)可|認(rèn)可認(rèn)可|
|安裝|不需要|需要|需要|
|跨平臺(tái)|優(yōu)|優(yōu)|差|
|開發(fā)語言|網(wǎng)頁語言HTML5+JS|網(wǎng)頁或原生語言|原生語言O(shè)bjectC、java、net等|
|跨平臺(tái)性|高|高|低|
|設(shè)備能力|低|高|高|
|向后兼容|好|好|差|

從上面的表格中可以看出,沒有哪一種開發(fā)方法總是提供所有的優(yōu)點(diǎn)。每一種開發(fā)方法有天生的局限性,沒有哪一種方法能夠滿足現(xiàn)代移動(dòng)企業(yè)的所有要求、應(yīng)對復(fù)雜情況。選擇一種合適的方法取決于企業(yè)的具體要求,可能取決于諸多因素,比如預(yù)算、時(shí)間表、內(nèi)部資源、目標(biāo)市場、所需的應(yīng)用程序功能、IT基礎(chǔ)設(shè)施及其他許多方面。但是有一點(diǎn)很清楚:如今的大多數(shù)公司顯然在兩個(gè)方面之間作取舍:一是用戶體驗(yàn)和應(yīng)用程序功能,另一是開發(fā)成本和產(chǎn)品上市時(shí)間。問題就變成了選擇一種合適的開發(fā)方法,能兼顧企業(yè)的要求和其在預(yù)算和產(chǎn)品上市時(shí)間方面的限制。

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

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

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