Apache Cordova

Apache Cordova,舊稱PhoneGap是一款開放原始碼的行動裝置開發框架,旨在讓開發者使用HTMLJavascriptCSS等Web APIs開發跨平臺的行動裝置應用程式[4]。原本由Nitobi公司開發,現在由Adobe Systems擁有[5][6]

Apache Cordova
(舊稱PhoneGap)
原作者Joe Bowser、Michael Brooks、Rob Ellis、Dave Johnson、Anis Kadri、Brian Leroux、Jesse MacFadyen、Filip Maj、Eric Oesterle、Brock Whitten、Herman Wong、Shazron Abdullah
開發者Adobe Systems
首次釋出2009年,​15年前​(2009
目前版本
  • 12.0.0(2023年5月22日;穩定版本)[1]
編輯維基數據鏈結
程式語言JavaScriptHTML5CSS3JavaC++C♯Objective-C
作業系統iOSAndroidwebOSSymbianBlackBerryUbuntu TouchWindows PhoneWindows 8Firefox OS
語言英語
類型行動裝置開發框架
授權條款Apache 2.0 License[2][3]
網站www.phonegap.com
cordova.apache.org

發展歷程

最早的PhoneGap起步於2009年在舊金山召開的iPhoneDevCamp大會[7],Nitobi的工程師Brock Whitten、Rob Ellis和Andre Charland在iOS系統內架設起Web介面和Objective-C之間的橋梁,讓開發人員得以使用HTML5、JavaScript、CSS等web標準技術便捷開發原生程式,實現一次編譯到處執行。其「橋接Web與iPhone SDK之間縫隙」的理念得到歡迎[7]

2011年10月4日,Adobe正式宣布收購Nitobi軟體[8]。PhoneGap的代碼貢獻給了Apache軟體基金會,但保留了PhoneGap的商標所有權,並命名為Apache Callback。1.4版釋出後,接著Apache Callback的名稱變更為Apache Cordova。Cordova是街道的名字,在開發團隊附近。[9]Adobe Dreamweaver 5.5版本為phonegap提供開發環境。

早期版本的PhoneGap需要使用蘋果電腦來開發iOS應用程式,而Windows Mobile應用程式則是使用Windows平台開發出來的。2012年9月之後,「 PhoneGap Build」服務推出,可以讓程式設計師將他的原始碼上傳到「雲編譯器」,產生應用程式每一個所支援平台的安裝包[10]

設計理念

PhoneGap是一個行動裝置的API介面集,利用JavaScript存取這些介面可以調用諸如攝影機、羅盤等硬體系統資源。配合上一些基於HTML5CSS3技術的UI框架,如jQuery Mobile、Dojo Mobile或Sencha Touch,開發者得以快速地開發跨平台App而不需要編寫任何的原生代碼。[11]

注意到因為PhoneGap本身仍是一個原生程式,為App打包時依然需要用到這些系統平台的SDK。

PhoneGap Framework可以用多種行動應用程式平台開發,例如:ViziApps、[12] Worklight、[13][14]Convertigo[15][16]、Tiggr和appMobi[17] ,也可以選擇PhoneGap Build編譯工具。

由於使用Web技術,PhoneGap程式的載入和UI介面的反應都比原生的程式慢[18]Adobe警告開發者,由於使用PhoneGap框架開發的程式執行速度可能會太慢或使用體驗不夠「原生」,而被蘋果應用商店拒絕上架[19][20]

支援平台

PhoneGap目前支援的作業系統包含蘋果的iOS、Google的Android[21]Blackberry、LG的WebOS、微軟的Windows Phone、Nokia的Symbian、三星的TizenbadaFirefox OS[22]Ubuntu Touch[23][24][25]

功能 iPhone /iPhone 3G iPhone 3GS and newer Android 1.0 – 4.2 Windows Phone BlackBerry 10 and PlayBook OS 4.6–4.7 5.0-6.0+ Bada Symbian webOS Tizen Ubuntu Touch Firefox OS
加速器 不適用
照相機 不適用
指南針 不適用 不適用 不適用 不適用
通訊簿 不適用 不適用 不適用
檔案 不適用 不適用 不適用 不適用
地理定位
多媒體 不適用 不適用 不適用 不適用 不適用
網路
通知(警告、聲音、震動)
儲存 不適用 不適用

參見

注釋

  1. ^ https://cordova.apache.org/news/2023/05/22/cordova-cli-12.0.0.html.
  2. ^ PhoneGap License. Phonegap.com. [2013-10-09]. (原始內容存檔於2011-06-17). 
  3. ^ FAQ | PhoneGap Build | Edge Tools & Services | Adobe & HTML. Html.adobe.com. [2013-10-09]. (原始內容存檔於2012-09-28). 
  4. ^ Easily create apps using the web technologies you know and love: HTML, CSS, and JavaScript. phonegap. [2013-05-30]. (原始內容存檔於2013-05-23). 
  5. ^ Adobe Announces Agreement to Acquire Nitobi, Creator of PhoneGap. Adobe.com. 2011-10-03 [2012-04-07]. (原始內容存檔於2012-04-13). 
  6. ^ Andre Charland's Answers on PhoneGap. Quora. [2012-04-07]. 
  7. ^ 7.0 7.1 http://www.eweek.com/c/a/Application-Development/PhoneGap-Simplifies-iPhone-Android-BlackBerry-Development-788189/
  8. ^ Shankland, Stephen. Adobe buys PhoneGap, TypeKit for better Web tools | Deep Tech - CNET News. News.cnet.com. 2011-10-03 [2012-04-07]. (原始內容存檔於2012-07-29). 
  9. ^ Apache Cordova gets a new look - The H Open Source: News and Features. H-online.com. 2012-02-22 [2012-04-07]. (原始內容存檔於2013-12-07). 
  10. ^ Klint Finley. "Adobe Launches Hosted PhoneGap Build Service For Creating Cross-Platform Mobile Apps"頁面存檔備份,存於網際網路檔案館). 2012.
  11. ^ Apache Cordova is a platform for building native mobile applications using HTML, CSS and JavaScript. [2013-05-30]. (原始內容存檔於2013-06-06). 
  12. ^ Create Mobile and Web Apps with HTML5 and JavaScript. ViziApps.com. [2012-04-07]. (原始內容存檔於2012-03-31). 
  13. ^ Mobile Application Platform and Tools. Worklight. 2012-01-16 [2012-04-07]. (原始內容存檔於2012-04-19). 
  14. ^ How PhoneGap plays an important part in our Enterprise offering « PhoneGap. Phonegap.com. 2011-06-27 [2012-04-07]. (原始內容存檔於2012-04-15). 
  15. ^ Open Source Mobile Enablement and Enterprise Mashups. Convertigo. [2012-04-07]. (原始內容存檔於2012-04-12). 
  16. ^ Convertigo Mobilizer Uses PhoneGap Build APIs « PhoneGap. Phonegap.com. 2011-07-07 [2012-04-07]. (原始內容存檔於2012-05-13). 
  17. ^ Create Mobile and Web Apps with HTML5 and JavaScript |. appMobi.com. [2012-04-07]. (原始內容存檔於2012-04-13). 
  18. ^ Sapan Diwakar. "Titanium vs Phonegap vs Native application development". [2013-05-30]. (原始內容存檔於2013-06-24). 
  19. ^ Andrew Trice. PhoneGap advice on dealing with Apple application rejections. Adobe System. 29 October 2012 [2013-05-30]. (原始內容存檔於2013-05-18). 
  20. ^ Greg Avola. Creating apps with PhoneGap: Lessons learned. Adobe System. 17 September 2012 [2013-05-30]. (原始內容存檔於2013-05-18). 
  21. ^ Using PhoneGap and the Sony Ericsson WebSDK to develop Android apps. Android and Me. [2012-04-07]. (原始內容存檔於2012-03-31). 
  22. ^ Building Cordova apps for Firefox OS ✩ Mozilla Hacks – the Web developer blog. 20 February 2014 [26 February 2014]. (原始內容存檔於2014-03-04). 
  23. ^ 存档副本. [2014-12-14]. (原始內容存檔於2013-10-26). 
  24. ^ PhoneGap supported features. Phonegap.com. [2013-10-09]. (原始內容存檔於2011-06-22). 
  25. ^ 存档副本. [2014-12-14]. (原始內容存檔於2014-10-25). 

外部連結