在手機APP越來越普及的今天,如何選擇一個適合自己的推廣用APP已經(jīng)成為越來越多商家關注事情。而現(xiàn)在APP開發(fā)模式通常分為兩種,有Web APP與原生Native APP。到底什么情況適合選用哪種APP,本文將對此進行分析說明。
一,兩種開發(fā)模式的簡介
Native App開發(fā)
Native App開發(fā)即我們所稱的傳統(tǒng)APP開發(fā)模式(原生APP開發(fā)模式),該開發(fā)針對IOS、Android等不同的手機操作系統(tǒng)要采用不同的語言和框架進行開發(fā),該模式通常是由“云服務器數(shù)據(jù)+APP應用客戶端”兩部份構成,APP應用所有的UI元素、數(shù)據(jù)內(nèi)容、邏輯框架均安裝在手機終端上。
Web App開發(fā)
Web App開發(fā)即是一種框架型APP開發(fā)模式(HTML5APP 框架開發(fā)模式),該開發(fā)具有跨平臺的優(yōu)勢,該模式通常由“HTML5云網(wǎng)站+APP應用客戶端”兩部份構成,APP應用客戶端只需安裝應用的框架部份,而應用的數(shù)據(jù)則是每次打開APP的時候,去云端取數(shù)據(jù)呈現(xiàn)給手機用戶。
二,原生APP開發(fā)及Web APP開發(fā)模式的區(qū)別
Web APP需開發(fā)“html5云網(wǎng)站”和“APP客戶端”,這類型APP應用呈現(xiàn)以下特點:
(1)每次打開APP,都要通過APP框架向云網(wǎng)站取UI及數(shù)據(jù);
(2)手機用戶無法上網(wǎng)則無法訪問APP應用中的數(shù)據(jù)。
(3)框架型的APP無法調(diào)用手機終端的硬件設備(語音、攝像頭、短信、GPS、藍牙、重力感應等)
(4)框架型APP的訪問速度受手機終端上網(wǎng)的限制,每次使用均會消耗一定的手機上網(wǎng)流量;
(5)框架型APP應用的安裝包小巧,只包含框架文件,而大量的UI元素、數(shù)據(jù)內(nèi)容剛存放在云端;
(6)APP用戶每次都可以訪問到實時的最新的云端數(shù)據(jù);
(7)APP用戶無須頻繁更新APP應用,與云端實現(xiàn)的是實時數(shù)據(jù)交互;
適用企業(yè):電子商務、金融、新聞資訊、企業(yè)集團需經(jīng)常更新內(nèi)容的APP應用。
Native App(原生型APP)需要開發(fā)“云服務器數(shù)據(jù)中心”和“APP客戶端”,總結這類型的APP應用呈現(xiàn)以下特點:
(1)每次獲取最新的APP功能,需要升級APP應用;
(2)原生型APP應用的安裝包相對較大,包含UI元素、數(shù)據(jù)內(nèi)容、邏輯框架;
(3)手機用戶無法上網(wǎng)也可訪問APP應用中以前下載的數(shù)據(jù)。
(4)原生型的APP可以調(diào)用手機終端的硬件設備(語音、攝像頭、短信、GPS、藍牙、重力感應等)
(5)APP應用更新新功能,涉及到每次要向各個應用商店進行提交審核。
適用企業(yè):游戲、電子雜志、管理應用、物聯(lián)網(wǎng)等無需經(jīng)常更新程序框架的APP應用。
到底該如何選擇Web App和Native App開發(fā)模式
移動Web無所不在,移動Web是目前唯一的支持各種設備訪問的平臺,與桌面Web一樣,移動Web支持各種標準的協(xié)議。移動Web也是唯一一個可供開發(fā)者發(fā)布移動應用的平臺,它將各種移動交互與桌面任務有效地連接了起來;而開發(fā)Native App可以充分利用設備的特性,而這一點往往是Web瀏覽器做不到的,所以對一個產(chǎn)品本身而言,Native App是最佳的選擇。下面幾節(jié)將討論一下NativeApp的一些主要功能。
三,什么時候應該選擇Native App
1.為應用收費
沒有任何地方規(guī)定開發(fā)者不能對一個移動Web App收取使用費,但是由于某些原因,人們常常認為不能或是不應該對一個Web App收取費用。由于歷史原因,導致移動設備上付費服務遭遇兩大阻力:
2.付款方式
在移動設備上輸入信用卡號相當麻煩,而且在許多老式設備上也沒有安全保障。一種典型的方式是,如果你需要對你的應用收費,你可以與運營商達成協(xié)議,讓運營商代為為你的服務收費。這也意味著,你需要和多個運營商達成合作。這通常是首選的方法,因為許多手機用戶可能根本就沒有信用卡,比如青少年。
另一種方法是將用戶的信用卡信息保存在一個安全的網(wǎng)站上。用戶可以通過登錄到該網(wǎng)站購買應用服務。這個過程不算特別理想,因為這意味著用戶不能直接通過他們的移動設備購買服務了。
3.強制分成
移動運營商是會提成的。App無論是通過運營商還是通過移動設備發(fā)布,他們都為應用提供了一套收費機制。這些運營商和移動設備將會提取部分收益,然后將剩余的部分交給應用開發(fā)商,這也意味著,開發(fā)人員必須遵守他們的市場規(guī)則。適應運營商的市場規(guī)則通常是非常困難的,需要投入大量的人力資源。相比而言,移動設備的市場規(guī)則則簡單許多,但是也存在不少的困難。
妨礙運營商和移動設備開發(fā)商利益的應用以及服務都將受到阻擾。過去,那些不靠運營商和移動設備開發(fā)商運作的網(wǎng)站如果收入過于顯眼的話,都逃脫不了被關閉的命運,但是最近,這樣的事情鮮少發(fā)生了。
如果你想為你的Native App收費,那么你就必須接受這個現(xiàn)實——你必須遵守別人的市場規(guī)則,還得放棄部分收益。
4.開發(fā)游戲
如果你是想開發(fā)一個移動游戲(移動游戲是移動市場上最大的一塊),那么你需要開發(fā)一個Native App。游戲對資源的占用很大,并且需要使用許多設備API或平臺API。雖然,現(xiàn)在有幾款完全使用Web技術開發(fā)的游戲占有了一定的市場份額,但是和 Native App市場的占有情況相比,還是微不足道的。游戲用戶對應用的視覺和操作效果要求很高。移動Web雖然提供了一些仿真體驗,但還遠遠不能滿足用戶的需求。
在開發(fā)移動游戲時,你需要慎重考慮你的應用需要支持哪些平臺。幸運的是,現(xiàn)在有許多工具能夠幫助你將你的游戲推向多個平臺,但是完成這些工作,還是需要花費大量的人力和物力。
5.使用定位功能
下一個功能就是定位功能,可以通過GPS或者是信號檢測確定用戶當前的位置信息。以前只能通過Native App的APIs查看用戶的位置信息,但現(xiàn)在大多數(shù)主流移動瀏覽器上都嵌入了W3C Geolocation API。像iPhone或Android這樣安裝了WebKit的設備,或是配置了Opera或Mozilla瀏覽器的設備,都可以獲取用戶的位置信息。
我相信定位功能會為Web技術帶來許多全新的應用。如果能夠合理利用Web瀏覽器,Web開發(fā)商就能使用用戶的位置信息和其他內(nèi)容開發(fā)出更加有趣的應用。雖然這在技術上沒有太大的困難,但卻受到隱私保護條例的限制。我們將Web瀏覽器當做是用戶進入World Wide Web的入口。加入定位功能,意味著在網(wǎng)站中引入了一些敏感信息,這有可能導致嚴重的后果。但是位置感知應用中顯示的位置信息必須經(jīng)過用戶的授權,用戶當然有權禁止應用發(fā)布自己的位置信息。
6.使用攝像頭
攝像頭可以為你的應用提供豐富的可能性。以往移動MMS(Multimedia Messaging Service)被用于處理移動照片。換言之,你拍了一張照片后,需要使用MMS將它傳送給一個服務器,服務器對照片做出相應的處理,并將處理完成的結果通知給你。這個過程是非常耗時的,而且相當復雜,也沒有可靠性保障。
通過訪問攝像頭,Native App開發(fā)者能夠簡化拍照的過程。用戶可以直接在客戶端對照片做一些簡單的處理,只有在有需要的時候才將照片上傳給服務器,而且是通過可靠的HTTP傳輸。W3C正在開發(fā)一個訪問攝像頭的API,但現(xiàn)在還沒有將這部分工作正式整合到瀏覽器中。
在許多類型的移動Apps中,攝像頭是非常有用的,比如快拍應用、短片拍攝應用等等,攝像頭可以用來捕捉許多重要的瞬間。不久的將來,我們可以看到——只要通過攝像頭拍攝某個標識,應用程序就能自動完成對標識上的語言轉換工作——這個技術在日本已經(jīng)開始流行起來了。
7.使用感應器
現(xiàn)在越來越來越多的移動設備上都新增了感應器功能,該裝置可以感知設備的物理速度以及重力,并將感知的數(shù)據(jù)結果傳送給設備。這個裝置常被用來感應設置是否被翻轉,應用根據(jù)接受到的信息自動調(diào)節(jié)畫面的方向。
感應器可以用來幫助用戶提升與設備交互時的真實感;大多數(shù)移動設備都是手持的,應用能夠根據(jù)設備的方向調(diào)整內(nèi)容畫面,比如翻轉屏幕,或是檢測物理移動,并能據(jù)此猜測用戶所處的環(huán)境。舉一個簡單的例子:比如用戶正在走路,那么感應器能夠檢測到一個輕緩的移動或是速度,這時可以為用戶提供一個大字體的用戶界面,從而使得用戶更容易看清屏幕上的內(nèi)容。
然而,開發(fā)者也不能過分依賴感應器,因為感應器無法區(qū)分究竟哪些交互是有意的,而哪些是沒有意義的。每個移動交互都需要通過“傳輸測試”。設計你的交互時必須考慮用戶在一個擁擠的汽車或是火車上的場景??紤]一下如果用戶正身處擁擠的地鐵或是正在駕車時,你的應用能否正確處理用戶搖晃移動設備的動作。通常,大多數(shù)開發(fā)者都沒有考慮這些因素。確保為每個任務設計一個備用方案以處理特殊場景中的移動交互。
8.訪問文件系統(tǒng)
如果你的應用需要將數(shù)據(jù)保存在本地,那么你需要開發(fā)一個Native App。比如你要保存用戶的地址簿、電話或E-mail信息,或是保存從其他設備上獲取的數(shù)據(jù)。
訪問文件系統(tǒng)常常會涉及到安全和用戶隱私保護的問題。惡意應用程序可能會修改你的移動設備上的數(shù)據(jù)。一個攜帶病毒的應用程序可以利用移動設備上的關系網(wǎng)將病毒擴散到許多其他的手機上,在采用移動應用認證機制以前,這種事情是常常發(fā)生的。
另一方面,移動設備正變得越來越私人化,移動設備上保存了大量用戶的個人信息,以及用戶的朋友信息和商業(yè)信息。針對這些私人信息開發(fā)應用是一個不錯的想法。但是這也存在一定的風險,使用保存在移動設備上的數(shù)據(jù)可以為用戶提供更加有針對性的服務。
開發(fā)者必須謹記,只有在獲得用戶的授權后才能訪問用戶的私人數(shù)據(jù)。我們看到許多應用在沒有得到用戶授權的情況下使用了大量的用戶私人數(shù)據(jù),而被誤認為是垃圾信息或是釣魚應用,即使這些應用原本是在提供一些非常有用的服務。人們對你的應用的誤解將會影響到你的服務的推廣,如果運營商收到過多關于你的應用的投訴,那么你的服務可能將被終止,甚至會牽連其他的應用。
訪問文件系統(tǒng)時至關重要的一點就是在沒有獲得用戶授權的情況下,不要訪問任何用戶的私人數(shù)據(jù)。而這一點,往往被大多數(shù)應用忽略了。W3C正在為移動開發(fā)商開發(fā)相關的標準API,但目前該工作尚未完成。