本文APP設(shè)計原則總體模塊圖如下所示:

APP分類
1、native app(中文名:原生app)
百度百科定義:基于智能手機(jī)本地操作系統(tǒng)如iOS、Android、WP并使用原生程式編寫運行的第三方應(yīng)用程序,一般開發(fā)的語言為Java、C++等。在使用上的具體表現(xiàn)就是,手機(jī)桌面上的圖標(biāo)點進(jìn)去基本就是native app。
2、web app
百度百科的定義:基于web的系統(tǒng)和應(yīng)用,運行于網(wǎng)絡(luò)和瀏覽器之上,目前多采用h5標(biāo)準(zhǔn)開發(fā)。在使用上的具體表現(xiàn)是,手機(jī)瀏覽器點擊進(jìn)入,會有一些應(yīng)用的小圖標(biāo),這些小圖標(biāo)在點擊后,在瀏覽器里加載的頁面
跟你直接下載一個app后打開的頁面是相同的,這些小圖標(biāo)代表的就是web app。
3、hybrid app(中文名:混合app)
顧名思義,就是 native app 與 web app的混合。在native app里內(nèi)置瀏覽器,合適的功能頁面采用網(wǎng)頁的形式呈現(xiàn)。
app優(yōu)缺點
1、native app(中文名:原生app)
優(yōu)點:
提供最佳用戶體驗,最優(yōu)質(zhì)的用戶界面,流暢的交互
可以訪問本地資源
可以調(diào)用移動硬件設(shè)備,比如攝像頭、麥克風(fēng)等
缺點:
開發(fā)成本高。每種移動操作系統(tǒng)都需要獨立的開發(fā)項目,針對不同平臺提供不同體驗;
發(fā)布新版本慢。下載是用戶控制的,很多用戶不愿意下載更新(比如說,版本發(fā)布到了3.0,但還是有很多1.0的用戶,你可能就得繼續(xù)維護(hù)1.0版本的API)
應(yīng)用商店發(fā)布審核周期長。安卓平臺大概要1~3天,而iOS平臺需要的時間更長
2、web app
優(yōu)點:
不需要安裝包,節(jié)約手機(jī)空間
整體量級輕,開發(fā)成本低
不需要用戶進(jìn)行手動更新,由應(yīng)用開發(fā)者直接在后臺更新,推送到用戶面前的都是全新版本,更便于業(yè)務(wù)的開展
基于瀏覽器,可以跨平臺使用
缺點:
頁面跳轉(zhuǎn)費力,不穩(wěn)定感更強(qiáng)。在網(wǎng)速受到限制時,很多時候出現(xiàn)卡頓或者卡死現(xiàn)象,交互效果受到限制
安全性相對較低,數(shù)據(jù)容易泄露或者被劫持
3、hybrid app(中文名:混合app)
優(yōu)點:
在實現(xiàn)更多功能的前提下,使得app安裝包不至于過大
在應(yīng)用內(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選型
1、如果app中出現(xiàn)了大段文字(如新聞、攻略等),并且格式比較豐富(如加粗、字體多樣等),采用H5較好。原因:原生開發(fā)對解析json字符串格式不是很友好
2、如果講究app反應(yīng)速度(含頁面切換流暢性),采用原生開發(fā)。原因:H5本質(zhì)上是網(wǎng)頁,換網(wǎng)頁的時候,基本要加載整個頁面,就像一個瀏覽器打開一個新的網(wǎng)頁一樣,比較慢,而原生系統(tǒng)只需要加載變化的部分
3、如果app對有無網(wǎng)絡(luò)、網(wǎng)絡(luò)優(yōu)劣敏感(譬如有離線操作、在線操作),則采用原生開發(fā)。雖然H5可以做到,但是比較敏感
4、如果app要頻繁地調(diào)用硬件設(shè)備(比如攝像頭、麥克風(fēng)等),則采用原生開發(fā),這樣支持硬件更多,調(diào)用速度更快,H5望塵莫及
5、如果app用戶常見頁面頻換(如淘寶首頁的各種營銷活動),采用H5,維護(hù)起來更容易
6、如果預(yù)算有限(H5開發(fā)一套可在安卓、iOS、黑莓等跨平臺使用)、不在乎用戶體驗、不在乎加載速度,肯定是H5
7、短期活動,專題營銷類的頁面居多的,可以選擇原生app搭建框架,詳細(xì)頁面采用H5,便于活動的隨時修改和管理;主要業(yè)務(wù)流程方面,選擇原生app開發(fā),有更好的用戶體驗,也可以更方便的拓展其他功能
app并存
已有原生APP的背景,可以再次開發(fā)web app
理由:web app數(shù)據(jù)可以被搜索引擎的爬蟲抓到,并進(jìn)行索引。如果產(chǎn)品只有一個app,那么它的入口獨立,但同時數(shù)據(jù)也是封閉的。如果用戶從搜索引擎查找的話,是找不到相關(guān)信息的。所以做成web app,可以被搜索引擎找到
用戶碎片時間使用,例如一些黏性不高的應(yīng)用,比如 移動搜索、網(wǎng)址導(dǎo)航等