本文的結構主要分爲如下部分:
1.app的分類
2.每類app的定義,明確各種app具體是什麼
3.各種app的優缺點
4.具體開發過程當中,到底該採用哪一種類型的apphtml
1.app的分類
大體能夠分爲這3種:web
- native app(原生app)
- web app
- hybrid app(混合app)
2.三類app的定義
**2.1 native app **
中文名稱爲「原生app」
來看一下百度百科的定義:基於智能手機本地操做系統如iOS、Android、WP並使用原生程式編寫運行的第三方應用程序,通常開發的語言爲Java、C++等。在使用上的具體表現就是,手機桌面上的圖標點進去基本就是native app了。json
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
優勢: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開發,有更好的用戶體驗,也能夠更方便的拓展其餘功能
參考閱讀:
- 你們公司的app是用原生作的仍是h5的呢?
- H5將來真的會取代APP嗎?
- 爲何各大公司一直熱衷於研究使用web app替換原生app?
- 科普:Native App、Web App與Hybrid App
- Web App 和 Native App,哪一個是趨勢?
- 關於H5的介紹
做者:產品新人學習路 連接:https://www.jianshu.com/p/24bf070a4dcb 來源:簡書 著做權歸做者全部。商業轉載請聯繫做者得到受權,非商業轉載請註明出處。