SlideShare a Scribd company logo
1 of 31
02/06/2012
Presentación


               @jorgepsant

               http://es.linkedin.com/in/jorgepintado

               j.pintado89@gmail.com
¿Qué es?
¿Páginas web?
    Si… que acceden a funciones del dispositivo.

      PhoneGap:

    PhoneGap is an open source solution for building cross-platform
    mobile apps with standards-based Web technologies like
    HTML, JavaScript, CSS.
¿Cuánto cuesta?

         PhoneGap es una implementación de código abierto de estándares
                             open-source y LIBRES.




 Aplicaciones móviles             Aplicaciones
       gratuitas                  comerciales                 Open Source
      (freeware)                   (de pago)




                         Combinación de estas licencias
Proyecto

           Nitobi

                    Adobe
                                         Apache




                       Apache Callback            Apache Cordova
Actividad

      https://github.com/phonegap



Versiones
     1.7.0 para descarga (1.8.0rc2)

     0.8.0: Apple aprueba las aplicaciones con PhoneGap
Grupos y encuentros
       Grupos 29         Interesado 900    Países 10
       Miembros 4.128    Ciudades 24




                http://groups.google.com/group/phonegap
Pero… y su modelo de negocio



                       PhoneGap:build




                  Soporte         Formación
Soporte de PhoneGap:
¿Cómo?




Une código nativo con objetos JavaScript, que se visualizan en un navegador
Alternativas
  Appcelerator Titanium

   • Tecnologías web, open source y Cloud Computing
   • Plataformas: iOS, Android, Windows, Mac OSX, Linux.     rhomobile
                                                               appMobi
  Red Foundry                                                  …

  • Solución para desarrollar y mantener aplicaciones
  móviles.
  • Sin necesidad de programación.
  • Ciclo de desarrollo de pocos días (o día).

       Corona

       • Convierte Flash en aplicaciones móviles y juegos.
       • Pensado para desarrolladores flash.
Limitaciones
       MÁS importante que saber usar una herramienta es saber cuándo NO usarla

    ¿Consumes
 recursos gráficos?                Usa OpenGL
        (juego,…)



¿Utilizas funciones                  Utiliza una
  del sistema?                       web app.
  OJO: en iOS utiliza hardware para tareas del CSS  mayor rendimiento
Prototipado
 Buen enfoque
 Realizar una aproximación rápida
 Luego ajustar entre plataformas

 Recomendable
 • Usar porcentajes en el diseño inicialmente, y luego ajustar entre plataformas.
 • Combinar con <meta name=“viewport”>
   (indica el tamaño de la pantalla a mostrar)
Prototipado (II)

Aplicar buenas prácticas de programación:


     • Evitar copy-paste

     • Fácil de leer:
          •Facil de extender
          •Facil de reutilizar

     • Modular and layer approach
Modelo
Prototipado (III)
                                    PhoneGap
•Modelo-Vista-Controlador         JavaScript API
                                         +
                                 Almacenamiento
                                      offline




    Controlador                     App                                Vista


                    JavaScript                              HTML+CSS
Offline
Por su naturaleza, los smartphone no están conectados de forma continua (cobertura, …)



 MUY IMPORTANTE para una aplicación es manejar esta situación, sobre todo en iOS




                                                                Apple revisa
Almacenamiento persistente
 Dos aproximaciones:
  Sqlite
  Android, iOS, webOs, BB 6.0
  NOTA: cada página puede darnos solo un objeto BBDD

                             cada objeto iun máximo de 5MB! (2 en Android configurable)
  “Persistant storage”

  Almacenamiento clave/valor


Ficheros
   Permite la lectura/escritura
XUI
Framework JavaScript (xuijs.com), pero diseñado para dispositivos móviles



                              EL TAMAÑO IMPORTA (<10KB)


    Plataformas:
         • Android
         • iOS
         • Symbian
         • Palm
         • … ¡y BlackBerry!
Rendimiento
                Aplicación pequeña




                Utilizar una página
                HTML (single page)
                          +
                 JavaScript para
                     show/hide



     ¡OJO! En BlackBerry cada nueva página fuerza
     a codificar en base 64 en tiempo de ejecución
Rendimiento

                             Mayor tamaño



                                              Ofuscación/recortar
                                                  JavaScript:
      Si es pequeño, no es
         necesario estar
                                            Los dispositivos móviles
      paginando in/out la
                                               tienen limitada la
     memoria del navegador
                                            memoria para JavaScript
                                                en el navegador



                                     Por ejemplo: en iOS hay reservado 25KB
Funcionalidades

      Accelerometer                     Device
      Camera                            Events
      Capture                           File
      Compass                           Geolocation
      Connection                        Media
      Contacts                          Notification
                                        Storage


               http://phonegap.com/about/features
Pasos para iOS

1.- Sign up at http://developer.apple.com/iphone
2.- Download the latest iPhone SDK and install it.
3.- Run 'make' in [phonegap source]/iphone
4.- Open up Xcode and click:
      4.1.- New project
      4.2.- User templates
      4.3.- PhoneGap-based Application
5.- Start building your app in the www folder.


             Solo para Mac. VMWare es tu amigo... o enemigo
Pasos para Android

1.- Download and install the Android SDK here:
                     http://developer.android.com/sdk/installing.html
2.- Run "android" in your terminal.
3.- Update all from the weird GUI that launches.
4.- Generate a new project (See README):
      ./droidgap <sdk> <name> <package> <www> <path>
5.- Import into Eclipse (optional)
Pasos para Symbian


1.- Download Aptana Studio from http://aptana.org
2.- File > New > Project...
3.- Nokia Web Runtime > Import widget
4.- Point to a copy of the www from phonegap/symbian
¿Algo en común?
Repetición de pasos:

 1.- SDK
 2.- generar un proyecto
 3.- compilar

PhoneGap-dev, automatiza los procesos de:
       • Generación de proyectos
       • Compilar y ejecutar en emulador o dispositivos

 phonegap --generate path/to/MyFreshApp
 phonegap --build path/to/MyFreshApp
 phonegap --report path/to/MyFreshApp
 phonegap --install



              https://github.com/brianleroux/phonegap-dev
¡Se acabó el miedo de compilar aplicaciones móviles para varias plataformas!

Escribe una vez
Compila en la nube
Ejecuta en cualquier dispositivo


              Escribe tu app
                                                       Obten la app
                 usando             Envía la app a
                                                        lista para
               HTML, CSS y         PhoneGap Build
                                                         publicar
                JavaScript




                           https://build.phonegap.com/
Ejemplos

vibración                                      beep
navigator.notification.vibrate(0);             navigator.notification.beep(2);


Cámara
navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );



Acelerómetro
navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
Plugins

     Código JavaScript o Java + JavaScript



                 https://github.com/phonegap/phonegap-plugins
Fuente de PhoneGap


      ¡Vamos a verlo!


              https://github.com/phonegap/phonegap
Preguntas

  @jorgepsant




                02/06/2012

More Related Content

What's hot

Desarrollo de aplicaciones móviles con Ionic y Apache Cordova
Desarrollo de aplicaciones móviles con Ionic y Apache CordovaDesarrollo de aplicaciones móviles con Ionic y Apache Cordova
Desarrollo de aplicaciones móviles con Ionic y Apache CordovaAlián Rigñack Quevedo
 
Frameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesFrameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesADWE Team
 
Ionic, Adaptación de desarrollos web a dispositivos móviles
Ionic, Adaptación de desarrollos web a dispositivos móvilesIonic, Adaptación de desarrollos web a dispositivos móviles
Ionic, Adaptación de desarrollos web a dispositivos móvilesAlvaro Yuste Torregrosa
 
Firebase, la suite completa para convertir tu app en un éxito
Firebase, la suite completa para convertir tu app en un éxitoFirebase, la suite completa para convertir tu app en un éxito
Firebase, la suite completa para convertir tu app en un éxitoJorge Ventura
 
Desarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKDesarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKSoftware Guru
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparencytrustparency
 
NativeScript – Barcamp 2016 - Universidad Nacional de Ingeniería
NativeScript – Barcamp 2016 - Universidad Nacional de IngenieríaNativeScript – Barcamp 2016 - Universidad Nacional de Ingeniería
NativeScript – Barcamp 2016 - Universidad Nacional de IngenieríaJorge Ventura
 
Aplicaciones híbridas con HTML5, JavaScript e Icenium
Aplicaciones híbridas con HTML5, JavaScript e IceniumAplicaciones híbridas con HTML5, JavaScript e Icenium
Aplicaciones híbridas con HTML5, JavaScript e IceniumJulito Avellaneda
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphoneAndres Karp
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLSorey García
 
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEBMEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEBdaliacarolinaastocah
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers CórdobaLuis Muñoz Hueso
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en  Windows 10Introducción al desarrollo de Apps en  Windows 10
Introducción al desarrollo de Apps en Windows 10Javier Suárez Ruiz
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Javier Suárez Ruiz
 
Windows 10: Hel10 World! - Novedades XAML
Windows 10: Hel10 World! - Novedades XAMLWindows 10: Hel10 World! - Novedades XAML
Windows 10: Hel10 World! - Novedades XAMLJavier Suárez Ruiz
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinJavier Suárez Ruiz
 

What's hot (19)

Desarrollo de aplicaciones móviles con Ionic y Apache Cordova
Desarrollo de aplicaciones móviles con Ionic y Apache CordovaDesarrollo de aplicaciones móviles con Ionic y Apache Cordova
Desarrollo de aplicaciones móviles con Ionic y Apache Cordova
 
Frameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móvilesFrameworks para el desarrollo de juegos para dispositivo móviles
Frameworks para el desarrollo de juegos para dispositivo móviles
 
Ionic, Adaptación de desarrollos web a dispositivos móviles
Ionic, Adaptación de desarrollos web a dispositivos móvilesIonic, Adaptación de desarrollos web a dispositivos móviles
Ionic, Adaptación de desarrollos web a dispositivos móviles
 
Firebase, la suite completa para convertir tu app en un éxito
Firebase, la suite completa para convertir tu app en un éxitoFirebase, la suite completa para convertir tu app en un éxito
Firebase, la suite completa para convertir tu app en un éxito
 
Desarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDKDesarrollo de aplicaciones moviles con Intel XDK
Desarrollo de aplicaciones moviles con Intel XDK
 
Taller mobile by trustparency
Taller mobile by trustparencyTaller mobile by trustparency
Taller mobile by trustparency
 
NativeScript – Barcamp 2016 - Universidad Nacional de Ingeniería
NativeScript – Barcamp 2016 - Universidad Nacional de IngenieríaNativeScript – Barcamp 2016 - Universidad Nacional de Ingeniería
NativeScript – Barcamp 2016 - Universidad Nacional de Ingeniería
 
Aplicaciones híbridas con HTML5, JavaScript e Icenium
Aplicaciones híbridas con HTML5, JavaScript e IceniumAplicaciones híbridas con HTML5, JavaScript e Icenium
Aplicaciones híbridas con HTML5, JavaScript e Icenium
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para Iphone
 
Introducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAMLIntroducción a Xamarin Forms con XAML
Introducción a Xamarin Forms con XAML
 
Mobile Web & Widgets
Mobile Web & WidgetsMobile Web & Widgets
Mobile Web & Widgets
 
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEBMEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
MEJORES PROGRAMAS PARA DISEÑAR PAGINA WEB
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers Córdoba
 
Mini curse
Mini curseMini curse
Mini curse
 
Barcamp Mobile Web
Barcamp Mobile WebBarcamp Mobile Web
Barcamp Mobile Web
 
Introducción al desarrollo de Apps en Windows 10
Introducción al desarrollo de Apps en  Windows 10Introducción al desarrollo de Apps en  Windows 10
Introducción al desarrollo de Apps en Windows 10
 
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
Crear Apps móviles multiplataforma con Xamarin compartiendo la mayor cantidad...
 
Windows 10: Hel10 World! - Novedades XAML
Windows 10: Hel10 World! - Novedades XAMLWindows 10: Hel10 World! - Novedades XAML
Windows 10: Hel10 World! - Novedades XAML
 
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con XamarinCrear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
Crear Apps Multiplataforma compartiendo la mayor cantidad con Xamarin
 

Viewers also liked

Presentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltPresentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltChristhiam Cabrera
 
A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...Jesús Fontecha
 
Context-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsContext-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsJesús Fontecha
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsTechAhead
 
PhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessPhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessTroy Miles
 
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Jesús Fontecha
 
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Jesús Fontecha
 
A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...Jesús Fontecha
 
Internet of Things. Definition of a concept
Internet of Things. Definition of a conceptInternet of Things. Definition of a concept
Internet of Things. Definition of a conceptJesús Fontecha
 
