Phonegap
PhoneGap es un framework gratuito y open source que permite crear aplicaciones moviles multiplataforma a partir de tecnologías web como HTML5, CSS3 y Javascript
Tecnologias web refiere a las tecnologias utilizadas para la programacion de aplicaciones web a traves de los navegadores. La parte visible de estas se desarrolla en HTML5, Javascript y CSS.
Hacemos la salvedad de "parte visible" ya que cada una de estas aplicaciones se ejecuta en el navegador convirtiendo a este en, efectivamente, su "frontend" o interfaz. Las aplicaciones en si se mantienen y ejecutan su funcionalidad en servidores, pero dado el avance de la conectividad y las velocidades de transmision y procesamiento es cada vez mas comun generar aplicaciones que descargan su mayor tarea en los navegadores, dejando en el "backend" (servidor) solo la funcionalidad de modificar datos y estados.
Phonegap utiliza estas mismas tecnologias, allanando la curva de aprendizaje para poder empezar a programar para el mercado mobile.
Phonegap es desarrollado por la empresa Nitobi. En 2011 Adobe compra Nitobi al mismo tiempo que Nitobi contribuye el codigo de Phonegap a la Apache Software Foundation para un nuevo proyecto llamado Apache Cordova (ex Apache Callback).
Phonegap genera una estructura en la cual podemos desarrollar una pagina en HTML5, Javascript y CSS que luego usara dentro de una aplicacion predefinida. Esta aplicacion embebera el codigo HTML en un componente del sistema operativo: UIWebView (iOS) y WebView (Android). Como suele suceder en estos casos, el componente tiene, por seguridad, muchas restricciones de acceso al sistema operativo y hardware del dispositivo.
http://agiliq.com/blog/2012/09/dissecting-phonegaps-architecture/
Para contrarrestar estas limitaciones, Phonegap ofrece un sistema modular que permite el registro de plugins. Este sistema modular es llamado bridge (puente) y se encarga de generar una interfaz entre el codigo Javascript corriendo en el componente web y las llamadas a funcionalidades nativas del sistema operativo.
Los plugins de Phonegap son los mismos que para el proyecto Apache Cordova, sin embargo, Phonegap solo cuenta como core plugins aquellos que han sido curados y mantenidos de manera tal que soportan la mayoria de las plataformas (dando enfasis a la idea multiplataforma del framework).
cordova-plugin-battery-status plugman --platform --project --plugin org.apache.cordova.battery-status
cordova-plugin-camera plugman --platform --project --plugin org.apache.cordova.camera
cordova-plugin-console plugman --platform --project --plugin org.apache.cordova.console
cordova-plugin-contacts plugman --platform --project --plugin org.apache.cordova.contacts
cordova-plugin-device plugman --platform --project --plugin org.apache.cordova.device
cordova-plugin-device-motion (accelerometer) plugman --platform --project --plugin org.apache.cordova.device-motion
cordova-plugin-device-orientation (compass) plugman --platform --project --plugin org.apache.cordova.device-orientation
cordova-plugin-dialogs plugman --platform --project --plugin org.apache.cordova.dialogs
cordova-plugin-file plugman --platform --project --plugin org.apache.cordova.file
cordova-plugin-file-transfer plugman --platform --project --plugin org.apache.cordova.file-transfer
cordova-plugin-geolocation plugman --platform --project --plugin org.apache.cordova.geolocation
cordova-plugin-globalization plugman --platform --project --plugin org.apache.cordova.globalization
cordova-plugin-inappbrowser plugman --platform --project --plugin org.apache.cordova.inappbrowser
cordova-plugin-media plugman --platform --project --plugin org.apache.cordova.media
cordova-plugin-media-capture plugman --platform --project --plugin org.apache.cordova.media-capture
cordova-plugin-network-information plugman --platform --project --plugin org.apache.cordova.network-information
cordova-plugin-splashscreen plugman --platform --project --plugin org.apache.cordova.splashscreen
cordova-plugin-vibration plugman --platform --project --plugin org.apache.cordova.vibration
- Repaso y conceptos basicos
- Ejercicios para repasar
- Problematica de desarrollo mobile
- Phonegap
- Requerimientos e instalacion
- Phonegap CLI
- [Primeros ejercicios con Phonegap](Ejercicio Phonegap)
- Plugins
- Hello world
- Estructura de un proyecto Phonegap
- Plugin Device
- Debugging
- Incorporando un framework CSS
- Plugin Vibration
- Sumando partes
- Plugin Battery Status
- Un poco de jQuery
- jQuery Mobile
- Navegacion
- Plugin Dashboard
- Revision de Plugin Dashboard
- Paginas extra
- ToDo
- Persistencia
- ToDo Persistente
- Plugin Camera
- Opciones de camara
- App Mi Galeria
- Revision de Galeria
- Plugin File
- Escribir y leer texto
- Escribir archivos binarios
- Guardando fotos
- Debugger: weinre
- Inspeccionar con weinre
- Phonegap Developer App
- Refactor de apps
- Plugin Media
- Pruebas con audio
- Control y monitoreo de audio
- Encapsular play/pausa
- Hacks
- Formato de tiempos
- Grabar y reproducir
- Proyecto Integrador
- Revision de interfaz
- Interfaz basica
- Entrevista: modelo
- Funcionalidad: revision
- Seleccion de framework
- iRec: navegacion
- iRec: fileApi
- iRec: guias
- iRec: entrevistas
- iRec: recordApi
- iRec: helpers
- iRec: mediaApi
- iRec: inicializar paginas
- iRec: refactor
- iRec: mediaApi refactor
- iRec: recordApi refactor
- iRec: helpers
- iRec: guias.js
- iRec: entrevistas.js
- iRec: crear guias
- iRec: re-inicializando
- iRec: re-ordenando
- iRec: pendientes
- iRec: reporte ux
- iRec:revision: volver
- iRec:entrevista: volver
- iRec:revision: cambios
- iRec:revision: stop
- iRec:revision: Rew 10"
- iRec:revision: tag Go
- iRec: limpieza
- Firma de apps
- Android
- Generacion de key
- Firma de apk
- Alineacion de zip
- Firmar con Phonegap
- iOS
- Detalles finales
- Config.xml
- Iconos
- Splash