App 区别
本文的結(jié)構(gòu)主要分為以下部分:
1.app的分類
2.每類app的定義,明確各類app具體是什么
3.各類app的優(yōu)缺點
4.具體開發(fā)過程中,到底該采用哪種類型的app
1.app的分類
大致可以分為這3種:
- native app(原生app)
- web app
- hybrid app(混合app)
2.三類app的定義
**2.1 native app **
中文名稱為“原生app”
來看一下百度百科的定義:基于智能手機本地操作系統(tǒng)如iOS、Android、WP并使用原生程式編寫運行的第三方應用程序,一般開發(fā)的語言為Java、C++等。在使用上的具體表現(xiàn)就是,手機桌面上的圖標點進去基本就是native app了。
2.2 web app
仍然看一下百度百科的定義:基于web的系統(tǒng)和應用,運行于網(wǎng)絡(luò)和瀏覽器之上,目前多采用h5標準開發(fā)。在使用上的具體表現(xiàn)是,手機瀏覽器點擊進入,會有一些應用的小圖標,這些小圖標在點擊后,在瀏覽器里加載的頁面 跟你直接下載一個app后打開的頁面是相同的,這些小圖標代表的就是web app。
2.3 hybrid app
中文名稱是“混合app”
顧名思義,就是 native app 與 web app的混合。在native app里內(nèi)置瀏覽器,合適的功能頁面采用網(wǎng)頁的形式呈現(xiàn)。比如京東的某些營銷頁面,今日頭條的某些新聞頁面、微信的騰訊新聞的內(nèi)容頁面等。
3.各類app的優(yōu)缺點
3.1native app
優(yōu)點:
- 提供最佳用戶體驗,最優(yōu)質(zhì)的用戶界面,流暢的交互
- 可以訪問本地資源
- 可以調(diào)用移動硬件設(shè)備,比如攝像頭、麥克風等
缺點:
- 開發(fā)成本高。每種移動操作系統(tǒng)都需要獨立的開發(fā)項目,針對不同平臺提供不同體驗;
- 發(fā)布新版本慢。下載是用戶控制的,很多用戶不愿意下載更新(比如說,版本發(fā)布到了3.0,但還是有很多1.0的用戶,你可能就得繼續(xù)維護1.0版本的API)
- 應用商店發(fā)布審核周期長。安卓平臺大概要1~3天,而iOS平臺需要的時間更長
3.2 web app
優(yōu)點:
- 不需要安裝包,節(jié)約手機空間
- 整體量級輕,開發(fā)成本低
- 不需要用戶進行手動更新,由應用開發(fā)者直接在后臺更新,推送到用戶面前的都是全新版本,更便于業(yè)務(wù)的開展
- 基于瀏覽器,可以跨平臺使用
缺點:
- 頁面跳轉(zhuǎn)費力,不穩(wěn)定感更強。在網(wǎng)速受到限制時,很多時候出現(xiàn)卡頓或者卡死現(xiàn)象,交互效果受到限制
- 安全性相對較低,數(shù)據(jù)容易泄露或者被劫持
3.3 Hybrid app
這類app集合了上面兩種app各自的優(yōu)勢:
(下面優(yōu)勢點 參考 點擊此處)
- 在實現(xiàn)更多功能的前提下,使得app安裝包不至于過大
- 在應用內(nèi)部打開web網(wǎng)頁,省去了跳轉(zhuǎn)瀏覽器的麻煩
- 主要功能區(qū)相對穩(wěn)定下,增加的功能區(qū)采用web 形式,使得迭代更加方便
- web頁面在用戶設(shè)置不同的網(wǎng)絡(luò)制式時會以不同的形式呈現(xiàn)(以微信朋友圈為例,在數(shù)據(jù)流量下,設(shè)置APNS為WAP時,微信訂閱號內(nèi)容將屏蔽圖片和視頻。這樣就能為用戶省去一部分流量,整個頁面閱讀就不那么友好了)
另外,為什么有些原生app還會做web app呢?
以下圖為例,這是我的手機瀏覽器自帶的幾個web app的圖標
有這么幾點原因:
- 數(shù)據(jù)可以被搜索引擎的爬蟲抓到,并進行索引。如果產(chǎn)品只有一個app,那么它的入口獨立,但同時數(shù)據(jù)也是封閉的。如果用戶從搜索引擎查找的話,是找不到相關(guān)信息的。所以做成web app,可以被搜索引擎找到
- 用戶碎片時間使用,例如一些黏性不高的應用,比如 移動搜索、網(wǎng)址導航等
4.具體開發(fā)過程中,到底該采用哪種類型的app
參考 pmcaff上的 大家公司的app是用原生做的還是h5呢?
本文將做一下整理:
不同的頁面情況選擇不同的開發(fā)方式
- 4.1 如果app中出現(xiàn)了大段文字(如新聞、攻略等),并且格式比較豐富(如加粗、字體多樣等),采用H5較好。原因:原生開發(fā)對解析json字符串格式不是很友好
- 4.2 如果講究app反應速度(含頁面切換流暢性),采用原生開發(fā)。原因:H5本質(zhì)上是網(wǎng)頁,換網(wǎng)頁的時候,基本要加載整個頁面,就像一個瀏覽器打開一個新的網(wǎng)頁一樣,比較慢,而原生系統(tǒng)只需要加載變化的部分
- 4.3 如果app對有無網(wǎng)絡(luò)、網(wǎng)絡(luò)優(yōu)劣敏感(譬如有離線操作、在線操作),則采用原生開發(fā)。雖然H5可以做到,但是比較敏感
- 4.4 如果app要頻繁地調(diào)用硬件設(shè)備(比如攝像頭、麥克風等),則采用原生開發(fā),這樣支持硬件更多,調(diào)用速度更快,H5望塵莫及
- 4.5 如果app用戶常見頁面頻換(如淘寶首頁的各種營銷活動),采用H5,維護起來更容易
- 4.6 如果預算有限(H5開發(fā)一套可在安卓、iOS、黑莓等跨平臺使用)、不在乎用戶體驗、不在乎加載速度,肯定是H5
另:
短期活動,專題營銷類的頁面居多的,可以選擇原生app搭建框架,詳細頁面采用H5,便于活動的隨時修改和管理
主要業(yè)務(wù)流程方面,選擇原生app開發(fā),有更好的用戶體驗,也可以更方便的拓展其他功能
參考閱讀:
作者:產(chǎn)品新人學習路
鏈接:https://www.jianshu.com/p/24bf070a4dcb
來源:簡書
著作權(quán)歸作者所有。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
轉(zhuǎn)載于:https://www.cnblogs.com/huancheng/p/8487169.html
總結(jié)
- 上一篇: DataGrip使用: 表的数据迁移-数
- 下一篇: HttpClient库设置超时