SlideShare una empresa de Scribd logo
1 de 46
Ing. César Eduardo Suárez Trujillo
          @cesarlarsson
Simplemente JS o cualquiera de los demás frameworks
¿QUE ES PHONEGAP?
Este framework nace en San Francisco en 2009 por la
empresa Nitobi Software obteniendo el premio del publico en
el O’Reilly Media de ese año.

En Octubre de 2011 Adobe compra Nitobi
¿CÓMO FUNCIONA?

Esta grafica ilustra fácilmente como funciona 
NATIVA O BASADA EN WEB
Ventajas de la tecnologías nativas: Mejor experiencia del usuario (en la
interfaz del móvil) y mejor uso de las características de hardware del mismo.
Desventajas: Incompatibilidad de plataformas por lo que el app debe
desarrollarse varias veces, una por cada plataforma que se quiera (Android,
iOS, Blackberry, Windows Phone, etc.) utilizar.

Ventajas de tecnologías Web: Un desarrollo que funcionará para cualquier
plataforma. Sólida integración con aplicaciones basadas en servidores
empresariales (aplicaciones Web y de bases de datos). Desventajas: Una
interfaz de usuario móvil comparativamente débil y poca capacidad de
interactuar con el móvil (sonido, pantalla, GPS, cámara, etc.). Además, no se
pueden publicar en los App Stores y Markets para distribuirse y ser
descargadas.
¿Y COMO ES ESTA VUELTA?
Lo primero que tenemos que saber que a pesar de que
nuestra aplicación técnicamente solo la vamos a escribir una
vez (html- css -javascript). Cada plataforma de desarrollo
tiene sus librerías propias para la compilación del proyecto.

En esta guía hablaremos de Android y iOS
JQUERY MOBILE
jQuery mobile es un framework de javascript que extiende la
funcionalodad del framework estandar de jQuery como lo
hace jQueryUI para las aplicaciones web.
UNIVERSO PHONEGAP
CREANDO LA INTERFAZ
   Nuestra aplicación requiere una interfaz, es por eso que recurrimos a
    jQuery Mobile.
   Ventajas:
    •   Simple: El framework es muy facil de usar.
    •   Mejora progresiva: La filosofía de jQuery Mobile es soportar tanto la gama
        alta de los dispositivos, como aquellos que no soportan grandes
        funcionalidades.
    •   Accesibilidad: jQuery Mobile ha sido diseñado pensando en la accesibilidad.
    •   Tamaño pequeño: El tamaño total de jQuery Mobile framework es
        relativamente pequeño. Unos 12kb de la biblioteca JavaScript, 6kb de CSS y
        algunos íconos.
    •   Tematización: proporciona un sistema de temas que nos ofrece una
        aplicación a nuestro propio estilo.
COMPARATIVO



        Area       JQueryMobile   Sencha Touch   SproutCore   DHTMLX Touch   jQTouch   Dojo Toolkit   Vaadin    GWT
Execution              70%            75%           58%           62%          55%        55%          57%      57%
Development            98%            77%           52%           73%          80%        64%          41%      52%
Product                88%           100%           48%           48%          55%        60%          48%      63%
Support and
                       65%            65%           65%           65%         65%         65%          65%      65%
Documentation
Acumulated score      3,20           3,17          2,23           2,47        2,55        2,44         2,10     2,36
Average              80,06%         79,32%        55,78%         61,72%      63,64%      60,91%       52,52%   59,11%
ESTRUCTURA BÁSICA
   Nuestra primera pagina en jQuery debe tener los siguiente
    elementos básicos:
      <!DOCTYPE html>
      <html>
      <head>
              <title>My Page</title>
              <meta name="viewport" content="width=device-width, initial-scale=1">
              <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" />
              <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
              <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script>
      </head>
      <body>

      <div data-role="page">

                <div data-role="header">
                         <h1>Titulo de la pagina</h1>
                </div><!-- /header -->

                <div data-role="content">
                         <p>Contenido de la pagina.</p>
                </div><!-- /content -->

                <div data-role="footer">
                         <h4>Pie de pagina</h4>
                </div><!-- /footer -->
      </div>
      <!-- /page -->

      </body>
      </html>
   Un solo documento html puede contener multiples paginas

      <div data-role="page” id=“pagina1”>
           <div data-role="header">
                <h1>Titulo de la pagina</h1>
           </div><!-- /header -->

          <div data-role="content">
               <p>Contenido de la pagina.</p>

          </div><!-- /content -->

           <div data-role="footer">
                <h4>Pie de pagina</h4>
           </div><!-- /footer -->
      </div>
ETIQUETAS IMPORANTES
   En esta pagina de la documentación la encontramos
   http://jquerymobile.com/test/docs/api/data-attributes.html
