PhoneGap
開源的開發框架
PhoneGap是一個採用HTML,CSS和JavaScript的技術,創建移動跨平台移動應用程序的快速開發平台。它使開發者能夠在網頁中調用IOS,Android,Palm,Symbian,WP7,WP8,Bada和Blackberry等智能手機的核心功能——包括地理定位,加速器,聯繫人,聲音和振動等,此外PhoneGap擁有豐富的插件,可以調用。
業界很多主流的移動開發框架均源於PhoneGap。較著名的有Worklight、appMobi、WeX5等;其中WeX5為國內打造,完全Apache開源,在融合Phonegap的基礎上,做了深度優化,具備接近Native app的性能,同時開發便捷性也較好。
它需要特定平台提供的附加軟體,例如iPhone的IOS SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套開發。使用PhoneGap只比為每個平台分別建立應用程序好一點點,因為雖然基本代碼是一樣的,但是你仍然需要為每個平台分別編譯應用程序。
第一段PhoneGap代碼是在2008年8月的iPhoneDevCamp上寫成的。創建它的一個主要動力是基於一個幾乎每一個單獨的iPhone開發新手都要面對的簡單事實:Objective-C是一個對Web開發人員來說非常陌生的環境,並且Web開發人員的數量遠遠多於Objective-C開發人員的數量。
問題是,是否有人可以開發一個框架,讓Web開發人員可以利用他們所有的HTML、CSS和JavaScript知識,而且仍舊可以同iPhone的重要本地應用程序(如攝像頭和通訊錄)交互呢?
就在那一年,PhoneGap獲了獎並開始支持Android平台,對人數不斷增長的移動開發人員變得越來越有用,這些人員需要在更多的平台上獲得代碼支持。
截止 2014年5月14日,phonegap的最新版本為3.4.1 。PhoneGap在多個主要的智能手機設備上提供了以下功能的支持:
• 加速計
• 攝像頭
• 羅盤
• 通訊錄
• 文檔
• 地理定位
• 媒體
• 網路
• 通知(警告、聲音和振動)
• 存儲
如果正在為iPhone或Android設備做開發,那麼這些功能都是支持的。如果是為BlackBerry、webOS、Windows Phone 7、Symbian或Bada設備做開發,則有些功能就不支持了(例如,在Windows Phone 7上,就不支持攝像頭、羅盤或存儲功能。老版的BlackBerry型號支持地理定位、通知以及網路的可達性,但僅此而已)。
未來發行版本的路線圖包括對Contact API的升級,將其更新到最新的W3C規範。此外,計劃支持以下功能(這只是嘗試,而非完整的路線圖):
• 加密
• Websockets
• Web通知
• HTML媒體捕獲
• Calendar API
• 國際化支持
• 命令行編譯
• 網損/恢復事件
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地址聯繫和科爾多瓦的命令,在他們的空間路徑。
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永遠會有一席之地,比如高端遊戲。
電腦軟體公司Adobe 2011年10月4日宣布收購了創建了HTML5 移動應用框架PhoneGap 和PhoneGap Build的新創公司Nitobi Software。
收購后,Adobe將為開發人員提供兩個強大的跨平台原生移動應 用程序開發工具:基於 HTML5 和 JavaScript 腳本的 PhoneGap,以及 Adobe Flash? 與Adobe AIR?。PhoneGap 的開源框架目前已被下載超過 60 萬次,有幾千款用PhoneGap 構建的應用程序已經進入Android、iOS、黑莓和其他操作系統的移動應用程序商店當中。
PhoneGap目前支持的操作系統包含:
Feature | iPhone /iPhone 3G | iPhone 3GS and newer | Android | 5.x | 6.0+ | webOS | Windows Phone | Symbian | Bada |
加速規 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
照相機 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
羅盤 | 不適用 | 是 | 是 | 不適用 | 不適用 | 是 | 是 | 不適用 | 是 |
通訊簿 | 是 | 是 | 是 | 是 | 是 | 不適用 | 是 | 是 | 是 |
檔案 | 是 | 是 | 是 | 是 | 是 | 不適用 | 是 | 不適用 | 不適用 |
定位 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
多媒體 | 是 | 是 | 是 | 不適用 | 不適用 | 不適用 | 是 | 不適用 | 不適用 |
網路 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(alert) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(sound) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
通知(vibration) | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 是 |
存儲 | 是 | 是 | 是 | 是 | 是 | 是 | 是 | 不適用 | 不適用 |