【白皮書(shū)】HTML5、Native或Hybrid App開(kāi)發(fā)全接觸
譯文【51CTO獨(dú)家譯文】本白皮書(shū)的目的不是確定哪一種是***的開(kāi)發(fā)方法,因?yàn)椴淮嬖?**的開(kāi)發(fā)方法,而是列出每一種方法的優(yōu)缺點(diǎn),并描述最適合某一種開(kāi)發(fā)方法的不同場(chǎng)景或企業(yè)需求。英文白皮書(shū)可以在微盤(pán)上下載:http://vdisk.weibo.com/s/6ru7u/1338949809
以下為全部譯文:
開(kāi)發(fā)方法介紹
一、Native App
Native App含有二進(jìn)制可執(zhí)行文件,直接下載到設(shè)備上,并存儲(chǔ)在本地。安裝過(guò)程由用戶(hù)啟動(dòng);在一些情況下,由企業(yè)的IT部門(mén)啟動(dòng)。下載Native App的最常見(jiàn)方法是訪(fǎng)問(wèn)應(yīng)用程序商店,如蘋(píng)果的應(yīng)用程序商店、安卓的應(yīng)用程序市場(chǎng)或黑莓的應(yīng)用程序世界;但是還有其他方法,有時(shí)由移動(dòng)開(kāi)發(fā)商來(lái)提供。
一旦應(yīng)用程序安裝到了設(shè)備上,用戶(hù)可以如同啟動(dòng)設(shè)備提供的其他任何服務(wù)那樣啟動(dòng)應(yīng)用程序。一旦完成初始化,Native App就直接與移動(dòng)操作系統(tǒng)進(jìn)行聯(lián)系,不用通過(guò)任何中介或容器。Native App可隨意訪(fǎng)問(wèn)由操作系統(tǒng)開(kāi)發(fā)商提供的所有應(yīng)用編程接口(API);在許多情況下,NativeApp有著某種特定的移動(dòng)操作系統(tǒng)所常見(jiàn)的獨(dú)特外觀(guān)和感覺(jué)。
想創(chuàng)建Native App,開(kāi)發(fā)者必須編寫(xiě)源代碼(采用人類(lèi)可讀的形式),并建立額外資源,比如鏡像、音頻段和針對(duì)特定操作系統(tǒng)的各種聲明文件。使用由操作系統(tǒng)開(kāi)發(fā)商提供的工具,對(duì)源代碼進(jìn)行編譯(有時(shí)還要進(jìn)行鏈接),目的是為了建立一個(gè)二進(jìn)制形式的可執(zhí)行文件,它可以連同其余資源封裝起來(lái),并隨時(shí)可供分發(fā)。
這些工具以及其他實(shí)用程序和文件通常名為移動(dòng)操作系統(tǒng)的軟件開(kāi)發(fā)工具包(SDK)。雖然不同操作系統(tǒng)上進(jìn)行的開(kāi)發(fā)過(guò)程常常很相似,但是SDK視特定的平臺(tái)而定,每一種移動(dòng)操作系統(tǒng)都隨帶各自的獨(dú)特工具。下面這張表顯示了與四大移動(dòng)操作系統(tǒng)有關(guān)的不同工具、語(yǔ)言、格式和分發(fā)渠道。
平臺(tái)之間的這些區(qū)別導(dǎo)致了Native開(kāi)發(fā)方法的最重大缺點(diǎn)之一:為一種移動(dòng)平臺(tái)編寫(xiě)的代碼無(wú)法在另一種平臺(tái)上使用;這樣一來(lái),為多種操作系統(tǒng)開(kāi)發(fā)和維護(hù)Native App成了一項(xiàng)時(shí)間很長(zhǎng)、成本很高的任務(wù)。
那么,為什么盡管存在成本高昂的這個(gè)缺點(diǎn),許多公司還是選擇Native開(kāi)發(fā)這條路呢?為了回答這個(gè)問(wèn)題,我們就要更清楚地了解API的角色。
應(yīng)用編程接口(API)
一旦Native App安裝到了移動(dòng)設(shè)備上,并由用戶(hù)啟動(dòng),它就能借助操作系統(tǒng)公開(kāi)的專(zhuān)有API調(diào)用,與移動(dòng)操作系統(tǒng)進(jìn)行聯(lián)系。這些API可以分為兩大類(lèi):低級(jí)API和高級(jí)API。
低級(jí)API
正是借助這些低級(jí)API調(diào)用,應(yīng)用程序能直接與觸摸屏或鍵盤(pán)進(jìn)行聯(lián)系、渲染圖形、連接至網(wǎng)絡(luò)、處理從麥克風(fēng)收到的音頻、通過(guò)揚(yáng)聲器或麥克風(fēng)播放聲音,或者接收來(lái)自攝像頭的圖像或視頻。應(yīng)用程序能訪(fǎng)問(wèn)全球定位系統(tǒng)(GPS)、接收方位信息,當(dāng)然還可以讀寫(xiě)固態(tài)硬盤(pán)上的文件,或者訪(fǎng)問(wèn)現(xiàn)有和將來(lái)會(huì)有的其他任何硬件元件。
高級(jí)API
除了提供我們剛才提到的低級(jí)硬件訪(fǎng)問(wèn)服務(wù)外,移動(dòng)操作系統(tǒng)還提供對(duì)個(gè)人移動(dòng)體驗(yàn)來(lái)說(shuō)很重要的較高級(jí)服務(wù)。這類(lèi)服務(wù)包括瀏覽Web,管理日歷、聯(lián)系人資料和相冊(cè)等過(guò)程,當(dāng)然還包括打電話(huà)或收發(fā)文本消息的功能。
雖然大多數(shù)移動(dòng)操作系統(tǒng)包含一組內(nèi)置的應(yīng)用程序可以執(zhí)行這些服務(wù),但是還讓Native App可以訪(fǎng)問(wèn)一組公開(kāi)的高級(jí)API,讓它們可以訪(fǎng)問(wèn)上述許多重要的服務(wù)。其他API讓可下載式應(yīng)用程序可以訪(fǎng)問(wèn)操作系統(tǒng)開(kāi)發(fā)商提供的各種基于云的服務(wù),比如推送通知(Push Notifications)或應(yīng)用程序內(nèi)購(gòu)買(mǎi)(In-App Purchase)等服務(wù)。
GUI工具包
操作系統(tǒng)提供的另一組重要的API是GUI工具包。每一種移動(dòng)操作系統(tǒng)都隨帶各自的一組用戶(hù)界面組件,比如按鈕、輸入?yún)^(qū)、滑塊、菜單、菜單欄、對(duì)話(huà)框及其他。可以使用這些組件的應(yīng)用程序繼承了該特定移動(dòng)操作系統(tǒng)的外觀(guān)和感覺(jué),通常會(huì)帶來(lái)非常流暢的用戶(hù)體驗(yàn)。
值得一提的是,不同的移動(dòng)平臺(tái)帶有一系列獨(dú)特的用戶(hù)界面組件。因而,為了可在多種操作系統(tǒng)上運(yùn)行而設(shè)計(jì)的應(yīng)用程序需要設(shè)計(jì)者熟悉每一種操作系統(tǒng)不同的用戶(hù)界面組件。
雖然API視特定的操作系統(tǒng)而定,并且給開(kāi)發(fā)諸多Native App的工作大大增添了復(fù)雜性和成本,但是這些元素只是創(chuàng)建豐富移動(dòng)應(yīng)用程序的手段而已,這些應(yīng)用程序可以充分利用現(xiàn)代移動(dòng)設(shè)備所提供的全部功能。#p#
二、移動(dòng)Web App
現(xiàn)代移動(dòng)設(shè)備包含功能強(qiáng)大的瀏覽器,這些瀏覽器支持許多新的HTML5功能、CSS3和高級(jí)JavaScript。由于最近在這方面取得的進(jìn)展,HTML5預(yù)示著這項(xiàng)技術(shù)將從一種“頁(yè)面定義語(yǔ)言”,轉(zhuǎn)變成一種功能強(qiáng)大的開(kāi)發(fā)標(biāo)準(zhǔn),用于開(kāi)發(fā)豐富的、基于瀏覽器的應(yīng)用程序。
表明HTML5大有潛力的幾個(gè)例子包括:高級(jí)的用戶(hù)界面組件、可以訪(fǎng)問(wèn)豐富媒體類(lèi)型、地理位置服務(wù)和離線(xiàn)功能。使用這些特性和處于開(kāi)發(fā)中的其他更多特性,開(kāi)發(fā)者就能僅僅使用Web技術(shù),開(kāi)發(fā)出高級(jí)應(yīng)用程序。
不妨先來(lái)區(qū)別一下兩種極端的Web App開(kāi)發(fā)方法。我們都熟悉移動(dòng)瀏覽和針對(duì)移動(dòng)設(shè)備優(yōu)化的網(wǎng)站。這些網(wǎng)站能夠識(shí)別何時(shí)被智能手機(jī)訪(fǎng)問(wèn),因而呈現(xiàn)為了在小尺寸屏幕上提供舒適的“觸摸體驗(yàn)”設(shè)計(jì)的HTML網(wǎng)頁(yè)。但是有些公司更進(jìn)一步,建立了移動(dòng)網(wǎng)站,以改善用戶(hù)體驗(yàn)。這種移動(dòng)網(wǎng)站看起來(lái)就像Native App,可通過(guò)快捷方式來(lái)啟動(dòng),這與啟動(dòng)Native App的方式?jīng)]什么不同。
特性 |
純粹的移動(dòng)Web App |
純粹的移動(dòng)網(wǎng)站 |
工具和知識(shí) |
完全用HTML、CSS和JavaScript來(lái)編寫(xiě) |
完全用HTML、CSS和JavaScript來(lái)編寫(xiě) |
執(zhí)行 |
“已安裝”快捷方式,啟動(dòng)方式如同Native App |
可通過(guò)URL導(dǎo)航至網(wǎng)站來(lái)訪(fǎng)問(wèn) |
用戶(hù)體驗(yàn) |
為觸摸操作優(yōu)化的、交互式的用戶(hù)體驗(yàn) |
顯示靜態(tài)數(shù)據(jù)的頁(yè)面之間的導(dǎo)航用戶(hù)界面 |
性能 |
用戶(hù)界面的邏輯駐留在本地,使得應(yīng)用程序反應(yīng)迅即、可離線(xiàn)訪(fǎng)問(wèn) |
所有代碼從服務(wù)器端執(zhí)行,導(dǎo)致了性能與網(wǎng)絡(luò)有關(guān) |
這兩個(gè)極端之間存在一系列廣泛的可能性,大多數(shù)網(wǎng)站實(shí)施了各自的Hybrid特性。
移動(dòng)Web App是一種很有希望的趨勢(shì)。為了緊緊抓住這個(gè)趨勢(shì),幫助開(kāi)發(fā)者構(gòu)建客戶(hù)端用戶(hù)界面,已開(kāi)發(fā)出越來(lái)越多的JavaScript工具包,比如Sencha Touch和jQuery Mobile,它們創(chuàng)建的用戶(hù)界面在外觀(guān)和感覺(jué)上與Native App大同小異。兩者都完全在移動(dòng)設(shè)備的瀏覽器里面執(zhí)行,充分利用了現(xiàn)代移動(dòng)瀏覽器所提供的***JavaScript、CSS和HTML5特性。
Web App最突出的優(yōu)勢(shì)之一是,它支持多種平臺(tái),而且開(kāi)發(fā)成本低。大多數(shù)移動(dòng)開(kāi)發(fā)商利用了瀏覽器中的同一種渲染引擎:WebKit——主要由谷歌和蘋(píng)果領(lǐng)導(dǎo)的這個(gè)開(kāi)源項(xiàng)目提供了如今最全面的HTML5實(shí)現(xiàn)機(jī)制。由于應(yīng)用程序的代碼用與WebKit兼容的標(biāo)準(zhǔn)Web語(yǔ)言編寫(xiě)而成,所以一個(gè)應(yīng)用程序在諸多不同的設(shè)備和操作系統(tǒng)上提供了統(tǒng)一的體驗(yàn),因而使得它在默認(rèn)情況下支持多種平臺(tái)。但是這些優(yōu)勢(shì)并非沒(méi)有代價(jià)。盡管移動(dòng)領(lǐng)域的Web技術(shù)大有潛力和希望,但它們?nèi)源嬖谙喈?dāng)大的局限性。為了解這些局限性,我們就要解釋W(xué)eb App是如何運(yùn)行的。
不像Native App是獨(dú)立的可執(zhí)行文件,直接與操作系統(tǒng)進(jìn)行聯(lián)系,Web App則在瀏覽器里面運(yùn)行。而瀏覽器本身是可直接訪(fǎng)問(wèn)操作系統(tǒng)API的一種Native App,但是只有數(shù)量有限的這些API向?yàn)g覽器里面運(yùn)行的Web App公開(kāi)。雖然Native App可以完全訪(fǎng)問(wèn)設(shè)備,但是許多特性只是部分可供Web App使用,或者根本不可使用。雖然預(yù)計(jì)這種情況在將來(lái)會(huì)隨著HTML的改進(jìn)而改變,但是如今的移動(dòng)用戶(hù)無(wú)法使用這些功能。#p#
三、Hybrid App
Hybrid開(kāi)發(fā)方法結(jié)合了Native開(kāi)發(fā)和Web技術(shù)。借助這種方法,開(kāi)發(fā)者就能使用跨平臺(tái)Web技術(shù),開(kāi)發(fā)應(yīng)用程序的大部分代碼,又可以在需要時(shí)直接訪(fǎng)問(wèn)Native API。
App的Native代碼部分使用操作系統(tǒng)的API來(lái)創(chuàng)建嵌入式HTML渲染引擎,該引擎在瀏覽器和設(shè)備的API之間充當(dāng)了橋梁。這座橋梁讓Hybrid App得以充分利用現(xiàn)代設(shè)備所提供的全部特性。
App開(kāi)發(fā)者可以選擇編寫(xiě)自己的橋梁,或者充分利用現(xiàn)成的解決方案,比如PhoneGap——這種開(kāi)源庫(kù)為有選擇的設(shè)備功能提供了在諸操作系統(tǒng)上保持一致的統(tǒng)一JavaScript接口。
App的Native代碼部分可以獨(dú)立開(kāi)發(fā),但是市場(chǎng)上的一些解決方案把這種類(lèi)型的Native容器作為其產(chǎn)品的一部分來(lái)提供,因而讓開(kāi)發(fā)者有辦法只要使用Web語(yǔ)言,就可以構(gòu)建利用設(shè)備所有特性的高級(jí)App。在一些情況下,解決方案讓開(kāi)發(fā)者可以充分利用現(xiàn)已掌握的任何Native開(kāi)發(fā)技能,根據(jù)企業(yè)的獨(dú)特要求來(lái)定制Native容器。
App的Web部分可能是駐留在服務(wù)器上的網(wǎng)頁(yè),也可能是一組HTML、JavaScript、CSS和媒體文件,封裝到App代碼中,存儲(chǔ)在設(shè)備本地。這兩種方法都有其優(yōu)勢(shì)和局限性。放置在服務(wù)器上的HTML代碼讓開(kāi)發(fā)者不必經(jīng)歷提交和批準(zhǔn)過(guò)程——有些App商店要求這個(gè)過(guò)程,就可以對(duì)App進(jìn)行小幅更新。遺憾的是,這個(gè)方法擯棄了任何離線(xiàn)可用性,因?yàn)樵O(shè)備與網(wǎng)絡(luò)沒(méi)有連接時(shí),無(wú)法訪(fǎng)問(wèn)設(shè)備。另一方面,把Web代碼封裝到App里面可以提高性能和可訪(fǎng)問(wèn)性,但是不允許遠(yuǎn)程更新。如果結(jié)合這兩種開(kāi)發(fā)方法,也許可以集兩者之所長(zhǎng)。這種系統(tǒng)采用的架構(gòu)可以把HTML資源放置在Web服務(wù)器上,以獲得靈活性,但是又把它們本地緩存在移動(dòng)設(shè)備上,以獲得高性能。
比較不同的開(kāi)發(fā)方法
所以為了總結(jié),不妨看一下這三種開(kāi)發(fā)方法各自相比怎么樣。
Native開(kāi)發(fā)方法在性能和設(shè)備訪(fǎng)問(wèn)方面很出色,但成本和更新方面有缺點(diǎn)。Web方法更新起來(lái)簡(jiǎn)單得多,成本較低,也更容易,但是目前功能有限,也無(wú)法獲得使用Native API調(diào)用所能獲得的那種出色的用戶(hù)體驗(yàn)。Hybrid開(kāi)發(fā)方法提供了折中方案:在許多情況下,它集兩者之所長(zhǎng),如果開(kāi)發(fā)者面向多種操作系統(tǒng)更是如此。
特性 |
Native App |
Hybrid App |
Web App |
開(kāi)發(fā)語(yǔ)言 |
只用Native開(kāi)發(fā)語(yǔ)言 |
Native和Web開(kāi)發(fā)語(yǔ)言或只用Web開(kāi)發(fā)語(yǔ)言 |
只用Web開(kāi)發(fā)語(yǔ)言 |
代碼移植性和優(yōu)化 |
無(wú) |
高 |
高 |
訪(fǎng)問(wèn)針對(duì)特定設(shè)備的特性 |
高 |
中 |
低 |
充分利用現(xiàn)有知識(shí) |
低 |
高 |
高 |
高級(jí)圖形 |
高 |
中 |
中 |
升級(jí)靈活性 |
低 總通過(guò)應(yīng)用程序商店來(lái)升級(jí) |
中 常通過(guò)應(yīng)用程序商店來(lái)升級(jí) |
高 |
安裝體驗(yàn) |
高 從應(yīng)用程序商店來(lái)安裝 |
高 從應(yīng)用程序商店來(lái)安裝 |
中 通過(guò)移動(dòng)瀏覽器來(lái)安裝 |
從上面這張表可以推斷出,沒(méi)有哪一種開(kāi)發(fā)方法總是提供所有的優(yōu)點(diǎn)。選擇一種合適的方法取決于企業(yè)的具體要求,可能取決于諸多因素,比如預(yù)算、時(shí)間表、內(nèi)部資源、目標(biāo)市場(chǎng)、所需的應(yīng)用程序功能、IT基礎(chǔ)設(shè)施及其他許多方面。但是有一點(diǎn)很清楚:如今的大多數(shù)公司顯然在兩個(gè)方面之間作一取舍:一方面是用戶(hù)體驗(yàn)和應(yīng)用程序功能,另一方面是開(kāi)發(fā)成本和產(chǎn)品上市時(shí)間。問(wèn)題就變成了選擇一種合適的開(kāi)發(fā)方法,能兼顧企業(yè)的要求和其在預(yù)算和產(chǎn)品上市時(shí)間方面的限制。
選擇合適的開(kāi)發(fā)方法#p#
下面介紹有助于幫助企業(yè)選擇合適開(kāi)發(fā)方法的一些場(chǎng)景:
一、Native開(kāi)發(fā)方法的場(chǎng)景
現(xiàn)有的Native開(kāi)發(fā)技能——反對(duì)Native開(kāi)發(fā)方法的主要理由之一是,它缺少對(duì)多種平臺(tái)的支持。要求為多種移動(dòng)平臺(tái)開(kāi)發(fā)App的企業(yè)需要招聘新員工,或者對(duì)內(nèi)部開(kāi)發(fā)者進(jìn)行眾多Native語(yǔ)言方面的培訓(xùn)。內(nèi)部擁有這種Native開(kāi)發(fā)技能的企業(yè)不需要大筆新的投入,就能夠充分利用這些技能。
單一移動(dòng)操作系統(tǒng)——在一些情況下,企業(yè)旨在向有限的目標(biāo)群體發(fā)布移動(dòng)App——這個(gè)群體已知使用單一移動(dòng)操作系統(tǒng)。比如說(shuō),考慮這種場(chǎng)景:向員工發(fā)放黑莓設(shè)備的企業(yè)分發(fā)內(nèi)部App。在這種情況下,支持多種平臺(tái)也許不是優(yōu)先事項(xiàng):由于開(kāi)發(fā)單一的Native App只需要一套有限的技能和工具,所以這種方法很有意義。
Native功能——有些App是圍繞某一項(xiàng)功能開(kāi)發(fā)的。就拿Skype來(lái)說(shuō),VOIP和訪(fǎng)問(wèn)用戶(hù)的聯(lián)系人信息是App的兩大關(guān)鍵要素;考慮到現(xiàn)有的技術(shù),只能采用Native方法來(lái)開(kāi)發(fā)。對(duì)這類(lèi)App而言,Web語(yǔ)言根本不夠完善,根本無(wú)力獲得所需的功能。
豐富用戶(hù)界面的需求——有些游戲類(lèi)App需要提供實(shí)時(shí)響應(yīng)的豐富用戶(hù)界面,對(duì)這類(lèi)App而言,Web技術(shù)還無(wú)法提供足夠有效的解決方案。對(duì)有這類(lèi)需求的App而言,開(kāi)發(fā)者采用Native開(kāi)發(fā)方法仍然比較好。
二、Web開(kāi)發(fā)方法的場(chǎng)景
直接分發(fā)——有些企業(yè)更喜歡以一種內(nèi)部控制的方式來(lái)分發(fā)App,他們不喜歡受制于有時(shí)很漫長(zhǎng)、很不確定的審批過(guò)程。這種情況下,使用純粹的Web語(yǔ)言可以完全規(guī)開(kāi)應(yīng)用商店的審批過(guò)程,讓企業(yè)可以完全控制App的定期更新和分發(fā)。
試點(diǎn)App——比較Native App與Web App開(kāi)發(fā)所需的成本和上市時(shí)間時(shí),使用Web方法開(kāi)發(fā)試點(diǎn)應(yīng)用程序是一種引人入勝的、經(jīng)濟(jì)高效的方法。一旦概念得到了證明,企業(yè)可以決定從頭開(kāi)始創(chuàng)建新的App,或者充分利用Hybrid App中的部分現(xiàn)有代碼。
可視性——除了前面提到的分發(fā)外,構(gòu)建Web App的另一個(gè)優(yōu)點(diǎn)是搜索引擎結(jié)果具有可視性;在許多情況下,搜索引擎結(jié)果將App展示給比僅僅通過(guò)應(yīng)用商店獲得的群體更龐大的群體。
三、Hybrid開(kāi)發(fā)方法的場(chǎng)景
折衷考慮——如果企業(yè)使用Hybrid開(kāi)發(fā)方法,就能集兩者之所長(zhǎng)。一方面,Native讓開(kāi)發(fā)者可以充分利用現(xiàn)代移動(dòng)設(shè)備所提供的全部不同的特性和功能。另一方面,使用Web語(yǔ)言編寫(xiě)的所有代碼都可以在不同的移動(dòng)平臺(tái)之間共享,使得開(kāi)發(fā)和日常維護(hù)過(guò)程變得集中式、更簡(jiǎn)短、更經(jīng)濟(jì)高效。
內(nèi)部技能——Web開(kāi)發(fā)技能十分常見(jiàn),許多企業(yè)都擁有這類(lèi)技能。如果選擇Hybrid開(kāi)發(fā)方法,在合適解決方案的支持下,Web開(kāi)發(fā)者只要僅僅運(yùn)用HTML、CSS和JavaScript等Web技能,就能構(gòu)建App,同時(shí)提供Native用戶(hù)體驗(yàn)。
考慮未來(lái)——HTML5的可用性和功能都在迅速改進(jìn)。許多分析師預(yù)測(cè),它可能會(huì)成為開(kāi)發(fā)前端App的默認(rèn)技術(shù)。如果用HTML來(lái)編寫(xiě)App的大部分代碼,并且只有在需要時(shí)才使用Native代碼,公司就能確保他們今天的投入在明天不會(huì)變得過(guò)時(shí),因?yàn)镠TML功能變得更豐富,可以滿(mǎn)足現(xiàn)代企業(yè)一系列更廣泛的移動(dòng)要求。
總結(jié)
由于移動(dòng)App繼續(xù)在商業(yè)界扮演核心角色,全球各地的企業(yè)為越來(lái)越多的關(guān)鍵任務(wù)服務(wù)賦予移動(dòng)特性。許多公司正在力求找到***的開(kāi)發(fā)方法來(lái)實(shí)現(xiàn)目標(biāo),但是許多公司很快認(rèn)識(shí)到:每一種開(kāi)發(fā)方法有天生的局限性,沒(méi)有哪一種方法能夠滿(mǎn)足現(xiàn)代移動(dòng)企業(yè)的所有要求、應(yīng)對(duì)復(fù)雜情況。
正如本白皮書(shū)試圖表明的那樣,答案不在于使用哪一種開(kāi)發(fā)方法,而在于使用靈活的解決方案;這種解決方案能利用各種方法提供的優(yōu)點(diǎn),不僅支持首款移動(dòng)App的開(kāi)發(fā),還支持將來(lái)所有的App,不管他們采用哪種開(kāi)發(fā)方法。
但是Hybrid、Native和Web之間的選擇不是唯一的選擇,盡管無(wú)疑是重大的選擇。制定移動(dòng)戰(zhàn)略的公司還必須考慮這個(gè)市場(chǎng)的未來(lái):
- 移動(dòng)設(shè)備和技術(shù)的進(jìn)一步分散,這反過(guò)來(lái)會(huì)繼續(xù)增加與移動(dòng)App開(kāi)發(fā)、集成和日常管理有關(guān)的總體成本和復(fù)雜性。
- 消費(fèi)者和企業(yè)內(nèi)部加快采用移動(dòng)技術(shù),從而提高了安全性、擴(kuò)展性和日常控制等方面的需求;
- 新的設(shè)備特性和補(bǔ)充技術(shù)(如近場(chǎng)通信、地理位置、增強(qiáng)現(xiàn)實(shí)、社交網(wǎng)絡(luò)及其他技術(shù))無(wú)疑會(huì)帶來(lái)移動(dòng)應(yīng)用程序的新類(lèi)型和新用例。
- 新的App分發(fā)渠道(包括公共和私有渠道)讓企業(yè)很容易把應(yīng)用程序交到用戶(hù)手上,迅速部署更新版、管理整批App,不需要經(jīng)歷漫長(zhǎng)的提交和審批過(guò)程。
如果考慮到所有這些方方面面,公司必須選擇這樣一種解決方案:不僅足夠靈活,可以支持各種類(lèi)型的App,還能支持將App安全而靈活地集成到IT基礎(chǔ)設(shè)施中,并且讓公司可以通過(guò)一個(gè)集中式界面來(lái)監(jiān)測(cè)和控制整批App。
【51CTO譯稿,非經(jīng)授權(quán)謝絕轉(zhuǎn)載,合作媒體轉(zhuǎn)載請(qǐng)注明原文出處、作者及51CTO譯者!】