Publicado por : Ignacio Cisneros lunes, 12 de diciembre de 2011
COMPARTE →

Hace unas semanas que estoy buscando un buen sistema para desarrollar aplicaciones para dispositivos móviles sin tener que desarrollar una aplicación específica para cada plataforma. A pesar de que la mayoría de entornos de desarrollo para móviles están basados en Java, las llamadas al sistema son diferentes en cada arquitectura.

La mejor solución que he encontrado se llama PhoneGap, es un framework que permite desarrollar aplicaciones para dispositivos móviles (iPhone, Android, Symbian, Bada, Blackberry...) basadas en HTML5 y JavaScript.


Si sumamos la potencia de HTML5 a la capacidad de conectar, mediante AJAX, a un servidor PHP, los límites son prácticamente inapreciables. Aunque todavía no tiene soporte para todas las llamadas al sistema, mediante PhoneGap podemos utilizar la antena GPS, los SMS, llamadas, vibrador, acelerómetro, acceso a contactos, etc...

La documentación es bastante buena y hay bastantes ejemplos ya desarrollados, la mayoría en inglés.

Hoy he publicado mi primera aplicación en el Android Market, es un Conversor de Euros a Dolares y viceversa, es una aplicación muy sencilla que me ha permitido conocer un poco más la arquitectura de las aplicaciones de Android y dar mis primeros pasos en el desarrollo de aplicaciones Android.


Por si a alguien le resulta útil, podéis descargar el código fuente.

Actualización: He creado una página donde iré recopilando todas las aplicaciones y códigos fuente de las aplicaciones que desarrolle con PhoneGap:




{ 25 comentarios... read them below or Comment }

  1. Enhorabuena, está muy bien, yo me la he instalado, es muy básica pero hace lo que dice. Te recomiendo que revises los pasos entre pantallas porque hace alguna cosa rara.

    Ya irás perfeccionando y enseñándome.

    Raul

    ResponderEliminar
  2. Eres un máquina! Estare atento a tus nuevas aplicaciones :)

    Beltrán.

    ResponderEliminar
  3. Hola, muchas gracias por este aporte tan importante.
    Veo que mencionas algo de conectarse a servidores PHP, tienes algun ejemplo sobre eso??? Es algo que la vdd necesito y me ayudarias muchisimo

    Gracias =D

    ResponderEliminar
  4. @Anónimo puedes descargarte el código fuente de MyIP desde aquí: http://www.ellibrogordodepetete.com/2012/01/ejemplos-phonegap-en-espanol-codigo.html

    En ese ejemplo de PhoneGap se realiza una conexión al servidor PHP para obtener la dirección IP, el script PHP tiene que devolver la información en formato JSON, es la única forma de evitar la seguridad cross-domain.

    Espero que te sirva.

    ResponderEliminar
  5. sabrás si phonegap soporta php?

    ResponderEliminar
  6. Pero phoneGap no incluye un intérprete de PHP, por lo que necesita conectarse a un servidor remoto, no?

    ResponderEliminar
  7. Que programas utilizaste para crear el programa?

    ResponderEliminar
  8. El código PHP hay que ejecutarlo en el servidor, Phonegap se conecta mediante JSON para leer las respuestas y mostrarlas en la aplicación. Básicamente tenéis que crear un servicio web.

    Yo utilizo Eclipse para el desarrollo de aplicaciones móviles.

    ResponderEliminar

  9. Hola Ignacio, ayudame guiandome por el buen camino, quiero desarrollar en phonegab una aplicacion de consulta de notas para estudiantes los cuales se tienen que loguear, quiero hacerla consultando desde una bd oracle, con PHP y utilizando Cas Server (Central Authentication Service) que tan posible y viable es?? podrias ayudarme con algun ejemplo.. Gracias de antemano.. Saludos!!

    ResponderEliminar
  10. Hola John, es totalmente viable lo que comentas, la conexión entre Phonegap y PHP la tienes que hacer con JSON.

    ResponderEliminar
  11. hola si alguien me pudiera ayudar, resulta que me estoy conectando mediante ajax a una pagina php, la cual me devuelve un arreglo con unos nombres, resulta todo bien, ahora quise ir un poco mas alla y hacer un login de la misma forma(utilice el mismo metodo para mostrar los datos, pero al probarlo me tira un error de parse. Este es el codigo en la pagina php para devolver el arreglo tipo jsonp:

    $resp = array("user"=>"nombre");
    echo $_GET["jsoncallback"].'('.json_encode($resp).');';

    ResponderEliminar
  12. Hola Ignacio, el código que pegas aparentemente está bien, aunque desconozco el valor de las variables.

    El fallo más habitual al utilizar la función json_encode es que no cambies la cabecera del documento, es obligatorio hacerlo para que funcione correctamente con PhoneGap y Jquery.

    Te recomiendo revisar el código de MyIP porque podrás ver cómo se ejecuta el código PHP del lado del servidor y como hay que devolver la información, es importante cambiar las cabeceras de PHP por las de Json.

    ResponderEliminar
  13. Como actualizo datos de mi aplicacion sin tener que actualizar la aplicacion?

    ResponderEliminar
  14. hola tengo un inconveniente , resutla que tengo un formulario de consulta, el cual envia un dato por medio de ajax y el resultado lo quiero mostrar en otro html, como lo puedo hacer

    ResponderEliminar
  15. Hola David, lo que quieres hacer es sencillo con PhoneGap y Jquery Mobile. Tienes que recibir el valor por ajax en PHP, procesarlo y devolver el valor resultante en un JSON para que Jquery pueda procesarlo.

    Puedes ver un ejemplo de cómo funciona JSON en el código fuente que he publicado de MyIP.

    Un saludo.

    ResponderEliminar
  16. como creo un formulario de contacto en phonegap

    ResponderEliminar
  17. Saludos, mira necesito hacer una aplicación web para calcular nomina de empleados, la idea es que los supervisores anden con una tabletita con android viendo donde están los empleados, lo anoten en la aplicacion, de ahi valla al servidor que tiene la base de datos y de allí a contraloria, será que programando en php la aplicación, usando mysql para la base de datos puedan acceder las tabletas a la aplicación y trabajar con la base de datos? todo es mediante una Lan dentro de la propia empresa.

    ResponderEliminar
  18. Hola, una pregunta, tengo una web en php y mysql, y queria saber como podria hacer para crear una aplicacion en la cual primero hay que loguearse y que muestre la informacion que esta en la bd mysql, que pasos tendria que seguir? en html5 puedo hacerlo? alguien me puede guiar un poco con el tema.
    Saludos, y buen trabajo

    ResponderEliminar
  19. Yo quiero acceder a los archivos de appserv de mi lap-top. Y poder trabajar en mis proyectos.

    ResponderEliminar
  20. Tengo una apps alojada en html5 pero se crean las vistas Dinamicas por el php se puede trabajar en phonegap !.

    ResponderEliminar
  21. Hola Ignacio,

    Gracias por tus ejemplos de apps. En este artículo comentas que existen muchos ejemplos de app en phonegap, yo no he podido encontrar ninguno, pordrías darme algunos enlaces?

    gracias de nuevo

    ResponderEliminar
  22. hola yo quiero hacer una app con ajax y sqlite pero mi duda es que si genero el apk con phonegaph pueda interpretar el lenguaje de php el celular android

    ResponderEliminar
  23. Genial, sería genial unos tutoriales

    ResponderEliminar
  24. Hola ojalá alguien pueda contestar, lo que pasa que quiero hacer un sitio web con PHP, para enviar notificaciónes y que lleven a una aplicación móvil hecha por phonegap es esto posible gracias

    ResponderEliminar
  25. Buenas tardes amigo, descarge el ejemplo Recetario de Comida, pero no trae los archivos PHP, me puedes auxiliar con la conexion al servidor e insercion.

    ResponderEliminar

Con la tecnología de Blogger.

- Copyright © Todos contra Google - El blog de Ignacio Cisneros - icisneros - Original design by Johanes Djogan modified by Ignacio Cisneros-