PhoneGap: crear aplicaciones para diferentes plataformas móviles


Phonegap

Para quienes aún no lo conocen, PhoneGap es un framework que nos brinda la posibilidad de crear aplicaciones que se pueden compilar para diferentes plataformas móviles (iOS, Android, Blackberry, Windows Phone, WebOS y Symbian, entre otras). La gran ventaja de este producto es que estas versiones, pueden crearse a partir de un código desarrollado en HTML, CSS y JavaScript, potenciado, claro, por los nuevos elementos y APIs que nos trae HTML5.

Desarrollado originalmente por Nitobi, PhoneGap ha sido adquirido por Adobe y ha sido integrado en las últimas versiones de Dreamweaver. Además está disponible en formato de plugin para diferentes programas, como el caso de Eclipse o como template para Xcode en Mac. Claro que también existe la opción del SDK. Es importante destacar que si bien Adobe está trabajando con herramientas para facilitar el uso de Phonegap, el código ha sido entregado también a la Fundación Apache para que se mantenga como Open Source. Este proyecto en la Fundación se encuentra bajo el nombre de Apache Cordova.

PhoneGap cuenta con una librería JavaScript que nos da una API de funciones que nos permitirá potenciar lo que nos ofrece el navegador. Es decir, podremos tener funcionalidades más allá del estándar para acceder, por ejemplo, a alguna opciones del sistema. Dentro de lo que es PhoneGap, también encontraremos librerías nativas que funcionan como una especie de “puente” entre el código JavaScript y cada una de las plataformas nativas, esto les da a los desarrolladores un elemento extra para ir un paso más allá con sus aplicaciones y saltar limitaciones impuestas.

Si lo que deseamos es evitar tener que descargar e instalar aplicaciones o plugin en nuestro sistema, contamos con la opción de PhoneGap Build. Este servicio en la “nube” nos brinda una opción gratuita  (infinitas aplicaciones públicas pero solo una privada) y otras alternativas de pago con mayores beneficios para desarrolladores. Si nos registramos para utilizarlo, veremos lo sencillo que es crear aplicaciones para diferentes plataformas móviles desde un mismo lugar y sin obligación de aprender el lenguaje nativo de cada una de ellas.

En conclusión, si sabemos trabajar con HTML5 + CSS + JavaScript y aprendemos a utilizar todo lo relacionado con PhoneGap, podremos crear aplicaciones que se comportarán como apps nativas en diferentes plataformas móviles. Lo que deberemos tener en cuenta es que si bien PhoneGap nos permite crear aplicaciones que se comportarán como nativas en cada una de las plataformas móviles, este producto se apoya también en el motor de render del navegador principal de cada una de estas plataformas. Esto en parte, nos puede dar alguna diferencia entre las plataformas y también algunas características que deberemos tener en cuenta. Por esta razón es importante leer la documentación de PhoneGap, que es muy completa, y nos permitirá saber que cosas podremos utilizar con confianza en cada una de las plataformas que elijamos compilar.

Para finalizar, vale destacar que, a pesar que existen diferentes herramientas y/o plugins para utilizarlo, Phonegap es gratuito y Open Source. Su sitio Web es: http://phonegap.com/.

 

¿Te interesa  capacitarte en desarrollo Web? Estés en el lugar donde estés, puedes contactarme.

Publicado el por

33 Comentarios

33 respuesats a PhoneGap: crear aplicaciones para diferentes plataformas móviles

  1. Antonio

    ¿Para obtener los certificados para la compilación de la app en la nube usando build.phonegap para ios es obligatorio pagar aunque no se vaya a comercializar la aplicación?
    ¿Se pueden obtener esos certificados teniendo únicamente un mac?

    • Damián De Luca

      Para obtener el certificado de Apple debes registrarte como desarrollador con ellos y abonar el monto que establece Apple. Recuerda que las aplicaciones de iOS deben distribuirse desde el store de Apple (previa autorización).

      Saludos

  2. Damián

    te hago una consulta para poder testear la app en los dispositivos ios, phonegap empaqueta como para para android que te da el .apk me daria el .ipa? si tengo jailbreak podria instalarlo? gracias

    • Damián De Luca

      Para la generación de la App debes utilizar las opciones que te da Apple y estar registrado como desarrollador para subirlo al Store. Es como cualquier otra App, ya que la tendrás que generar desde el XCODE. Otra opción es empaquetarla desde los servicios online de Adobe. Pero en cualquiera de los casos es necesario que estés registrado como desarrollador Apple y tengas la firma digital correspondiente.

      Saludos

  3. Damián

    gracias por la respuesta, entiendo que tengo que ser desarollador, y empaquetarla con phonegap online, pero la pregunta es si phonegap o adobe como decis me da el .ipa para instalarlo en un ipad jailbreak es para una app de uso no publico

  4. Guiomar

    Hola, cómo puedo conseguir la firma obligatoria para subir una app a play google (android) utilizando phonegap build? al generarme la apk la exporto a eclipse o hay otra forma? Utilizo Mac. Muchas gracias de antemano

  5. Juan

    Hola Damián. Tengo varios años desarrollando sitios web con diferentes tecnologías. Recientemente, un cliente me pidió hacer un sitio web para dispositivos móviles así que lo cree con jQuery Mobile. Ahora este cliente quiere convertir dicho sitio web en una aplicación nativa para Android y Apple. No tengo experiencia en cómo crear aplicaciones nativas con SDK’s o herramientas como XCode o Eclipse, ni siquiera tengo un equipo Apple a la mano. Mi pregunta es la siguiente: ¿Puedo usar únicamente PhoneGap Build para crear las apps nativas del sitio web que hice? ¿Cómo puedo firmar u obtener el certificado de la aplicación si no tengo herramientas de desarrollo? Te agradezco infinitamente el consejo que puedas darme, mil gracias por tu ayuda.

    • Damián De Luca

      Sí, es posible empaquetarlo con PhoneGap. Se puede descargar el SDK para hacerlo o también se puede analizar si es conveniente hacerlo con PhoneGap Build.
      A la hora de empaquetar tal vez se tengan que optimizar y adaptar ciertos códigos, dependiendo de las APIs que hayas usado.
      Las firmas y demás certificados los obtienes registrándote en Apple y en Android. Para generar un proyecto para iOS necesitarás una Mac y XCode, lo de Android lo podés hacer en Windows, Linux o MacOSX con Eclipse.

      Todas las guías para arrancas con PhoneGap están en: http://phonegap.com/developer/

      Como toda herramienta hay una curva de aprendizaje, el empaquetado no es solamente zipear los archivos y subirlos a la tienda. Hay que meterse y conocer bien como funciona todo el sistema y como se debe adaptar un proyectos para esto.

      Saludos

      Damián

      • Juan

        Muchas gracias por tu respuesta, Damián. La verdad es que no sé por dónde empezar. Tengo entendido que una vez que subes a PhoneGap el .zip con los archivos del sitio web, allí mismo configuras los parámetros de la app y ellos se encargan de empaquetar la aplicación para diversas plataformas, hasta aquí no hay problema. La cuestión es que he leído que para que puedas bajarte los paquetes para distribución necesitas introducir las firmas y allí es dónde tengo la duda de si esas firmas se pueden generar desde PhoneGap Build o necesito obligatoriamente los entornos de desarrollo. Me di de alta en las tiendas de Android y Apple ( pagando las cuotas correspondientes ) y en Android no me proporcionaron ninguna clave o certificado; en Apple apenas lo hice hoy y estoy en espera de a ver qué me envían por correo. Es terrible cuando no tienes experiencia en algo y no sabes qué camino seguir, por eso te agradezco enormemente tu ayuda.

  6. Eduardo

    Hola que tal!
    se puede convertir una aplicacion con entorno web hecha con asp y c# ?
    o solo aplicaciones hechas con css, javascript y html

    saludos!

    • Damián De Luca

      En PhoneGap se puede empaquetar contenidos creados con HTML, JavaScript, CSS e imágenes.

      Todo lo que requiera tecnología de servidor (ASP, PHP, etc.) no estará en el paquete y requiere estar en un servidor para funcionar.

      Saludos

      Damián

      • Eduardo

        Ok, Entiendo, se podra acceder a una aplicacion asp en servidor, descargar un archivo para trabajar sin conexion , leerlo, modificarlo y despues subirlo?

        y otra duda,
        bueno, entonces el PhoneGap Build es el unico que es de pago por compilar mis apliaciones?
        y si las quiero publicar debo registrarme como desarrollador con apple o android verdad?
        puedo hacerlas gratuitamente desde eclipse e instalarlas en los dispositivos que yo quiera o necesite?

        saludos!

        • Damián De Luca

          Para trabajar con lo que hay en el servidor puedes utilizar AJAX.

          PhoneGap Build tiene opciones gratuitas y otras pagas. Para publicarlo en las tiendas debes registrarte en cada una de ellas. En el caso de Apple y Android, para publicar en sus tiendas debes pagar al registrarte.

          Saludos

  7. Alfonso

    Hola Damian, me encuentro desarrollando una webapp que pienso compilar con phonegap una vez y la termine…Me surge una duda…. estoy usando bases de datos Mysql y lenguaje del lado de servidor Php… Que sucede con esta estructura al compilar en el framework de phonegap… es decir… como podemos compilar una aplicación que se pueda a conectar a bases de datos mientras los usuarios la utilizan…. que toda la información que se actualice en las bases de datos pueda ser vista por los usuarios que bajen la apliaciones de las tiendas… por ejemplo… una aplicación de cupones de descuentos…. donde los usuarios registrados pueden hacer uso de los cupones que publican los comerciantes…. toda esta información esta en base de datos… hay algun metodo de usar websockets… o como funciona esto? Saludos

  8. marcos

    Hola, realice mi aplicación con phonegap y dreamweaver, pero a la hora de subir la aplicación a google play me pide que este firmada, eclipse me da un error, y la consola de comandos de Windows no me detecta “keytool” como comando, ¿de que otra manera podria firmar mi aplicación?

  9. Realice mi app en dreamweaver y la compile en phonegap con éxito en las plataformas de interés, la versión iOS la instalé en mis dispositivos con éxito pero cuando envió el qr para que descarguen la versión iOS, no se puede instalar, menciona: “la app no puede ser descargada”.

    En la opción de android se puede instalar sin problema, que debo hacer para que esto no suceda con iOS y pueda distribuir mi app sin problema.

    Soy nuevo en esto, pero creo que hasta ahorita he intentado varias cosas.

    Espero me puedas ayudar.

    Muchas gracias

    • Para que otros usuarios puedan utilizar un App generada deben estar autorizados en esa App si son parte de tu grupo de desarrolladores autorizados en tu equipo. Los dispositivos deben estar autorizados para descargar e instalar en la etapa de testing.

  10. Hola Damián, en primer lugar gracias por compartir tu conocimiento. Mi consulta es bastante puntual; he generado aplicaciones desde Eclipse y Xcode, las cuales terminan con un peso muy inferior a las que genero con el plugin de phonegap para Dreamweaver. Tienes ideas si esto es normal, que Dreamweaver te aumente considerablemente el peso de los archivos ejecutables para todas las plataformas?

  11. Ricardo

    Hola Damin, buscando info llegue a esta pagina, estoy adentrandome al mundo de las app, he hecho una app sencilla que para empezar he elegido jquery-mobile 1.3.2, en un samsumg montecarlo con android 2.3.5 funciona de maravilla pero en el movil samsung young con android 4.2 no funciona, se debe a la version de jquery-mobile? Gracias por tu tiempo, un abrazo.

  12. Misael

    Como generar el .exe para poder jugarlo en windows desde xp hasta 8.1, el juego lo cree con Construct 2 y lo tengo exportado en HTML5

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *