PhoneGap
Encyclopedia
PhoneGap is an open-source mobile development framework
Multiple phone web based application framework
A multiple phone web based application framework is a software framework that is designed to support the development of phone applications that are written as embedded dynamic websites and may leverage native phone capabilities, like geo data or contact lists...

 developed by Nitobi Software. It enables software
Computer software
Computer software, or just software, is a collection of computer programs and related data that provide the instructions for telling a computer what to do and how to do it....

 programmer
Programmer
A programmer, computer programmer or coder is someone who writes computer software. The term computer programmer can refer to a specialist in one area of computer programming or to a generalist who writes code for many kinds of software. One who practices or professes a formal approach to...

s to build applications
Application software
Application software, also known as an application or an "app", is computer software designed to help the user to perform specific tasks. Examples include enterprise software, accounting software, office suites, graphics software and media players. Many application programs deal principally with...

 for mobile devices using JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, HTML5 and CSS3, instead of often less-known languages such as Objective-C
Objective-C
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the OpenStep standard, though not compliant with it...

. The resulting applications are hybrid, meaning that they are neither truly native (all layout rendering is done via the webview instead of Objective-C
Objective-C
Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language.Today, it is used primarily on Apple's Mac OS X and iOS: two environments derived from the OpenStep standard, though not compliant with it...

 or Corona
Corona (software development kit)
Corona SDK is a software development kit created by Walter Luh, co-founder of Ansca Mobile. It allows software programmers to build mobile applications for the iPhone, iPad, and Android devices....

 apps) nor purely web based (much of the functions would be supported by HTML5). One disadvantage is that hybrid applications do not have full access to the device application programming interface
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...

 (API).

History

First developed at an iPhoneDevCamp event in San Francisco, PhoneGap went on to win the People's Choice Award at O'Reilly Media
O'Reilly Media
O'Reilly Media is an American media company established by Tim O'Reilly that publishes books and Web sites and produces conferences on computer technology topics...

's 2009 Web 2.0 Conference and the framework has been used to develop many apps.Apple Inc. has confirmed that the framework has its approval, even with the new 4.0 developer license agreement changes. The PhoneGap framework is used by several mobile application platforms such as Worklight and appMobi as the backbone of their mobile client development engine. Adobe officially announces the acquisition of Nitobi on 4th October 2011.

Design

The mobile framework allows web developers to natively target all smartphone
Smartphone
A smartphone is a high-end mobile phone built on a mobile computing platform, with more advanced computing ability and connectivity than a contemporary feature phone. The first smartphones were devices that mainly combined the functions of a personal digital assistant and a mobile phone or camera...

 with a single codebase (JavaScript
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....

, HTML
HTML
HyperText Markup Language is the predominant markup language for web pages. HTML elements are the basic building-blocks of webpages....

 and CSS
CSS
-Computing:*Cascading Style Sheets, a language used to describe the style of document presentations in web development*Central Structure Store in the PHIGS 3D API*Closed source software, software that is not distributed with source code...

) by enabling a Foreign Function Interface
Foreign function interface
A foreign function interface is a mechanism by which a program written in one programming language can call routines or make use of services written in another. The term comes from the specification for Common Lisp, which explicitly refers to the language features for inter-language calls as...

 (FFI) to an embedded WebView or Webkit
WebKit
WebKit is a layout engine designed to allow web browsers to render web pages. WebKit powers Google Chrome and Apple Safari and by October 2011 held over 33% of the browser market share between them. It is also used as the basis for the experimental browser included with the Amazon Kindle ebook...

 on the device.

Supported Platform

PhoneGap currently supports development for the operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

s Apple iOS, Google Android, HP webOS, Microsoft Windows Mobile
Windows Mobile
Windows Mobile is a mobile operating system developed by Microsoft that was used in smartphones and Pocket PCs, but by 2011 was rarely supplied on new phones. The last version is "Windows Mobile 6.5.5"; it is superseded by Windows Phone, which does not run Windows Mobile software.Windows Mobile is...

, Nokia Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...

 OS and RIM BlackBerry
BlackBerry
BlackBerry is a line of mobile email and smartphone devices developed and designed by Canadian company Research In Motion since 1999.BlackBerry devices are smartphones, designed to function as personal digital assistants, portable media players, internet browsers, gaming devices, and much more...

. Support for recent versions, such as BlackBerry 5 and 6 and Windows Phone 7, is being implemented now. Bada
Bada (operating system)
Bada is an operating system for mobile devices such as smartphones and tablet computers. It is developed by the Samsung Electronics. Its name is derived from " ", meaning "ocean" or "sea" in Korean...

 (the operating system used by the Samsung
Samsung
The Samsung Group is a South Korean multinational conglomerate corporation headquartered in Samsung Town, Seoul, South Korea...

 Wave S8500) support is "coming soon". As shown Below, a list of supported features for each operating system .
Feature
iPhone /iPhone 3G

iPhone 3GS and newer

Android
4.6-4.7
BlackBerry OS
BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...

5.x
BlackBerry OS
BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...

6.0+
BlackBerry OS
BlackBerry OS is a proprietary mobile operating system, developed by Research In Motion for its BlackBerry line of smartphone handheld devices...


webOS

Symbian
Symbian
Symbian is a mobile operating system and computing platform designed for smartphones and currently maintained by Accenture. The Symbian platform is the successor to Symbian OS and Nokia Series 60; unlike Symbian OS, which needed an additional user interface system, Symbian includes a user...


Bada
Bada
Bada is a South Korean K-pop singer. Her birth name is Choi Sung-hee. Bada studied Korean traditional vocal music at Dankook University. As the former lead vocal from the now defunct S.E.S., Bada has released three solo albums and two singles. Before the release of her third album, Bada started a...


Windows Phone 7
Windows Phone 7
Windows Phone is a mobile operating system developed by Microsoft, and is the successor to its Windows Mobile platform, although incompatible with it. Unlike its predecessor, it is primarily aimed at the consumer market rather than the enterprise market...

Accelerometer
Accelerometer
An accelerometer is a device that measures proper acceleration, also called the four-acceleration. This is not necessarily the same as the coordinate acceleration , but is rather the type of acceleration associated with the phenomenon of weight experienced by a test mass that resides in the frame...

Camera
Camera
A camera is a device that records and stores images. These images may be still photographs or moving images such as videos or movies. The term camera comes from the camera obscura , an early mechanism for projecting images...

Compass
Compass
A compass is a navigational instrument that shows directions in a frame of reference that is stationary relative to the surface of the earth. The frame of reference defines the four cardinal directions – north, south, east, and west. Intermediate directions are also defined...

Contacts
Contact list
A contact list is a collection of screen names in an instant messaging or e-mail program or online game or mobile phone. It has various trademarked and proprietary names in different contexts....

File
Geolocation
Geolocation
Geolocation is the identification of the real-world geographic location of an object, such as a radar, mobile phone or an Internet-connected computer terminal...

Media
Network
Notification (Alert)
Notification (Sound)
Notification (Vibration)
Storage

See also

  • Multiple phone web based application framework
    Multiple phone web based application framework
    A multiple phone web based application framework is a software framework that is designed to support the development of phone applications that are written as embedded dynamic websites and may leverage native phone capabilities, like geo data or contact lists...

  • List of rich Internet application frameworks
  • Appcelerator Titanium
    Appcelerator Titanium
    Appcelerator Titanium is a platform for developing mobile, tablet and desktop applications using web technologies. Appcelerator Titanium is developed by Appcelerator Inc. and was introduced in December 2008. Support for developing iPhone- and Android-based mobile applications was added in June...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK