不少企業(yè)在開發(fā)APP時在糾結原生APP還是混合APP開發(fā),它們究竟有何差別呢?
即我們所稱的傳統(tǒng)APP開發(fā)模式,該開發(fā)針對現(xiàn)在主流的操作系統(tǒng)IOS、Android采用不同的語言和框架進行開發(fā),該模式所有UI元素、數(shù)據(jù)內(nèi)容、邏輯框架均安裝在手機終端上??呻x線運行,通?!胺掌鲾?shù)據(jù)+APP應用客戶端”兩部份構成的APP應用,服務器的業(yè)務邏輯能力相對本地要低很多,大部分只是與本地服務的數(shù)據(jù)同步。 而市面上還有一種APP開發(fā)形式我稱其為WEB APP。 字面上的意思我們就能看的出這類APP以WEB為核心,所有的UI元素、數(shù)據(jù)內(nèi)容、邏輯框架均在WEB端服務器上來處理,本地的APP簡單的講來說就是一個瀏覽器,用來解析來自服務器上發(fā)送至本地的所有的WEB網(wǎng)頁代碼。這類APP相對源生來說所有的UI元素,以及數(shù)據(jù)業(yè)務處理全部由WEB端來處理。因為APP只是一個瀏覽器所以一個我們能使用的功能及其有限。 先看過常見的兩種APP開發(fā)模式后我們就聊聊今天的主題,
因為主角的原因我們就說的細一些。 既然名字不同于前兩種,那么開發(fā)模式以及應用功能上也不同于前兩種APP開發(fā)模式。所謂的混合APP就是將源生與WEB揉合開發(fā)出的APP。 首先混合APP使用了源生的開發(fā)語言在設備上使用源生語言開發(fā)具有調(diào)取硬件能力的APP,然后通過WEB來處理數(shù)據(jù)業(yè)務邏輯。接下舉例來解釋一下混合APP開發(fā)的過程。 混合APP使用原生方式開發(fā)APP的硬件功能調(diào)用方式。利用服務器網(wǎng)頁開發(fā)運動APP里的界面,進行遠端數(shù)據(jù)存取等操作。服務器網(wǎng)頁通過 Web頁面來加載,且網(wǎng)頁可與APP通訊,進行數(shù)據(jù)交互。 由于原生APP的硬件調(diào)用,可以本地權限較大化的使用。 舉例來說開發(fā)一款運動APP,有開啟運動模式,運動信息展示,簽到的功能。需要獲取一個設備的重力感應傳感器,陀螺儀,GPS,攝像頭這些設備的數(shù)據(jù)。移動端開發(fā)具有源生功能可以調(diào)取以上設備獲取相應數(shù)據(jù)的APP并配有對應的插件。按下移動端的按鈕,開啟對應的設備獲取相應的設備數(shù)據(jù),然后以WEB端制定好的交互規(guī)則,將數(shù)據(jù)通過js發(fā)送至WEB端。然后WEB端將移動端發(fā)送過來的數(shù)據(jù)在WEB解析,進行運動信息展示。 由于采用服務器網(wǎng)頁,可以方便部署與迭代開發(fā),減少升級時對應用商店的依賴。 對APP中嵌入的服務器網(wǎng)頁進行兼容處理后,可以直接被瀏覽器移動版本所采用,一舉多得。當移動網(wǎng)絡的速度與流量不再成為問題時,這種開發(fā)方式,可以使APP的開發(fā)能力獲得較大化。同時,可以減少APP的長期開發(fā)與維護成本。 組建這么一支團隊,需要有移動應用開發(fā)人員,前端開發(fā)人員,后端開發(fā)人員。但是 App 的開發(fā)與迭代速度,可以通過增加前端與后端人員的方式得到顯著提升,遠比在“鐵板一塊”的原生 App 架構下,增加人手要顯著得多。 隨著H5技術的日趨完善,使得混合APP的界面顯示效果也不會遜色于源生APP的界面顯示效果,所以混合APP或許是目前適應市場生產(chǎn)環(huán)境的一個APP開發(fā)環(huán)境。 貴陽APP開發(fā)公司作為企業(yè)轉型+互聯(lián)網(wǎng)全案服務商,定位于企業(yè)移動戰(zhàn)略服務,對面臨轉型升級的企業(yè)提供比較比較全面的互聯(lián)網(wǎng)+咨詢、產(chǎn)品設計、技術開發(fā)、推廣和運營服務。