如何選擇應(yīng)用程序開發(fā)框架:Native vs. Web vs. Hybrid

隨著企業(yè)開始建立自己的移動(dòng)應(yīng)用程序,他們將不得不選擇應(yīng)用程序開發(fā)框架。
這是重要的第一步,采取現(xiàn)有的過程,使它可以從移動(dòng)設(shè)備上訪問。但當(dāng)他們利用移動(dòng)設(shè)備可以提供的豐富的功能,如基于位置的服務(wù)、推送通知和無縫數(shù)據(jù)共享時(shí),應(yīng)用程序就成為了變革時(shí)。當(dāng)選擇要建立這些應(yīng)用程序的框架時(shí),最大的考慮是什么樣的應(yīng)用程序開發(fā)模式可以采用:本地化、純web或混合型。
本地應(yīng)用程序開發(fā)
建立一個(gè)本地應(yīng)用程序總是一般都會(huì)帶來最好的用戶體驗(yàn)。移動(dòng)操作系統(tǒng)制造商大量投資于自己的開發(fā)工具。他們想確保應(yīng)用程序開發(fā)人員使用他們的母語編寫可以利用所有最新操作系統(tǒng)的功能的優(yōu)勢,并發(fā)揮他們最好的表現(xiàn)。
沒有移動(dòng)開發(fā)現(xiàn)成經(jīng)驗(yàn)的企業(yè)可能會(huì)猶豫是否讓他們的開發(fā)人員學(xué)習(xí)為蘋果iOS和谷歌Android編寫應(yīng)用程序的不同的語言,然而,支持多個(gè)操作系統(tǒng)就需要額外的努力。在一個(gè)標(biāo)準(zhǔn)化單一操作系統(tǒng)的企業(yè)或需要嚴(yán)格的硬件集成,如與嵌入式設(shè)備、信息亭、銷售點(diǎn)和其他特殊的公司發(fā)行設(shè)備的情況下,開發(fā)本地應(yīng)用程序可能會(huì)更重要。

基于瀏覽器的Web應(yīng)用程序
另一個(gè)極端的典型代表是用戶可以在移動(dòng)瀏覽器中訪問的Web應(yīng)用程序。開發(fā)人員可以用更熟悉的網(wǎng)絡(luò)技術(shù)來編寫,如HTML5、CSS、JavaScript。Web應(yīng)用程序的一個(gè)版本可以運(yùn)行在多個(gè)手機(jī)操作系統(tǒng)上。此外,HTML5的進(jìn)步意味著Web應(yīng)用現(xiàn)在可以做很多本地移動(dòng)應(yīng)用程序可以做的事情,如充分利用相機(jī)和地理定位,以及用設(shè)備上的Web應(yīng)用程序啟動(dòng)其他應(yīng)用程序。
這些是很有吸引力的,但基于瀏覽器的應(yīng)用程序有許多缺點(diǎn)。它只能通過一些特定的瀏覽器給用戶提供推送通知,而且應(yīng)用程序的登錄和會(huì)話會(huì)很快過期。此外,Web應(yīng)用程序不能利用所有最新的操作系統(tǒng)功能——一些使移動(dòng)應(yīng)用程序很有價(jià)值的最獨(dú)特且重要的特征。
基于這些原因,基于移動(dòng)瀏覽器的Web應(yīng)用程序在企業(yè)中使用的情況有限。另一個(gè)問題:Web應(yīng)用程序與本地應(yīng)用程序相比用起來不太方便。用戶必須記住如何導(dǎo)航,挖掘到書簽菜單,才能找到他們或者要知道如何在他們的主頁屏幕上放置Web書簽。IT管理員可以將這些書簽推送到移動(dòng)設(shè)備管理,但相比其他應(yīng)用程序他們?nèi)匀恍枰煌墓芾砹鞒獭?/p>

混合應(yīng)用程序
混合應(yīng)用程序是運(yùn)行在本地應(yīng)用程序外殼下的Web應(yīng)用程序。從概念上講,這種方法帶來了兩個(gè)世界最好的融合。開發(fā)人員可以在一個(gè)基于Web的語言中編寫應(yīng)用程序的核心邏輯,該語言可以在多個(gè)移動(dòng)平臺上進(jìn)行移植,并且外殼可以使用本機(jī)代碼來與設(shè)備的獨(dú)特功能進(jìn)行交互。因此,IT可以管理和部署一個(gè)就像任何其他本地應(yīng)用程序的混合應(yīng)用程序。
混合應(yīng)用程序可以像一個(gè)嵌入在本地應(yīng)用程序的Web頁面一樣簡單,或者他們也可以更復(fù)雜。許多應(yīng)用程序開發(fā)框架可以讓應(yīng)用程序開發(fā)人員用基于Web的或其他語言編寫,并為不同的移動(dòng)操作系統(tǒng)編譯成完整的原生應(yīng)用程序。 一些應(yīng)用程序開發(fā)框架使用原生代碼和所有的操作系統(tǒng)適當(dāng)?shù)脑O(shè)計(jì)元素,只給混合應(yīng)用程序提供用戶界面。
混合應(yīng)用程序的概念是很流行的,但也有缺點(diǎn)。一個(gè)代碼庫將用于多個(gè)操作系統(tǒng),這意味著開發(fā)人員不得不作出一些妥協(xié)。例如,iOS沒有充分的近場通信的支持,Android和iOS的應(yīng)用程序有不同的導(dǎo)航規(guī)則。
在某些情況下,利用需要的所有額外的努力來使“一次編寫,隨處部署”的概念在多個(gè)平臺上得以實(shí)現(xiàn),畢竟只投資在本地應(yīng)用程序開發(fā)上會(huì)更容易。
其他的考慮
企業(yè)移動(dòng)應(yīng)用程序也需要連接到基礎(chǔ)設(shè)施組件以實(shí)現(xiàn)推送通知、管理和安全、分析、數(shù)據(jù)同步和連接到企業(yè)數(shù)據(jù)庫和資源。
有人說,混合和Web應(yīng)用程序?qū)ζ髽I(yè)app來說已經(jīng)足夠。其他人說,在現(xiàn)今用戶體驗(yàn)更重要,應(yīng)用程序應(yīng)該充分利用移動(dòng)操作系統(tǒng)提供的本地功能。但不同的應(yīng)用程序和情況需要不同的開發(fā)方法和考慮方向。
本文翻譯自: