-
PhoneGap
鎖定
PhoneGap是一個採用HTML,CSS和JavaScript的技術,創建移動跨平台移動應用程序的快速開發平台。它使開發者能夠在網頁中調用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry等智能手機的核心功能——包括地理定位,加速器,聯繫人,聲音和振動等,此外PhoneGap擁有豐富的插件,可以調用。
業界很多主流的移動開發框架均源於PhoneGap。較著名的有Worklight、appMobi、WeX5等;其中WeX5為國內打造,完全Apache開源,在融合Phonegap的基礎上,做了深度優化,具備接近Native app的性能,同時開發便捷性也較好。
- 中文名
- PhoneGap
- 外文名
- PhoneGap
- 類 型
- 快速開發平台
- 應 用
- 地理定位,加速器
- 系 統
- iOS,Android,Palm
PhoneGap定義
Phonegap是一款開源的開發框架,旨在讓開發者使用HTML、Javascript、CSS等Web APIs開發跨平台的移動應用程序。原本由Nitobi公司開發,後由Adobe擁有。
它需要特定平台提供的附加軟件,例如iPhone的IOS SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套開發。使用PhoneGap只比為每個平台分別建立應用程序好一點點,因為雖然基本代碼是一樣的,但是你仍然需要為每個平台分別編譯應用程序。
PhoneGap起源
第一段PhoneGap代碼是在2008年8月的iPhoneDevCamp上寫成的。創建它的一個主要動力是基於一個幾乎每一個單獨的iPhone開發新手都要面對的簡單事實:Objective-C是一個對Web開發人員來説非常陌生的環境,並且Web開發人員的數量遠遠多於Objective-C開發人員的數量。
問題是,是否有人可以開發一個框架,讓Web開發人員可以利用他們所有的HTML、CSS和JavaScript知識,而且仍舊可以同iPhone的重要本地應用程序(如攝像頭和通訊錄)交互呢?
就在那一年,PhoneGap獲了獎並開始支持Android平台,對人數不斷增長的移動開發人員變得越來越有用,這些人員需要在更多的平台上獲得代碼支持。
PhoneGap狀態評估
- 加速計
- 攝像頭
- 羅盤
- 通訊錄
- 文檔
- 地理定位
- 媒體
- 網絡
- 通知(警告、聲音和振動)
- 存儲
如果正在為iPhone或Android設備做開發,那麼這些功能都是支持的。如果是為BlackBerry、webOS、Windows Phone 7、Symbian或Bada設備做開發,則有些功能就不支持了(例如,在Windows Phone 7上,就不支持攝像頭、羅盤或存儲功能。老版的BlackBerry型號支持地理定位、通知以及網絡的可達性,但僅此而已)。
未來發行版本的路線圖包括對Contact API的升級,將其更新到最新的W3C規範。此外,計劃支持以下功能(這只是嘗試,而非完整的路線圖):
- 加密
- Websockets
- Web通知
- HTML媒體捕獲
- Calendar API
- 國際化支持
- 命令行編譯
- 網損/恢復事件
PhoneGap版本
2011年7月29日,PhoneGap發佈了1.0版產品。PhoneGap 1.0的推出,該公司表示,重點是訪問本地設備的API。
其他的改進包括:
API的整體穩定和“可插拔”的架構W3C DAP API的兼容性聯繫人API遠程調試工具一個新的統一的橋接口,使增加平台和平台擴展容易改進的插件開發流程。
2011年10月1日,PhoneGap發佈了1.1.0版產品。
新功能:
1.支持黑莓playbook的WebWorks併入。
2.orientationchange事件。
3.媒體審查(使用HTML5的音頻和/或正常化的API)。
2012年3月6日,PhoneGap發佈了1.5.0版產品。
2013年1月 PhoneGap發佈了2.3.0版產品
Adobe已經發布PhoneGap2.3.0完全支持Windows Phone 8。它還包括支持inappbrowser這使您可以在全屏模式觀看視頻文件。新版本提供了一個在文件傳輸失敗能夠刪除不完整文件的新特性,還包括插件查詢(urlisallowed)方法抽象。
PhoneGap2.3.0包括輔助腳本轉換cordova.plist向config.xml和包括了幾個bug修復,詳細的官方更新日誌。該device的name屬性已被否決所有平台和一個新的屬性被命名為device.model已被釋放來取代它。
該inappbrowser具有相同功能的childbrowser,包括事件的支持和不使用軟件白名單。
PhoneGap2.3.0有固定的例外而搜索郵件聯繫人。它也修正了一個問題,而將照片從https地址聯繫和科爾多瓦的命令,在他們的空間路徑。
PhoneGap功能
1、兼容性。完全做到了written once, run everywhere。
2、標準化。PhoneGap用W3C標準,特別標準,Web App直接一字不改就能運行。尤其是和JQ Mobile結合在一起使用,實在是威力無窮啊!
3、用JavaScript+HTML5。你説這和iOS以及Android的代碼加XML有區別嗎?我看都差不多。
當然PhoneGap缺陷還是蠻多的,比如運行速度慢,UI反應延時——這是個致命傷。不過嘛,這種問題是會隨着技術的進步而消失的。對此問題,國內已有WeX5開源框架專門對PhoneGap做了進一步深度優化,基於WeX5框架開發出來的App體驗已經接近原生。它的優勢是無與倫比的:開發成本低——筆者個人估計,至多是Native App的五分之一吧。偉大的政論家托馬斯·約瑟夫·登寧,資本主義為了100%的利潤,它就敢踐踏一切人間法律。跨平台的流行是不可避免的。當然,Native App永遠會有一席之地,比如高端遊戲.
PhoneGap公司近況
電腦軟件公司Adobe 2011年10月4日宣佈收購了創建了HTML5 移動應用框架PhoneGap 和PhoneGap Build的新創公司Nitobi Software。
收購後,Adobe將為開發人員提供兩個強大的跨平台原生移動應 用程序開發工具:基於 HTML5 和 JavaScript 腳本的 PhoneGap,以及 Adobe Flash? 與Adobe AIR?。PhoneGap 的開源框架已被下載超過 60 萬次,有幾千款用PhoneGap 構建的應用程序已經進入Android、iOS、黑莓和其他操作系統的移動應用程序商店當中。
PhoneGap支持平台
PhoneGap支持的操作系統包含:
Feature | iPhone /iPhone 3G | iPhone 3GS and newer | Android | 5.x | 6.0+ | ||||
---|---|---|---|---|---|---|---|---|---|
是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |
是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | |
不適用 | 是 | 是 | 不適用 | 不適用 | 是 | 是 | 不適用 | 是 | |
通訊簿 | 是 | 是 | 是 | 是 | 是 | 不適用 | 是 | 是 | 是 |
檔案 | 是 | 是 | 是 | 是 | 是 | 不適用 | 是 | 不適用 | 不適用 |
定位 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
多媒體 | 是 | 是 | 是 | 不適用 | 不適用 | 不適用 | 是 | 不適用 | 不適用 |
網絡 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(alert) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(sound) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(vibration) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
存儲 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 不適用 | 不適用 |
PhoneGap前景
Adobe公開表示將會為HTML5開發推出更多有意義的工具。有業內人士表示,Adobe的HTML5戰略特別值得注意,此外Adobe對於喬布斯的此番公開批評曾積極地迴應道:“喬布斯説的不都是對的。”這是個好的信號,在flash和html5之間猶豫的開發者可以大膽的使用phonegap了,另外html5更注重移動平台,flash更適合pc端。在html5移動應用的架構選擇上,PhoneGap無疑是最佳的開發模式。
- 參考資料
-
- 1. PhoneGap 2.8.0 發佈! .phonegap官方網站.2013-06-07[引用日期2013-06-10]
- 2. PhoneGap中文網 .PhoneGap中文網_中國PhoneGap與Cordova跨平台移動APP開發門户網