20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio web20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio webCarlos Pes
 
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso WebCongresoWeb
 
Responsive web y Wordpress
Responsive web y WordpressResponsive web y Wordpress
Responsive web y WordpressADWE Team
 
Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoCongresoWeb
 
Desarrollo de aplicaciones móviles
Desarrollo de aplicaciones móvilesDesarrollo de aplicaciones móviles
Desarrollo de aplicaciones móvilesizenius
 
Taller Email Marketing para Pymes
Taller Email Marketing para PymesTaller Email Marketing para Pymes
Taller Email Marketing para PymesRodrigo.Marketing
 
Optimizando tu perfil de Linkedin
Optimizando tu perfil de LinkedinOptimizando tu perfil de Linkedin
Optimizando tu perfil de LinkedinAlex Puig
 
Mucwz Experiencia Ciclista 2.o
Mucwz Experiencia Ciclista 2.o Mucwz Experiencia Ciclista 2.o
Mucwz Experiencia Ciclista 2.o Iñaki Lakarra
 

Viewers also liked (20)

Presentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltPresentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuilt
 
Android Basics v2.5
Android Basics v2.5Android Basics v2.5
Android Basics v2.5
 
PhoneGap Basics v1.0
PhoneGap Basics v1.0PhoneGap Basics v1.0
PhoneGap Basics v1.0
 
Android basics v3
Android basics v3Android basics v3
Android basics v3
 
A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...A Sensorized and Health aspect-based framework to improve the continuous moni...
A Sensorized and Health aspect-based framework to improve the continuous moni...
 
Context-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systemsContext-aware and user centered evaluation of assistive systems
Context-aware and user centered evaluation of assistive systems
 
PhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native ComponentsPhoneGap JavaScript API vs Native Components
PhoneGap JavaScript API vs Native Components
 
PhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or LessPhoneGap in 60 Minutes or Less
PhoneGap in 60 Minutes or Less
 
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
Brújula, Acelerómetro y Geolocalización con PhoneGap (Básico)
 
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
Exploring the AmIHEALTH paradigm. Monitoring in Healthcare: Building mHealth ...
 
A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...A proposal for elderly frailty detection by using accelerometer-enabled smart...
A proposal for elderly frailty detection by using accelerometer-enabled smart...
 
Internet of Things. Definition of a concept
Internet of Things. Definition of a conceptInternet of Things. Definition of a concept
Internet of Things. Definition of a concept
 
20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio web20 ejemplos de como dar a conocer un sitio web
20 ejemplos de como dar a conocer un sitio web
 
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web
"Decálogo legal del empresario web" Por Paloma Llaneza en Congreso Web
 
Responsive web y Wordpress
Responsive web y WordpressResponsive web y Wordpress
Responsive web y Wordpress
 
Programación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge PintadoProgramación de Apps con Android – Avanzado por Jorge Pintado
Programación de Apps con Android – Avanzado por Jorge Pintado
 
Desarrollo de aplicaciones móviles
Desarrollo de aplicaciones móvilesDesarrollo de aplicaciones móviles
Desarrollo de aplicaciones móviles
 
Taller Email Marketing para Pymes
Taller Email Marketing para PymesTaller Email Marketing para Pymes
Taller Email Marketing para Pymes
 
Optimizando tu perfil de Linkedin
Optimizando tu perfil de LinkedinOptimizando tu perfil de Linkedin
Optimizando tu perfil de Linkedin
 
Mucwz Experiencia Ciclista 2.o
Mucwz Experiencia Ciclista 2.o Mucwz Experiencia Ciclista 2.o
Mucwz Experiencia Ciclista 2.o
 

Similar to Desarrollo de Apps con la herramienta Phonegap

Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...
Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...
Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...Software Guru
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles RAUL Velez
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilIng Erick Guardado
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con PhonegapMauro Parra-Miranda
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasScio Consulting
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingINSIGNIA4U
 
Presentación PhoneGap
Presentación PhoneGap Presentación PhoneGap
Presentación PhoneGap cccori
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicRubén Aguilera
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesAkirepaho
 
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5Smad IT
 
PhoneGap
PhoneGapPhoneGap
PhoneGapcccori
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Juan Eladio Sánchez Rosas
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexBiz Partner
 

