PhoneGap y Apache Cordova: aplicaciones para diferentes plataformas móviles

En este artículo hablo sobre PhoneGap y Apache Cordova. Sus características e impacto en el desarrollo de aplicaciones móviles.

PhoneGap y Apache Cordova: un poco de historia

Desarrollado originalmente por Nitobi, PhoneGap fue adquirido por Adobe y ha sido integrado en las últimas versiones de Dreamweaver. Además se integró en formato de plugin para diferentes programas, como el caso de Eclipse o como template para Xcode en Mac. Claro que también de desarrolló la opción del SDK.

Es importante destacar que el código fuente está disponible en 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.

Apache Cordova

Las librerías y los plugins

Apache Cordova es la opción para trabajar con una solución Open Source. Cuenta con plugins que se pueden consultar en la siguiente dirección: https://cordova.apache.org/plugins/.

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 Apache Cordova, 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.

En conclusión

Para completar, es importante señalar que si sabemos trabajar con HTML5 + CSS + JavaScript y aprendemos a utilizar todo lo relacionado con Apache Cordova, 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 Apache Cordova 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, que es muy completa, y nos permitirá saber que cosas podremos utilizar con confianza en cada una de las plataformas que elijamos compilar.

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

Más sobre Diseño y desarrollo Web


Acerca de

Autor de los libros: Webmaster Profesional, HTML5: Comprenda el cambio y Apps HTML5 para móviles. Soy especialista en Desarrollo Web. Realizo proyectos basados en Inteligencia Artificial. Colaboré como autor y editor de contenidos para revistas, colecciones y diversos medios impresos y digitales. Brindo capacitaciones, clases de formación y consultorías sobre lenguajes de programación y herramientas para Desarrollo Web y móvil en modalidad online y presencial.

35 Comentarios en “PhoneGap y Apache Cordova: aplicaciones para diferentes plataformas móviles

  1. Antonio dice:

    ¿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 dice:

      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 dice:

    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 dice:

      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 dice:

    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 dice:

    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 dice:

    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 dice:

      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 dice:

        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 dice:

    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 dice:

      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 dice:

        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 dice:

          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 dice:

    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. Alfonso dice:

    Hola Damian, muchas gracias por tu pronta respuesta. Estudiare el contenido en estos links que me has proporcionado.

  9. marcos dice:

    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?

  10. 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.

  11. juan dice:

    si tengo mi proyecto ern mvc4 com,o lo empaqueto????

  12. 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?

  13. Ricardo dice:

    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.

  14. Misael dice:

    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

  15. Saul García dice:

    Hola buen día, recien termine de hacer una aplicación con phonegap, compilo todo bien, pero cuando intento instalar la aplicaición desde el celular, me marca el siguiente error:

    Necesitas instalar un nuevo certificado para este paquete de aplicación o
    necesitas un nuevo paquete de aplicación con certificados de confianza.
    Solicita asistencia al administrador del sistema o al desarrollador de la aplicación.
    Se procesó un certificado en cadena,
    pero finalizó en un certificado que no es de confianza. (0x800B0109)

    El celular es nokia con windows 8.1 , con un code reader, escaneo el codigo que genera la pagina de adobe phonegap build , despues de compila el archivo zip. y ya coienza a bajar el paquete de instalación

    Entiendo que tiene que ver con el certificado, Como obtengo el certificado? y Como lo compilo con la aplicaicón ?

Deja una respuesta

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

*