深入淺出白小骨_1.1.4 PhoneGap的優(yōu)缺點(diǎn)
本文關(guān)鍵詞:深入淺出PhoneGap,由筆耕文化傳播整理發(fā)布。
> ios開(kāi)發(fā) > 深入淺出PhoneGap 1.1.4 PhoneGap的優(yōu)缺點(diǎn) 2013-01-07 10:07:16 我要投稿
本文所屬圖書(shū) > 深入淺出PhoneGap
本書(shū)深入淺出地介紹了時(shí)下流行的開(kāi)源移動(dòng)開(kāi)發(fā)平臺(tái)PhoneGap,內(nèi)容涵蓋PhoneGap 的各類API、插件機(jī)制和第三方常用插件,以及各主流平臺(tái)上的通信機(jī)制的實(shí)現(xiàn)方式。此外,本書(shū)還介紹了如何整合流行的移動(dòng)Web 開(kāi)發(fā)框... 立即去當(dāng)當(dāng)網(wǎng)訂購(gòu)
想知道PhoneGap的優(yōu)缺點(diǎn),必須先對(duì)原生應(yīng)用、Web應(yīng)用和混合型應(yīng)用這3個(gè)概念有所了解,下面我們簡(jiǎn)要介紹這3個(gè)概念。
原生應(yīng)用。通過(guò)各種應(yīng)用市場(chǎng)安裝,采用平臺(tái)特定語(yǔ)言開(kāi)發(fā)。
Web應(yīng)用。通過(guò)瀏覽器訪問(wèn),采用Web技術(shù)開(kāi)發(fā)。
混合型應(yīng)用。通過(guò)各種應(yīng)用市場(chǎng)安裝,,但采用Web技術(shù)開(kāi)發(fā)。它雖然看上去是一個(gè)原生應(yīng)用,但里面訪問(wèn)的實(shí)際上是一個(gè)Web應(yīng)用。
原生應(yīng)用指的是用平臺(tái)特定的語(yǔ)言所開(kāi)發(fā)的應(yīng)用,比如iOS使用Objective-C語(yǔ)言,Android使用Java語(yǔ)言。使用它們的優(yōu)點(diǎn)是可以完全利用系統(tǒng)的API和平臺(tái)特性,它們?cè)谛阅苌弦彩亲詈玫摹H秉c(diǎn)是由于開(kāi)發(fā)技術(shù)不同,如果你要覆蓋多個(gè)平臺(tái),則要針對(duì)每個(gè)平臺(tái)獨(dú)立開(kāi)發(fā)。
原生應(yīng)用因?yàn)槲挥谄脚_(tái)層上方,向下訪問(wèn)和兼容的能力會(huì)比較好一些,可以支持在線和離線、消息推送和本地資源訪問(wèn)、攝像頭和撥號(hào)功能的調(diào)取。但是由于設(shè)備的碎片化,應(yīng)用的開(kāi)發(fā)成本要高很多,維持多個(gè)版本的更新升級(jí)比較麻煩,用戶的安裝門檻也比較高。新浪微博的客戶端就是原生應(yīng)用,其界面如圖1-8所示。
原生應(yīng)用的優(yōu)勢(shì)如下:
提供最佳的用戶體驗(yàn)、最優(yōu)質(zhì)的用戶界面和最華麗的交互;
針對(duì)不同平臺(tái)提供不同體驗(yàn);
可節(jié)省帶寬成本;
可訪問(wèn)本地資源;
盈利模式明朗。
原生應(yīng)用的劣勢(shì)如下:
移植到不同平臺(tái)上比較麻煩;
維持多個(gè)版本的成本比較高;
需要通過(guò)store或market確認(rèn);
盈利需要與第三方分成。
Web應(yīng)用則是完全用HTML、JavaScript和CSS等Web技術(shù)開(kāi)發(fā),通過(guò)移動(dòng)設(shè)備的瀏覽器來(lái)訪問(wèn),其優(yōu)勢(shì)在于開(kāi)發(fā)跨平臺(tái)的應(yīng)用時(shí),可以充分利用現(xiàn)代移動(dòng)瀏覽器的HTML5特性。當(dāng)然這些基于瀏覽器的應(yīng)用無(wú)法調(diào)用系統(tǒng)API來(lái)實(shí)現(xiàn)一些高級(jí)功能,也不適合高性能要求的場(chǎng)合。
Web應(yīng)用無(wú)需安裝,對(duì)設(shè)備碎片化的適應(yīng)能力優(yōu)于原生應(yīng)用,它只需要通過(guò)HTML、CSS和JavaScript就可以在任意移動(dòng)瀏覽器中執(zhí)行。隨著iPhone帶來(lái)的WebKit瀏覽體驗(yàn)的升級(jí),專為iPhone等由WebKit瀏覽內(nèi)核的移動(dòng)設(shè)備開(kāi)發(fā)的Web應(yīng)用也有了如原生應(yīng)用一般流暢的用戶體驗(yàn)。百度地圖的移動(dòng)網(wǎng)頁(yè)版本就是Web應(yīng)用,其界面如圖1-9所示。
Web應(yīng)用的優(yōu)勢(shì)如下:
開(kāi)發(fā)成本低;
適配多種移動(dòng)設(shè)備的成本低;
跨平臺(tái)和終端;
迭代更新容易;
無(wú)需安裝成本。
Web應(yīng)用的劣勢(shì)如下:
瀏覽體驗(yàn)短期內(nèi)還無(wú)法超越原生應(yīng)用;
不支持離線模式(HTML5將會(huì)解決這個(gè)問(wèn)題);
消息推送不夠及時(shí);
調(diào)用本地文件系統(tǒng)的能力弱。
有辦法可以融合兩者的優(yōu)勢(shì)嗎?
從長(zhǎng)遠(yuǎn)來(lái)看,Web技術(shù)是未來(lái),雖然現(xiàn)階段原生應(yīng)用給了用戶更好的體驗(yàn),但如果現(xiàn)在的開(kāi)發(fā)者不有效利用Web技術(shù),那他一定會(huì)落伍。不過(guò),如果過(guò)分依賴Web,完全不用原生功能的話,那應(yīng)用的用戶體驗(yàn)和提供的功能將大打折扣。
混合型應(yīng)用可以說(shuō)是為了彌補(bǔ)上面兩種應(yīng)用開(kāi)發(fā)模式的缺陷而生,它是兩者混合的產(chǎn)物,并且盡可能繼承了雙方的優(yōu)勢(shì)。首先,它可以讓眾多Web開(kāi)發(fā)人員幾乎零成本地轉(zhuǎn)型成移動(dòng)應(yīng)用開(kāi)發(fā)者。其次,相同的代碼只需針對(duì)不同平臺(tái)進(jìn)行編譯就能實(shí)現(xiàn)在多平臺(tái)的分發(fā),大大提高了多平臺(tái)開(kāi)發(fā)的效率。而相較于Web應(yīng)用,開(kāi)發(fā)者可以通過(guò)包裝好的接口調(diào)用大部分常用的系統(tǒng)API。
不過(guò)有一點(diǎn)我們必須清楚地認(rèn)識(shí)到,混合型應(yīng)用還不能完全取代原生應(yīng)用,在一些復(fù)雜的API調(diào)用或者涉及高性能計(jì)算的應(yīng)用開(kāi)發(fā)上,原生應(yīng)用還是唯一的選擇。除此以外的大多數(shù)場(chǎng)合下,混合型應(yīng)用以很小的性能犧牲為代價(jià),帶來(lái)了極大的靈活性和開(kāi)發(fā)效率,有什么理由不去使用它呢?掌上百度就是混合型應(yīng)用,其界面如圖1-10所示。
PhoneGap正是混合型框架中的佼佼者,它基于標(biāo)準(zhǔn)的Web技術(shù)——HTML、JavaScript和CSS,用JavaScript包裝平臺(tái)的API供開(kāi)發(fā)者調(diào)用,具備強(qiáng)大的編譯工具來(lái)為不同平臺(tái)生成應(yīng)用,同時(shí)擁有豐富的第三方資源和產(chǎn)業(yè)鏈。
PhoneGap在Web應(yīng)用和設(shè)備之間搭建了一個(gè)通信的橋梁,封裝了移動(dòng)設(shè)備的平臺(tái)差異,統(tǒng)一使用JavaScript接口訪問(wèn)設(shè)備本地API,以此提供了一個(gè)優(yōu)秀的跨平臺(tái)解決方案。
結(jié)合前面對(duì)于PhoneGap的說(shuō)明,我們得出PhoneGap的優(yōu)勢(shì)如下:
開(kāi)發(fā)成本低;
對(duì)各大主流平臺(tái)的兼容性非常好;
采用W3C標(biāo)準(zhǔn)化技術(shù);
能夠快速進(jìn)行開(kāi)發(fā),迭代更新容易;
輕量級(jí)和插件式架構(gòu)顯著降低了維護(hù)成本;
開(kāi)源免費(fèi),并由Adobe公司和Apache基金會(huì)共同支持。
PhoneGap也有如下一些缺點(diǎn):
瀏覽體驗(yàn)短期內(nèi)還無(wú)法超越原生應(yīng)用;
特別復(fù)雜的應(yīng)用運(yùn)行速度稍顯緩慢;
在某些JavaScript渲染速度較慢的設(shè)備上,UI反應(yīng)略有延時(shí)。
當(dāng)然,跨平臺(tái)的流行是不可避免的,這些劣勢(shì)一定會(huì)隨著移動(dòng)技術(shù)和Web標(biāo)準(zhǔn)的迅猛發(fā)展而漸漸消失。
目前,PhoneGap已經(jīng)有了相當(dāng)多的成功案例,例如著名的維基百科移動(dòng)客戶端和NFB Films,而中國(guó)目前也已經(jīng)涌現(xiàn)出了一批PhoneGap應(yīng)用,例如趕集團(tuán)購(gòu)的移動(dòng)客戶端。
點(diǎn)擊復(fù)制鏈接 與好友分享!回本站首頁(yè) 您對(duì)本文章有什么意見(jiàn)或著疑問(wèn)嗎?請(qǐng)到論壇討論您的關(guān)注和建議是我們前行的參考和動(dòng)力 上一篇:1.1.3 PhoneGap現(xiàn)狀 下一篇:1.1.5 PhoneGap API 簡(jiǎn)介 相關(guān)文章1.1.4 圖形和設(shè)計(jì)
1.1.4 不支持的技術(shù)
1.1.4 面向移動(dòng)的做法
1.1 PhoneGap概述
1.1.1 PhoneGap是什么
1.1.2 PhoneGap的由來(lái)
1.1.3 PhoneGap現(xiàn)狀
1.1.5 PhoneGap API 簡(jiǎn)介
保護(hù)你的數(shù)據(jù)
編碼之前的計(jì)劃
圖文推薦本文關(guān)鍵詞:深入淺出PhoneGap,由筆耕文化傳播整理發(fā)布。
本文編號(hào):195130
本文鏈接:http://sikaile.net/wenshubaike/mishujinen/195130.html