PhoneGap is a framework that allows developers to build mobile apps using HTML, CSS and JavaScript instead of native languages like Java or Objective-C. It works by wrapping the application in a native container that provides access to device capabilities like the camera or accelerometer through plugins. Developers can create plugins using native code to extend the functionality available to the wrapped webview. The framework handles communication between the JavaScript code and native plugins through an exec method that allows calling native functions and passing back results.