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