PhoneGap es un Framework de desarrollo de aplicaciones móviles basadas en web. Realmente es un punto intermedio entre una aplicación web y una aplicación nativa, la gran diferencia es que aprovecha los métodos de los lenguajes HTML5, CSS3 y JavaScript para acceder a los elementos del dispositivo móvil como la cámara, el acelerómetro, la memoria, etc… que trabajan con el API del sistema nativo.

Los informáticos tienen un término denominado “capa de abstracción” que como su nombre indica, divide un problema en niveles que hacen que el desarrollador se abstraiga de su implementación y evitar tedioso aprendizaje. Explicándolo mejor,  en una aplicación móvil creamos una funcionalidad y un diseño en los que intervendrán diversos aspectos como protocolos de comunicación, representación gráfica, gestión de ficheros,etc… Pues Phonegap ofrece una serie de funciones para acceder a estos módulos independientemente del dispositivo que se utilice, de una forma sencilla ya que se basa en lenguaje web, (javascript concretamente) y creando una capa intermediaria entre la programación de una aplicación web y el dispositivo, él solo ya se encargará de crearla.

La instalación y configuración puede ser bastante complicada e intentaremos aclarar las dudas del proceso para poder llegar a establecer la en nuestro ordenador.

Para empezar usaremos este Framework desde Java, así que deberemos tener instalados alguna de los IDE de Java en nuestro caso Eclipse y el SDK de Java Android para crear las aplicaciones en este SO. Lo más recomendable es instalare el paquete orientado a desarrollador Android ADT Bundle. Aunque PhoneGap tiene soporte además para IOs, Windows Phone, BlackBerry… , nosotros nos centraremos en la creación de una WebApp en Android y posteriormente reutilizaremos el código y modificaremos para otras plataformas. Instalación completa aquí.

Antes de nada nos dicen que instalemos Node.js del que solo puedo decir que es una API de programación de JavaScript en el servidor. A mi entender, JavaScript es un lenguaje de lado cliente, es decir que utiliza los recursos del propio ordenador de usuario desde donde se ejecuta la navegación. Pero también hay un desarrollo del lado servidor que permite ejecutar instrucciones de forma remota para aplicar dinamismo a las aplicaciones como AJAX.  Por ello, esta API proporciona métodos de ejecución en servidores escritos en JavaScript y que muchas otras plataformas, como Google Maps, Facebook, etc… utilizan para proporcionar servicios externos a páginas de desarrollo de usuario.  http://es.wikipedia.org/wiki/Nodejs

Es importante disponer de las últimas versión de PhoneGap, porque la documentación de la página es distinta y confusa y sobretodo los desarrolladores que publican soluciones con una versión antigua puede no funcionar en las nuevas. Es bastante problemático. Nosotros utilizaremos la versión 3.3 que es de las más recientes y podemos consultar su API (que dicho sea de paso está bastante escondida).

Este proceso es largo pero paso a paso, buen pie, buena letra y un poco de saliva se consigue instalar. A veces lo mejor es descargarlo desde la terminal accediendo a los repositorios remotos y dependiendo del sistema operativo podemos hacer una u otra.

Si alguien ha utilizado Linux alguna vez conocerá que para instalar programas no es necesario descargar un ejecutable o por lo menos esa no es la forma habitual de los métodos de instalación, aunque también se pueda hacer de esa manera.

Entrando en la ventana de comandos se da una orden para que el sistema busque dentro del repositorio web las últimas actualizaciones de los programas que se utilizan más comúnmente. Esto ofrece una gran versatilidad y confianza, ya que no estas expuesto a conectar con una página extraña o te cobren por descarga.
Pues Windows también posee esa opción y de la misma manera ejecutando esta instrucción en la ventana de comandos instalamos PhoneGap en nuestro ordenador.

C:\> npm install -g phonegap

http://phonegap.com/install/

PhoneGap es una distribución de Apache Cordova. Practicamente son idénticos y para crear un proyecto desde consola puedes utilizar tanto la instrucción $cordova create my-app o $phonegap create my-app indistintamente. La diferencia reside en que Phonegap tiene acceso a servicios en la nube Adobe.

Con estos pasos ya se puede crear una webApp utilizando lenguaje web, pero aún no tenemos una plataforma de trabajo desde la cual programar nuestra aplicación.

Desde esta página te enseñan como instalar PhoneGap como Plugin en el entorno de Eclipse de Java con el que solemos desarrollar nuestras aplicaciones en nativo.

Este paso puede ser quizás el más costoso de todos, porque hay que añadir unas rutas de variables dentro de el entorno de Eclipse que no son para nada intuitivas. Así que vamos a ello.

http://www.neoteo.com/como-instalar-phonegap-en-eclipse/