Similar to Desarrollo de Apps con la herramienta Phonegap (20)

Meetup app-moviles
Meetup app-movilesMeetup app-moviles
Meetup app-moviles
 
Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...
Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...
Mobile wars: ¿cuál es la mejor opción para desarrollo móvil multiplataforma? ...
 
6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles 6 Lenguajes para dispositivos móviles
6 Lenguajes para dispositivos móviles
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Desarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma MovilDesarrollo de apps multiplataforma Movil
Desarrollo de apps multiplataforma Movil
 
Programando Windows Phone con Phonegap
Programando Windows Phone con PhonegapProgramando Windows Phone con Phonegap
Programando Windows Phone con Phonegap
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Code Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile PrototypingCode Blast 2012 - Fast Mobile Prototyping
Code Blast 2012 - Fast Mobile Prototyping
 
Presentación PhoneGap
Presentación PhoneGap Presentación PhoneGap
Presentación PhoneGap
 
Charla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + IonicCharla GDG Madrid: Cordova + AngularJS + Ionic
Charla GDG Madrid: Cordova + AngularJS + Ionic
 
app
appapp
app
 
Aplicaciones moviles phonegap
Aplicaciones moviles   phonegapAplicaciones moviles   phonegap
Aplicaciones moviles phonegap
 
Desarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móvilesDesarrollo de aplicaciones web móviles
Desarrollo de aplicaciones web móviles
 
U1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_movilesU1 p5 entornos_desarrollo_moviles
U1 p5 entornos_desarrollo_moviles
 
Día del software libre
Día del software libreDía del software libre
Día del software libre
 
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5
Smad TI - Phonegap Aplicaciones Nativas Móviles con HTML5
 
PhoneGap
PhoneGapPhoneGap
PhoneGap
 
Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2Curso: Diseño de apps y webs móviles - Parte 2
Curso: Diseño de apps y webs móviles - Parte 2
 
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & FlexSesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
Sesión 10: Desarrollo de Aplicaciones Web Con Web Dynpro & Flex
 
Sesion dos azuay
Sesion dos azuaySesion dos azuay
Sesion dos azuay
 