Component                HTML5 data-*
Header, Footer           <div data-role="header">
                         <div data-role="footer">
Content body             <div data-role="content">


Buttons                  <a href="index.html" data-role="button"
                         data-icon="info">Button</a>
Grouped buttons          <div data-role="controlgroup">
                          <a href="index.html" data-role="button">Yes</a>
                          <a href="index.html" data-role="button">No</a>
                          <a href="index.html" data-role="button">Hell Yeah</a>
                         </div>
Inline buttons           <div data-inline="true">
                          <a href="index.html" data-role="button">Foo</a>
                          <a href="index.html" data-role="button" data-theme="b">Bar</a>
                         </div>
Component          HTML5 data-*
Form element       <div data-role="fieldcontain">
(Select menu)       <label for="select-options" class="select">Choose an option:</label>
                    <select name="select-options" id="select-options">
                     <option value="option1">Option 1</option>
                     <option value="option2">Option 2</option>
                     <option value="option2">Option 3</option>
                    </select>
                   </div>
Basic List views   <ul data-role="listview">
                    <li><a href="index.html">One</a></li>
                    <li><a href="index.html">Two</a></li>
                    <li><a href="index.html">Three</a></li>
                   </ul>
Dialogs            <a href="foo.html" data-rel="dialog">Open dialog</a>
                   <a href="dialog.html" data-role="button" data-inline="true” data-rel="dialog" data-
                   transition="pop">Open dialog</a>
Transitions        <a href="index.html" data-transition="pop" data-back="true">
LISTAS
 No hay elemento más básico en una aplicación movil
 tradicional. El contenido principal de nuestra aplicación o
 nuestro web site se puede plasmar como una lista.

                         <ul data-role="listview" data-theme="g">
                              <li><a href="acura.html">Acura</a></li>
                              <li><a href="audi.html">Audi</a></li>
                              <li><a href="bmw.html">BMW</a></li>
                         </ul>

                         Si agregamos elementos dinámicamente
                         simplemente usamos $('#mylist').listview('refresh')
                         Para actualizar los nuevos elementos.

http://jquerymobile.com/demos/1.1.0/docs/lists/docs-lists.html
ENTRADAS EN HMTL5
Una de las cosas que nos trae HTML5 es poder tener inputs
con tipos de datos específicos. Estos tipos nos ayudaran a
decirle al dispositivo que “teclado” nos debe mostrar.
• Email
• Url
• Number
• Range
• Date pickers
  (date, month, week, time, datetime, datetime-local)
• Search
• Color
TRANSICIONES
Slide – La página actual se desplaza hacia la izquierda a la vez que entra
desde la derecha la página nueva.
Pop – La página nueva se abre sobra la antigua en forma de pop-up pero
ocupando todo el espacio.
Slideup – La página nueva aparece desde abajo, desplazándose hasta
ocupar toda la pantalla.
Slidedown – La página nueva aparece desde arriba y se desplaza hacia
abajo ocupando la pantalla.
Fade – La pantalla nueva se monta sobre la actual con una transición de
cambio de opacidad.
Flip – El más espectacular. Esta transición entre pantallas simula un giro
de 180º de la página, simulando que la nueva es el dorso de la que
teníamos.

Para utilizar esta transicion en nuestra pagina:

        <a href="index.html" data-transition="pop”>Page2</a>
EVENTOS
El framework de jQuery ya nos traía una serie de eventos
simples de usar, pero en jQueryMobile tenemos que tener en
cuenta lo siguiente:

   $(document).bind('pageinit'), no $(document).ready()

Realmente cada una de la paginas va cargando según se van
llamando

    http://jquerymobile.com/test/docs/api/events.html
