原生APP和Web APP的區別
原生App
⊙ 每壹種移動操作系統都需要獨立的開發項目
⊙ 每種平臺都需要獨立的開發語言。Java(Android), Objective-C(iOS)以及Visual C++(Windows Mobile)等等
⊙ 需要使用各自的軟件開發包,開發工具以及各自的控件
移動Web App
⊙ 因為運行在移動設備的瀏覽器上,所以只需要壹個開發項目
⊙ 這種應用可以使用HTML5,CSS3以及JavaScript以及服務器端語言來完成(PHP,Ruby on Rails,Python)
⊙ 這裏可沒有標準的SDK,基本任意選擇別忘了有壹些跨平臺的開發工具,比如PhoneGap, Sencha Touch 2,APPcan以及Appcelerator Titanium等等。
能力方面
原生App
⊙ 能夠與移動硬件設備的底層功能,比如個人信息,攝像頭以及重力加速器等等
移動Web App
⊙ 只能使用有限的移動硬件設備功能。
獲取方法
原生App
⊙ 直接下載到設備
⊙ 以獨立的應用程序運行(並不需要瀏覽器)
⊙ 用戶必須手動去下載並安裝這些原生App
⊙ 有壹些商店與賣場來幫助用戶尋找妳的App,目前app市場不計其數,比較有名氣的有:
360手機助手:/
安卓市場:/
木螞蟻:/
安智:/
應用匯:/
樂商店:/
飛流:/html/index.html
小米:/
N多網:/
移動Web App
⊙ 從移動設備上的瀏覽器訪問
⊙ 不需要安裝額外的軟件
⊙ 軟件更新只需要服務器就夠了
⊙ 因為現在沒有什麽商品或賣場提供這種App,所以如何搜索這些移動Web App相當不簡單
版本控制
原生App
⊙ 用戶可以自由地選擇是否更新軟件版本,所以會出現不同用戶同時使用不同版本的情況
移動Web App
⊙ 所有的用戶都是用同樣的版本
優勢
原生App
⊙ 比移動Web App運行快
⊙ 壹些商店與賣場會幫助用戶尋找原生App
⊙ 官方賣場的應用審核流程會保證讓用戶得到高質量以及安全的App
⊙ 官方會發布很多開發工具或者人工支持來幫助妳的開發
移動Web App
⊙ 跨平臺開發
⊙ 用戶不需要去賣場來下載安裝App
⊙ 任何時候都可以發布App,因為根本不需要官方賣場的審核
⊙ 如果妳已經有了壹個Web App,妳可以使用 responsive web design來輔助改進(這也是優勢?)
缺陷
原生App
⊙ 開發成本高,尤其是當需要多種移動設備來測試時
⊙ 因為是不同的開發語言,所以開發,維護成本也高
⊙ 因為用戶使用的App版本不同,所以妳維護起來很困難
⊙ 官方賣場審核流程復雜且慢,會嚴重影響妳的發布進程
移動Web App
⊙ 無法使用很多移動硬件設備的獨特功能
⊙ 要同時支持多種移動設備的瀏覽器讓開發維護的成本也不低
⊙ 如果用戶使用更多的新型瀏覽器,那問題就更不好處理了
⊙ 對於用戶來說,這種App很難被用戶發現
原生App 與 移動Web App:您如何選擇?
所以在妳準備做移動App時,妳應該先問問自己以下幾個問題:
1. 妳的應用是否需要使用某些設備的特殊功能,比如攝像頭,攝像頭閃光燈或者重力加速器
2. 妳的開發預算是多少?
3. 妳的應用是否壹定需要網絡
4. 妳的應用的目標硬件設備是所有的移動設備還是僅僅只是壹部分而已
5. 妳自己已經熟悉的開發語言
6. 這個應用對於性能要求是否苛刻
7. 如何靠這個應用贏利
我想這幾個問題應該能讓妳做出明智的選擇。
結論:
是原生App還是移動Web App,主要受商業目標,目標用戶,以及技術需要這些因素影響的。其實更多時候妳也不要為選擇那種App模式煩惱,正如本文提到,類似Facebook這樣的公司就為用戶提供了兩種選擇。然而對於大部分人來說,預算,資源限制將會逼迫我們只能選擇其中壹種(或者只能以其中壹種為重點)。