Desarrollo de Apps con la herramienta Phonegap

  • 2. Presentación @jorgepsant http://es.linkedin.com/in/jorgepintado j.pintado89@gmail.com
  • 3. ¿Qué es? ¿Páginas web? Si… que acceden a funciones del dispositivo. PhoneGap: PhoneGap is an open source solution for building cross-platform mobile apps with standards-based Web technologies like HTML, JavaScript, CSS.
  • 4. ¿Cuánto cuesta? PhoneGap es una implementación de código abierto de estándares open-source y LIBRES. Aplicaciones móviles Aplicaciones gratuitas comerciales Open Source (freeware) (de pago) Combinación de estas licencias
  • 5. Proyecto Nitobi Adobe Apache Apache Callback Apache Cordova
  • 6. Actividad https://github.com/phonegap Versiones 1.7.0 para descarga (1.8.0rc2) 0.8.0: Apple aprueba las aplicaciones con PhoneGap
  • 7. Grupos y encuentros Grupos 29 Interesado 900 Países 10 Miembros 4.128 Ciudades 24 http://groups.google.com/group/phonegap
  • 8. Pero… y su modelo de negocio PhoneGap:build Soporte Formación
  • 9.
  • 11. ¿Cómo? Une código nativo con objetos JavaScript, que se visualizan en un navegador
  • 12. Alternativas Appcelerator Titanium • Tecnologías web, open source y Cloud Computing • Plataformas: iOS, Android, Windows, Mac OSX, Linux. rhomobile appMobi Red Foundry … • Solución para desarrollar y mantener aplicaciones móviles. • Sin necesidad de programación. • Ciclo de desarrollo de pocos días (o día). Corona • Convierte Flash en aplicaciones móviles y juegos. • Pensado para desarrolladores flash.
  • 13. Limitaciones MÁS importante que saber usar una herramienta es saber cuándo NO usarla ¿Consumes recursos gráficos? Usa OpenGL (juego,…) ¿Utilizas funciones Utiliza una del sistema? web app. OJO: en iOS utiliza hardware para tareas del CSS  mayor rendimiento
  • 14. Prototipado Buen enfoque Realizar una aproximación rápida Luego ajustar entre plataformas Recomendable • Usar porcentajes en el diseño inicialmente, y luego ajustar entre plataformas. • Combinar con <meta name=“viewport”> (indica el tamaño de la pantalla a mostrar)
  • 15. Prototipado (II) Aplicar buenas prácticas de programación: • Evitar copy-paste • Fácil de leer: •Facil de extender •Facil de reutilizar • Modular and layer approach
  • 16. Modelo Prototipado (III) PhoneGap •Modelo-Vista-Controlador JavaScript API + Almacenamiento offline Controlador App Vista JavaScript HTML+CSS
  • 17. Offline Por su naturaleza, los smartphone no están conectados de forma continua (cobertura, …) MUY IMPORTANTE para una aplicación es manejar esta situación, sobre todo en iOS Apple revisa
  • 18. Almacenamiento persistente Dos aproximaciones: Sqlite Android, iOS, webOs, BB 6.0 NOTA: cada página puede darnos solo un objeto BBDD cada objeto iun máximo de 5MB! (2 en Android configurable) “Persistant storage” Almacenamiento clave/valor Ficheros Permite la lectura/escritura
  • 19. XUI Framework JavaScript (xuijs.com), pero diseñado para dispositivos móviles EL TAMAÑO IMPORTA (<10KB) Plataformas: • Android • iOS • Symbian • Palm • … ¡y BlackBerry!
  • 20. Rendimiento Aplicación pequeña Utilizar una página HTML (single page) + JavaScript para show/hide ¡OJO! En BlackBerry cada nueva página fuerza a codificar en base 64 en tiempo de ejecución
  • 21. Rendimiento Mayor tamaño Ofuscación/recortar JavaScript: Si es pequeño, no es necesario estar Los dispositivos móviles paginando in/out la tienen limitada la memoria del navegador memoria para JavaScript en el navegador Por ejemplo: en iOS hay reservado 25KB
  • 22. Funcionalidades Accelerometer Device Camera Events Capture File Compass Geolocation Connection Media Contacts Notification Storage http://phonegap.com/about/features
  • 23. Pasos para iOS 1.- Sign up at http://developer.apple.com/iphone 2.- Download the latest iPhone SDK and install it. 3.- Run 'make' in [phonegap source]/iphone 4.- Open up Xcode and click: 4.1.- New project 4.2.- User templates 4.3.- PhoneGap-based Application 5.- Start building your app in the www folder. Solo para Mac. VMWare es tu amigo... o enemigo
  • 24. Pasos para Android 1.- Download and install the Android SDK here: http://developer.android.com/sdk/installing.html 2.- Run "android" in your terminal. 3.- Update all from the weird GUI that launches. 4.- Generate a new project (See README): ./droidgap <sdk> <name> <package> <www> <path> 5.- Import into Eclipse (optional)
  • 25. Pasos para Symbian 1.- Download Aptana Studio from http://aptana.org 2.- File > New > Project... 3.- Nokia Web Runtime > Import widget 4.- Point to a copy of the www from phonegap/symbian
  • 26. ¿Algo en común? Repetición de pasos: 1.- SDK 2.- generar un proyecto 3.- compilar PhoneGap-dev, automatiza los procesos de: • Generación de proyectos • Compilar y ejecutar en emulador o dispositivos phonegap --generate path/to/MyFreshApp phonegap --build path/to/MyFreshApp phonegap --report path/to/MyFreshApp phonegap --install https://github.com/brianleroux/phonegap-dev
  • 27. ¡Se acabó el miedo de compilar aplicaciones móviles para varias plataformas! Escribe una vez Compila en la nube Ejecuta en cualquier dispositivo Escribe tu app Obten la app usando Envía la app a lista para HTML, CSS y PhoneGap Build publicar JavaScript https://build.phonegap.com/
  • 28. Ejemplos vibración beep navigator.notification.vibrate(0); navigator.notification.beep(2); Cámara navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] ); Acelerómetro navigator.accelerometer.getCurrentAcceleration(accelerometerSuccess, accelerometerError);
  • 29. Plugins Código JavaScript o Java + JavaScript https://github.com/phonegap/phonegap-plugins
  • 30. Fuente de PhoneGap ¡Vamos a verlo! https://github.com/phonegap/phonegap
  • 31. Preguntas @jorgepsant 02/06/2012