$( '#aboutPage' ).live( 'pageinit',function(event){
              alert( ‘Esta pagina se ha cargado' );
             });




$('.quickNav').live('tap',function(event) {
    $(".select_body").toggle(); // toggles the
visibility/display of the element.
});
TOUCH EVENTS
Algo realmente importante en dispositivo móviles y tablets son lo eventos
sobre la pantalla, jQuery Mobile trae consigo una serie de eventos para tal
fin como son:

tap : Toque rápido
taphold : Toque completo (1 seg aprox)
swipe : Cuando arrastras en horizontal más de 30px o 20px en vertical
durante 1 seg.
swipeleft : Cuando te desplazas a la izquierda
swiperight : Cuando te desplazas a la derecha
orientationchange : Cuando se cambia la orientación del dispositivo
scrollstart : Se activa al empezar el scroll.
scrollstop : Se activa al finalizar el scroll.

También podemos detectar cambio de orientación

•   orientationchange
TEMAS
Los temas son algo clave, podemos generar nuestro propios temas desde la aplicación
online
     <a href="#" data-role="button" data-theme="a">About this app</a>
     <a href="#" data-role="button" data-theme="b">About this app</a>
Para cambiar temas utilizamos el atributo data-theme=“d” en el
Elemento al que se le desee cambiar el tema especifico. Tambien
de manera general se puede cambiar de forma general los
elementos.
     $.mobile.page.prototype.options.theme = "d";
       $.mobile.page.prototype.options.addBackBtn = false;
       $.mobile.page.prototype.options.backBtnTheme = "d";

      // Page
      $.mobile.page.prototype.options.headerTheme = "d"; // Page header only
      $.mobile.page.prototype.options.contentTheme = "d";
      $.mobile.page.prototype.options.footerTheme = "d";

      // Listviews
      $.mobile.listview.prototype.options.headerTheme = "d"; // Header for nested lists
      $.mobile.listview.prototype.options.theme      = "d"; // List items / content
      $.mobile.listview.prototype.options.dividerTheme = "d"; // List divider

      $.mobile.listview.prototype.options.splitTheme = "d";
      $.mobile.listview.prototype.options.countTheme = "d";
      $.mobile.listview.prototype.options.filterTheme = "d";

      $.mobile.listview.prototype.options.filterPlaceholder = "Buscar por...";
ANDROID Y PHONEGAP
Lo primero que tenemos que hacer es bajar el SDK de Android que esta disponible
para Windows, MacOS y Linux




             http://developer.android.com/sdk/index.html
La pagina de desarrollo de Android recomienda, el uso de eclipse
            y realmente es muy bueno para las aplicaciones nativas, pero cuando
            se trata de phonegap, netbeans tiene ventajas dado su interfaz para
            el manejo de HTML, css y javascript
            Para utilizar facilmente netbeans con nuestro SDK de Android,
            ingresamos a Options->plugins




http://kenai.com/projects/nbandroid
http://kenai.com/projects/nbandroid/downloads/download/updatecenter/updates.xml
CONFIGURANDO PHONEGAP
Bueno phone son realmente una serie de librerias que
debemo integrar a nuestro proyecto, por eso primero
debemos ingresar al sitio oficial http://phonegap.com/ en la
sección descargas seleccionamos la version que queramos.
Para este momento acaban de liberal la versión 1.8, igual
utilizaremos la 1.7 denominada apache cordova, aquí estan la
librerías para cada una de la plataformas.
HELLO WORLD
Como en todo inicio, no hay nada como nuestro hello world, por
defecto si corremos nuestro proyectos no crea un hello world
nativo, pero lo que haremos sera crear nuestro hello world con
phonegap.
Luego configuramos nuestro proyecto, y seleccionamos a que
Plataforma vamos a usa en nuestro proyecto. Creo que la 2.2
Cobija una gran gama de dispositivos
Importamos las librerias de phonegap e nuestro proyectos
Luego de editar nuestro principal archivo de actividades, modificamos el
Manifiesto AndroidManifest.xml que se encuentra
En la carpeta assets creamos la carpeta /www donde se colocara nuestro
proyecto. Por defecto netbeans no es capaz de encontrar esta ubicación, por
eso debemos realizar los siguiente:

Buscar el archivo project.properties

Agregar los siguiente:
assets.dir=assets
assets.available=true
Ahora agregamos nuestro archivo index.html a nuestra carpeta
www y lo ejecutamos.
PHONEGAP Y IOS
Para trabajar con phonegap en iOS es mucho mas
sencillo, simplemente en el paquete que descargamos
instalamos el plugin utilizando cordova-1.7.0.dmg
Si corremos el emulador a la loca tendremos lo siguiente
CASOS DE ESTUDIO




  http://phonegap.com/app/hockey-community/
http://phonegap.com/app/tiny-terrors/
ALTERNATIVAS
Phonegap no es el único proyecto de este tipo, existen más
de 15 proyectos mal contados de este estilo. Algunos incluso
con mas potencial (unas pagas) en este momento que
phonegap. Entre lo mas importantes estan:




            http://www.quickconnectfamily.org/




                http://appspresso.com/
http://www.sencha.com/




http://www.applicationcraft.com/
                                               http://www.appfurnace.com/



                                   http://www.iui-js.org/
Phonegap

Más contenido relacionado

La actualidad más candente

Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphoneAndres Karp
 
Trucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.FormsTrucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.FormsJavier 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
 
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
 
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
 
Codemotion 2013 Desarrollo de apps móviles multiplataforma
Codemotion 2013  Desarrollo de apps móviles multiplataformaCodemotion 2013  Desarrollo de apps móviles multiplataforma
Codemotion 2013 Desarrollo de apps móviles multiplataformaJose Manuel Ortega Candel
 
Patrones de diseño en Android
Patrones de diseño   en AndroidPatrones de diseño   en Android
Patrones de diseño en AndroidAlex Naupay
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinJavier Suárez Ruiz
 
PWA (Progressive Web App): Nueva generación web
PWA (Progressive Web App): Nueva generación webPWA (Progressive Web App): Nueva generación web
PWA (Progressive Web App): Nueva generación webCarlosDarko1
 
Master class: Mobile UI/UX. Como diseñar una App exitosa.
Master class: Mobile UI/UX. Como diseñar una App exitosa.Master class: Mobile UI/UX. Como diseñar una App exitosa.
Master class: Mobile UI/UX. Como diseñar una App exitosa.Martin Redigolo
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers CórdobaLuis Muñoz Hueso
 
Actividad 7.2 apps builder
Actividad 7.2   apps builderActividad 7.2   apps builder
Actividad 7.2 apps builderjosefinaguzman7
 
Phonegap
PhonegapPhonegap
PhonegapTensor
 
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
 
Cómo llegar a los celulares y Tablets
Cómo llegar a los celulares y TabletsCómo llegar a los celulares y Tablets
Cómo llegar a los celulares y Tabletsclubdemarketing1
 

La actualidad más candente (19)

Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para Iphone
 
Trucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.FormsTrucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.Forms
 
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...
 
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
 
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
 
Codemotion 2013 Desarrollo de apps móviles multiplataforma
Codemotion 2013  Desarrollo de apps móviles multiplataformaCodemotion 2013  Desarrollo de apps móviles multiplataforma
Codemotion 2013 Desarrollo de apps móviles multiplataforma
 
Patrones de diseño en Android
Patrones de diseño   en AndroidPatrones de diseño   en Android
Patrones de diseño en Android
 
Xamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a XamarinXamarin Dev Days - Introducción a Xamarin
Xamarin Dev Days - Introducción a Xamarin
 
HTML5
HTML5HTML5
HTML5
 
PWA (Progressive Web App): Nueva generación web
PWA (Progressive Web App): Nueva generación webPWA (Progressive Web App): Nueva generación web
PWA (Progressive Web App): Nueva generación web
 
Master class: Mobile UI/UX. Como diseñar una App exitosa.
Master class: Mobile UI/UX. Como diseñar una App exitosa.Master class: Mobile UI/UX. Como diseñar una App exitosa.
Master class: Mobile UI/UX. Como diseñar una App exitosa.
 
Charla 1er betabeers Córdoba
Charla 1er betabeers CórdobaCharla 1er betabeers Córdoba
Charla 1er betabeers Córdoba
 
Actividad 7.2 apps builder
Actividad 7.2   apps builderActividad 7.2   apps builder
Actividad 7.2 apps builder
 
Las apps en tipo presentacion
Las apps en tipo presentacionLas apps en tipo presentacion
Las apps en tipo presentacion
 
Phonegap
PhonegapPhonegap
Phonegap
 
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
 
Barcamp Mobile Web
Barcamp Mobile WebBarcamp Mobile Web
Barcamp Mobile Web
 
Cómo llegar a los celulares y Tablets
Cómo llegar a los celulares y TabletsCómo llegar a los celulares y Tablets
Cómo llegar a los celulares y Tablets
 
Java
JavaJava
Java
 

Destacado

Presentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltPresentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltChristhiam Cabrera
 
Cincinnatus, un modèle possible pour Maximus ?
Cincinnatus, un modèle possible pour Maximus ?Cincinnatus, un modèle possible pour Maximus ?
Cincinnatus, un modèle possible pour Maximus ?Polyxenia66
 
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'air
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'airAmélioration des poeles Charnwood face à l'enjeu de la qualité de l'air
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'airChauffageBois
 
Corodenadas
CorodenadasCorodenadas
Corodenadaskino2511
 
Instalaciones en las viviendas (ii)
Instalaciones en las viviendas  (ii)Instalaciones en las viviendas  (ii)
Instalaciones en las viviendas (ii)Julio Sanchez
 
Electronica analogica 2013
Electronica analogica 2013Electronica analogica 2013
Electronica analogica 2013Julio Sanchez
 
Ford Focus 3 - Manuel D'utilisation
Ford Focus 3 - Manuel D'utilisationFord Focus 3 - Manuel D'utilisation
Ford Focus 3 - Manuel D'utilisationzzhicham
 
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?Letitbill
 
Survival guide RAFE OVIEDO
Survival guide RAFE OVIEDOSurvival guide RAFE OVIEDO
Survival guide RAFE OVIEDOJävier Meister
 
Guias paint ii tri 2015
Guias paint ii tri 2015Guias paint ii tri 2015
Guias paint ii tri 2015Monica Serrano
 
Cabines téléphoniques
Cabines téléphoniques Cabines téléphoniques
Cabines téléphoniques ciffer louis
 

Destacado (20)

Presentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuiltPresentacion phonegap phonegapbuilt
Presentacion phonegap phonegapbuilt
 
Cincinnatus, un modèle possible pour Maximus ?
Cincinnatus, un modèle possible pour Maximus ?Cincinnatus, un modèle possible pour Maximus ?
Cincinnatus, un modèle possible pour Maximus ?
 
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'air
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'airAmélioration des poeles Charnwood face à l'enjeu de la qualité de l'air
Amélioration des poeles Charnwood face à l'enjeu de la qualité de l'air
 
Corodenadas
CorodenadasCorodenadas
Corodenadas
 
Instalaciones en las viviendas (ii)
Instalaciones en las viviendas  (ii)Instalaciones en las viviendas  (ii)
Instalaciones en las viviendas (ii)
 
Les 37 situations insolites.
Les 37 situations insolites.Les 37 situations insolites.
Les 37 situations insolites.
 
Electronica analogica 2013
Electronica analogica 2013Electronica analogica 2013
Electronica analogica 2013
 
Présentation Finale1
Présentation Finale1Présentation Finale1
Présentation Finale1
 
cert 4
cert 4cert 4
cert 4
 
Ford Focus 3 - Manuel D'utilisation
Ford Focus 3 - Manuel D'utilisationFord Focus 3 - Manuel D'utilisation
Ford Focus 3 - Manuel D'utilisation
 
Cinéma 2020 (aperçu)
Cinéma 2020 (aperçu)Cinéma 2020 (aperçu)
Cinéma 2020 (aperçu)
 
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?
Quelles mentions légales doivent figurer sur une facture d'auto-entrepreneur?
 
Musique rock
Musique rockMusique rock
Musique rock
 
Survival guide RAFE OVIEDO
Survival guide RAFE OVIEDOSurvival guide RAFE OVIEDO
Survival guide RAFE OVIEDO
 
Guias paint ii tri 2015
Guias paint ii tri 2015Guias paint ii tri 2015
Guias paint ii tri 2015
 
Cabines téléphoniques
Cabines téléphoniques Cabines téléphoniques
Cabines téléphoniques
 
ron2
ron2ron2
ron2
 
Orange vient à votre rencontre
Orange vient à votre rencontreOrange vient à votre rencontre
Orange vient à votre rencontre
 
Relieves
RelievesRelieves
Relieves
 
Toutânkhamon
ToutânkhamonToutânkhamon
Toutânkhamon
 

Similar a Phonegap

Webinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaWebinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaJerilee Dueñas Rengifo
 
Webinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaWebinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaCommunity Managers Latam
 
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...Interlat
 
Construyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaConstruyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaCarlos Alonso Pérez
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front endDavid Hurtado
 
Presentación jquerry mobile
Presentación jquerry mobilePresentación jquerry mobile
Presentación jquerry mobileArmando Melendez
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j queryPablo Viteri
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicketAdrià Solé Orrit
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQueryContinuum
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5Cycle-IT
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5Cycle-IT
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezGustavo
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojubacalo
 
Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3Esteban Saavedra
 

Similar a Phonegap (20)

Webinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaWebinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españa
 
Webinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españaWebinar interlat apps_2012_carlos_a-perez_españa
Webinar interlat apps_2012_carlos_a-perez_españa
 
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
APPS Aplicaciones móviles: Construyendo y publicando nuestro primera APPS mul...
 
En 20 minutos ... jQuery
En 20 minutos ... jQueryEn 20 minutos ... jQuery
En 20 minutos ... jQuery
 
Construyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataformaConstruyendo y publicando nuestra primera app multiplataforma
Construyendo y publicando nuestra primera app multiplataforma
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front end
 
Presentación jquerry mobile
Presentación jquerry mobilePresentación jquerry mobile
Presentación jquerry mobile
 
Introduccion a j query
Introduccion a j queryIntroduccion a j query
Introduccion a j query
 
Seminario jquery, html5 y wicket
Seminario jquery, html5 y wicketSeminario jquery, html5 y wicket
Seminario jquery, html5 y wicket
 
Guia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt GudeGuia jQuery INCES Militar - Kurt Gude
Guia jQuery INCES Militar - Kurt Gude
 
Introducción a JQuery
Introducción a JQueryIntroducción a JQuery
Introducción a JQuery
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5
 
Introducción a Foundation 5
Introducción a Foundation 5Introducción a Foundation 5
Introducción a Foundation 5
 
HTML5 por Gustavo Vilchez
HTML5 por Gustavo VilchezHTML5 por Gustavo Vilchez
HTML5 por Gustavo Vilchez
 
Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5Aplicaciones móviles - HTML5
Aplicaciones móviles - HTML5
 
J query
J queryJ query
J query
 
myprofly
myproflymyprofly
myprofly
 
jQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogojQuery Mobile :: Cuadros de diálogo
jQuery Mobile :: Cuadros de diálogo
 
Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3Grails: Framework para el desarrollo de aplicaciones Web No 3
Grails: Framework para el desarrollo de aplicaciones Web No 3
 

Más de Cesar Eduardo Suarez T (8)

SEO Bascio
SEO BascioSEO Bascio
SEO Bascio
 
SEO Basico
SEO BasicoSEO Basico
SEO Basico
 
Git
Git Git
Git
 
Jquery 2
Jquery 2Jquery 2
Jquery 2
 
Jquery parte 1
Jquery parte 1Jquery parte 1
Jquery parte 1
 
Introduccion a Internet
Introduccion a InternetIntroduccion a Internet
Introduccion a Internet
 
CakePHP parte 2
CakePHP parte 2CakePHP parte 2
CakePHP parte 2
 
CakePHP
CakePHPCakePHP
CakePHP
 

Último

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 

Último (15)

guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 

Phonegap

  • 1. Ing. César Eduardo Suárez Trujillo @cesarlarsson
  • 2.
  • 3.
  • 4. Simplemente JS o cualquiera de los demás frameworks
  • 5.
  • 6. ¿QUE ES PHONEGAP? Este framework nace en San Francisco en 2009 por la empresa Nitobi Software obteniendo el premio del publico en el O’Reilly Media de ese año. En Octubre de 2011 Adobe compra Nitobi
  • 7. ¿CÓMO FUNCIONA? Esta grafica ilustra fácilmente como funciona 
  • 8. NATIVA O BASADA EN WEB Ventajas de la tecnologías nativas: Mejor experiencia del usuario (en la interfaz del móvil) y mejor uso de las características de hardware del mismo. Desventajas: Incompatibilidad de plataformas por lo que el app debe desarrollarse varias veces, una por cada plataforma que se quiera (Android, iOS, Blackberry, Windows Phone, etc.) utilizar. Ventajas de tecnologías Web: Un desarrollo que funcionará para cualquier plataforma. Sólida integración con aplicaciones basadas en servidores empresariales (aplicaciones Web y de bases de datos). Desventajas: Una interfaz de usuario móvil comparativamente débil y poca capacidad de interactuar con el móvil (sonido, pantalla, GPS, cámara, etc.). Además, no se pueden publicar en los App Stores y Markets para distribuirse y ser descargadas.
  • 9. ¿Y COMO ES ESTA VUELTA? Lo primero que tenemos que saber que a pesar de que nuestra aplicación técnicamente solo la vamos a escribir una vez (html- css -javascript). Cada plataforma de desarrollo tiene sus librerías propias para la compilación del proyecto. En esta guía hablaremos de Android y iOS
  • 10. JQUERY MOBILE jQuery mobile es un framework de javascript que extiende la funcionalodad del framework estandar de jQuery como lo hace jQueryUI para las aplicaciones web.
  • 12. CREANDO LA INTERFAZ  Nuestra aplicación requiere una interfaz, es por eso que recurrimos a jQuery Mobile.  Ventajas: • Simple: El framework es muy facil de usar. • Mejora progresiva: La filosofía de jQuery Mobile es soportar tanto la gama alta de los dispositivos, como aquellos que no soportan grandes funcionalidades. • Accesibilidad: jQuery Mobile ha sido diseñado pensando en la accesibilidad. • Tamaño pequeño: El tamaño total de jQuery Mobile framework es relativamente pequeño. Unos 12kb de la biblioteca JavaScript, 6kb de CSS y algunos íconos. • Tematización: proporciona un sistema de temas que nos ofrece una aplicación a nuestro propio estilo.
  • 13. COMPARATIVO Area JQueryMobile Sencha Touch SproutCore DHTMLX Touch jQTouch Dojo Toolkit Vaadin GWT Execution 70% 75% 58% 62% 55% 55% 57% 57% Development 98% 77% 52% 73% 80% 64% 41% 52% Product 88% 100% 48% 48% 55% 60% 48% 63% Support and 65% 65% 65% 65% 65% 65% 65% 65% Documentation Acumulated score 3,20 3,17 2,23 2,47 2,55 2,44 2,10 2,36 Average 80,06% 79,32% 55,78% 61,72% 63,64% 60,91% 52,52% 59,11%
  • 14. ESTRUCTURA BÁSICA  Nuestra primera pagina en jQuery debe tener los siguiente elementos básicos: <!DOCTYPE html> <html> <head> <title>My Page</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.css" /> <script type="text/javascript" src="http://code.jquery.com/jquery-1.6.4.min.js"></script> <script type="text/javascript" src="http://code.jquery.com/mobile/1.0/jquery.mobile-1.0.min.js"></script> </head> <body> <div data-role="page"> <div data-role="header"> <h1>Titulo de la pagina</h1> </div><!-- /header --> <div data-role="content"> <p>Contenido de la pagina.</p> </div><!-- /content --> <div data-role="footer"> <h4>Pie de pagina</h4> </div><!-- /footer --> </div> <!-- /page --> </body> </html>
  • 15. Un solo documento html puede contener multiples paginas <div data-role="page” id=“pagina1”> <div data-role="header"> <h1>Titulo de la pagina</h1> </div><!-- /header --> <div data-role="content"> <p>Contenido de la pagina.</p> </div><!-- /content --> <div data-role="footer"> <h4>Pie de pagina</h4> </div><!-- /footer --> </div>
  • 16. ETIQUETAS IMPORANTES En esta pagina de la documentación la encontramos http://jquerymobile.com/test/docs/api/data-attributes.html Component HTML5 data-* Header, Footer <div data-role="header"> <div data-role="footer"> Content body <div data-role="content"> Buttons <a href="index.html" data-role="button" data-icon="info">Button</a> Grouped buttons <div data-role="controlgroup"> <a href="index.html" data-role="button">Yes</a> <a href="index.html" data-role="button">No</a> <a href="index.html" data-role="button">Hell Yeah</a> </div> Inline buttons <div data-inline="true"> <a href="index.html" data-role="button">Foo</a> <a href="index.html" data-role="button" data-theme="b">Bar</a> </div>
  • 17. Component HTML5 data-* Form element <div data-role="fieldcontain"> (Select menu) <label for="select-options" class="select">Choose an option:</label> <select name="select-options" id="select-options"> <option value="option1">Option 1</option> <option value="option2">Option 2</option> <option value="option2">Option 3</option> </select> </div> Basic List views <ul data-role="listview"> <li><a href="index.html">One</a></li> <li><a href="index.html">Two</a></li> <li><a href="index.html">Three</a></li> </ul> Dialogs <a href="foo.html" data-rel="dialog">Open dialog</a> <a href="dialog.html" data-role="button" data-inline="true” data-rel="dialog" data- transition="pop">Open dialog</a> Transitions <a href="index.html" data-transition="pop" data-back="true">
  • 18.
  • 19. LISTAS No hay elemento más básico en una aplicación movil tradicional. El contenido principal de nuestra aplicación o nuestro web site se puede plasmar como una lista. <ul data-role="listview" data-theme="g"> <li><a href="acura.html">Acura</a></li> <li><a href="audi.html">Audi</a></li> <li><a href="bmw.html">BMW</a></li> </ul> Si agregamos elementos dinámicamente simplemente usamos $('#mylist').listview('refresh') Para actualizar los nuevos elementos. http://jquerymobile.com/demos/1.1.0/docs/lists/docs-lists.html
  • 20. ENTRADAS EN HMTL5 Una de las cosas que nos trae HTML5 es poder tener inputs con tipos de datos específicos. Estos tipos nos ayudaran a decirle al dispositivo que “teclado” nos debe mostrar. • Email • Url • Number • Range • Date pickers (date, month, week, time, datetime, datetime-local) • Search • Color
  • 21. TRANSICIONES Slide – La página actual se desplaza hacia la izquierda a la vez que entra desde la derecha la página nueva. Pop – La página nueva se abre sobra la antigua en forma de pop-up pero ocupando todo el espacio. Slideup – La página nueva aparece desde abajo, desplazándose hasta ocupar toda la pantalla. Slidedown – La página nueva aparece desde arriba y se desplaza hacia abajo ocupando la pantalla. Fade – La pantalla nueva se monta sobre la actual con una transición de cambio de opacidad. Flip – El más espectacular. Esta transición entre pantallas simula un giro de 180º de la página, simulando que la nueva es el dorso de la que teníamos. Para utilizar esta transicion en nuestra pagina: <a href="index.html" data-transition="pop”>Page2</a>
  • 22. EVENTOS El framework de jQuery ya nos traía una serie de eventos simples de usar, pero en jQueryMobile tenemos que tener en cuenta lo siguiente: $(document).bind('pageinit'), no $(document).ready() Realmente cada una de la paginas va cargando según se van llamando http://jquerymobile.com/test/docs/api/events.html
  • 23. $( '#aboutPage' ).live( 'pageinit',function(event){ alert( ‘Esta pagina se ha cargado' ); }); $('.quickNav').live('tap',function(event) { $(".select_body").toggle(); // toggles the visibility/display of the element. });
  • 24. TOUCH EVENTS Algo realmente importante en dispositivo móviles y tablets son lo eventos sobre la pantalla, jQuery Mobile trae consigo una serie de eventos para tal fin como son: tap : Toque rápido taphold : Toque completo (1 seg aprox) swipe : Cuando arrastras en horizontal más de 30px o 20px en vertical durante 1 seg. swipeleft : Cuando te desplazas a la izquierda swiperight : Cuando te desplazas a la derecha orientationchange : Cuando se cambia la orientación del dispositivo scrollstart : Se activa al empezar el scroll. scrollstop : Se activa al finalizar el scroll. También podemos detectar cambio de orientación • orientationchange
  • 25. TEMAS Los temas son algo clave, podemos generar nuestro propios temas desde la aplicación online  <a href="#" data-role="button" data-theme="a">About this app</a>  <a href="#" data-role="button" data-theme="b">About this app</a>
  • 26. Para cambiar temas utilizamos el atributo data-theme=“d” en el Elemento al que se le desee cambiar el tema especifico. Tambien de manera general se puede cambiar de forma general los elementos. $.mobile.page.prototype.options.theme = "d"; $.mobile.page.prototype.options.addBackBtn = false; $.mobile.page.prototype.options.backBtnTheme = "d"; // Page $.mobile.page.prototype.options.headerTheme = "d"; // Page header only $.mobile.page.prototype.options.contentTheme = "d"; $.mobile.page.prototype.options.footerTheme = "d"; // Listviews $.mobile.listview.prototype.options.headerTheme = "d"; // Header for nested lists $.mobile.listview.prototype.options.theme = "d"; // List items / content $.mobile.listview.prototype.options.dividerTheme = "d"; // List divider $.mobile.listview.prototype.options.splitTheme = "d"; $.mobile.listview.prototype.options.countTheme = "d"; $.mobile.listview.prototype.options.filterTheme = "d"; $.mobile.listview.prototype.options.filterPlaceholder = "Buscar por...";
  • 27. ANDROID Y PHONEGAP Lo primero que tenemos que hacer es bajar el SDK de Android que esta disponible para Windows, MacOS y Linux http://developer.android.com/sdk/index.html
  • 28. La pagina de desarrollo de Android recomienda, el uso de eclipse y realmente es muy bueno para las aplicaciones nativas, pero cuando se trata de phonegap, netbeans tiene ventajas dado su interfaz para el manejo de HTML, css y javascript Para utilizar facilmente netbeans con nuestro SDK de Android, ingresamos a Options->plugins http://kenai.com/projects/nbandroid
  • 30.
  • 31. CONFIGURANDO PHONEGAP Bueno phone son realmente una serie de librerias que debemo integrar a nuestro proyecto, por eso primero debemos ingresar al sitio oficial http://phonegap.com/ en la sección descargas seleccionamos la version que queramos. Para este momento acaban de liberal la versión 1.8, igual utilizaremos la 1.7 denominada apache cordova, aquí estan la librerías para cada una de la plataformas.
  • 32. HELLO WORLD Como en todo inicio, no hay nada como nuestro hello world, por defecto si corremos nuestro proyectos no crea un hello world nativo, pero lo que haremos sera crear nuestro hello world con phonegap.
  • 33. Luego configuramos nuestro proyecto, y seleccionamos a que Plataforma vamos a usa en nuestro proyecto. Creo que la 2.2 Cobija una gran gama de dispositivos
  • 34.
  • 35. Importamos las librerias de phonegap e nuestro proyectos
  • 36.
  • 37. Luego de editar nuestro principal archivo de actividades, modificamos el Manifiesto AndroidManifest.xml que se encuentra
  • 38. En la carpeta assets creamos la carpeta /www donde se colocara nuestro proyecto. Por defecto netbeans no es capaz de encontrar esta ubicación, por eso debemos realizar los siguiente: Buscar el archivo project.properties Agregar los siguiente: assets.dir=assets assets.available=true
  • 39. Ahora agregamos nuestro archivo index.html a nuestra carpeta www y lo ejecutamos.
  • 40. PHONEGAP Y IOS Para trabajar con phonegap en iOS es mucho mas sencillo, simplemente en el paquete que descargamos instalamos el plugin utilizando cordova-1.7.0.dmg
  • 41. Si corremos el emulador a la loca tendremos lo siguiente
  • 42. CASOS DE ESTUDIO http://phonegap.com/app/hockey-community/
  • 44. ALTERNATIVAS Phonegap no es el único proyecto de este tipo, existen más de 15 proyectos mal contados de este estilo. Algunos incluso con mas potencial (unas pagas) en este momento que phonegap. Entre lo mas importantes estan: http://www.quickconnectfamily.org/ http://appspresso.com/
  • 45. http://www.sencha.com/ http://www.applicationcraft.com/ http://www.appfurnace.com/ http://www.iui-js.org/