Diferencia entre revisiones de «Usuario:Juanda/phonegap/jquerymobile»
De WikiEducator
(18 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 5: | Línea 5: | ||
<div class="slide"> | <div class="slide"> | ||
− | = | + | = jQuery Mobile = |
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
− | === ¿Qué es jQuery Mobile=== | + | ==Introducción== |
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ==== ¿Qué es jQuery Mobile==== | ||
*Framework para crear intefaces de usuario basadas en HTML5 | *Framework para crear intefaces de usuario basadas en HTML5 | ||
:-Nos abstrae de las diferencias para el desarrollo entre los distintos navegadores. | :-Nos abstrae de las diferencias para el desarrollo entre los distintos navegadores. | ||
− | -Write less, do more (jQuery) | + | :-Write less, do more (jQuery) |
− | -Diseño atractivo "out of the box": hacen diseñador al programador. | + | :-Diseño atractivo "out of the box": hacen diseñador al programador. |
*Construido a partir de la librería jQuery y de jQueryUI | *Construido a partir de la librería jQuery y de jQueryUI | ||
*Orientado especificamente para móviles | *Orientado especificamente para móviles | ||
Línea 25: | Línea 26: | ||
:[http://m.stanford.edu/ Universidad de Stanford] | :[http://m.stanford.edu/ Universidad de Stanford] | ||
:[http://www.jqmgallery.com/ Y muchos más] | :[http://www.jqmgallery.com/ Y muchos más] | ||
+ | *Para ver las páginas correctamente: | ||
+ | :Instala la extensión para Chrome Google Chrome to Phone para ver las páginas en el móvil | ||
+ | :Cambia el user-agent del navegador (lo más fácil es mediante las Chrome Developer Tools). | ||
</div> | </div> | ||
− | |||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ==== Diseños responsivo ==== |
* Uso de CSS media queries: hojas de estilo css especificas para dispositivos según anchura de pantalla, resolución o características. | * Uso de CSS media queries: hojas de estilo css especificas para dispositivos según anchura de pantalla, resolución o características. | ||
* Grid fluido, especificando sus elementos mediante unidades relativas. | * Grid fluido, especificando sus elementos mediante unidades relativas. | ||
Línea 37: | Línea 40: | ||
<div class="slide"> | <div class="slide"> | ||
− | === Diseño responsable=== | + | ==== Diseño responsable==== |
*Se utiliza el criterio "mobile first": | *Se utiliza el criterio "mobile first": | ||
:Diseños sencillos | :Diseños sencillos | ||
Línea 46: | Línea 49: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Ejemplo CSS Mobile First=== | + | ====Ejemplo CSS Mobile First==== |
* Las media queries en ems en vez de pixeles para asegurarnos que el layout se adaptará al cambio del tamaño de las fuentes, además de al ancho de pantalla. | * Las media queries en ems en vez de pixeles para asegurarnos que el layout se adaptará al cambio del tamaño de las fuentes, además de al ancho de pantalla. | ||
* Para calcular la anchura en ems, se divide en ancho de nuestro objetivo entre 16px (tamaño de letra por defecto) | * Para calcular la anchura en ems, se divide en ancho de nuestro objetivo entre 16px (tamaño de letra por defecto) | ||
Línea 82: | Línea 85: | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ==Aplicación Web con jQueryMobile== |
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ====Ficheros y documentación==== | ||
*Visitar [http://jquerymobile.com/download/ página jQueryMobile] para su descarga. | *Visitar [http://jquerymobile.com/download/ página jQueryMobile] para su descarga. | ||
*Leer el tutorial que incluye. | *Leer el tutorial que incluye. | ||
Línea 93: | Línea 99: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Plantilla=== | + | ====Plantilla==== |
<source lang="html4strict"> | <source lang="html4strict"> | ||
<!DOCTYPE HTML> | <!DOCTYPE HTML> | ||
Línea 116: | Línea 122: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Atributo data-role=== | + | ====Atributo data-role==== |
*Utilizaremos el atributo data-role para definir las distintas partes de nuestra aplicación o sitio web. | *Utilizaremos el atributo data-role para definir las distintas partes de nuestra aplicación o sitio web. | ||
*Mira el siguiente código y [http://www.media.formandome.es/phonegap/ejemplo1.html analiza su comportamiento]: | *Mira el siguiente código y [http://www.media.formandome.es/phonegap/ejemplo1.html analiza su comportamiento]: | ||
Línea 160: | Línea 166: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Estructura aplicación=== | + | ====Estructura aplicación==== |
*Una aplicación tiene varias páginas y cajas de diálogo. | *Una aplicación tiene varias páginas y cajas de diálogo. | ||
*Mediante jQuery Mobile se definirán todas en la misma página html. | *Mediante jQuery Mobile se definirán todas en la misma página html. | ||
Línea 168: | Línea 174: | ||
</source> | </source> | ||
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
*Mira el siguiente código y [http://www.media.formandome.es/phonegap/ejemplo2.html analiza su comportamiento]: | *Mira el siguiente código y [http://www.media.formandome.es/phonegap/ejemplo2.html analiza su comportamiento]: | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
− | |||
<!DOCTYPE html> | <!DOCTYPE html> | ||
<html> | <html> | ||
Línea 254: | Línea 257: | ||
<div class="slide"> | <div class="slide"> | ||
− | ===Formularios=== | + | |
+ | ====Formularios==== | ||
*Los toolbars en header y footer se crean simplemente añadiendo botones | *Los toolbars en header y footer se crean simplemente añadiendo botones | ||
*Los botones son enlaces con los atributos data-role="button" y data-icon="delete" | *Los botones son enlaces con los atributos data-role="button" y data-icon="delete" | ||
Línea 321: | Línea 325: | ||
</body> | </body> | ||
</html> | </html> | ||
− | |||
</source> | </source> | ||
− | |||
</div> | </div> | ||
− | |||
− | |||
<div class="slide"> | <div class="slide"> | ||
*[http://www.media.formandome.es/phonegap/ejemplo4.html Otro ejemplo] de formulario: | *[http://www.media.formandome.es/phonegap/ejemplo4.html Otro ejemplo] de formulario: | ||
Línea 440: | Línea 440: | ||
</div> | </div> | ||
</div> | </div> | ||
− | |||
</body> | </body> | ||
</html> | </html> | ||
− | + | </source> | |
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ==Eventos en jQueryMobile== | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ====Sin jQuery Mobile==== | ||
+ | *Normalmente definimos los eventos mediante algún framework, por ejemplo jQuery. | ||
+ | *Evitamos el uso de javascript directamente debido a las diferencias entre navegadores. | ||
+ | *Mira el siguiente código y [http://www.media.formandome.es/phonegap/eventojquery.html analiza su comportamiento]: | ||
+ | <source lang="html4strict" | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head> | ||
+ | <style> | ||
+ | p { color:red; margin:5px; cursor:pointer; } | ||
+ | p:hover { background:yellow; } | ||
+ | </style> | ||
+ | <script src="http://code.jquery.com/jquery-1.9.1.js"></script> | ||
+ | </head> | ||
+ | <body> | ||
+ | <p>First Paragraph</p> | ||
+ | |||
+ | <p>Second Paragraph</p> | ||
+ | <p>Yet one more Paragraph</p> | ||
+ | <script> | ||
+ | $("p").click(function () { | ||
+ | $(this).slideUp(); | ||
+ | }); | ||
+ | </script> | ||
+ | |||
+ | </body> | ||
+ | </html> | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ====Con jQuery Mobile==== | ||
+ | *Los touch events son distintos a los [http://api.jquery.com/category/events/mouse-events/ eventos tradicionales del ratón]: | ||
+ | *Tap | ||
+ | *Taphold (al menos 1s) | ||
+ | *Swipe (Swipeleft y Swiperight) | ||
+ | *Mira el siguiente código y [http://www.media.formandome.es/phonegap/eventojqmobile.html analiza su comportamiento] (es útil la extensión para'' Chrome Google Chrome to Phone''). | ||
+ | <source lang="html4strict"> | ||
+ | <!DOCTYPE html> | ||
+ | <html> | ||
+ | <head> | ||
+ | <meta charset="utf-8"> | ||
+ | <title>Eventos con jQueryMobile</title> | ||
+ | <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" /> | ||
+ | <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> | ||
+ | <script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script> | ||
+ | <script> | ||
+ | $(document).ready(function() { | ||
+ | $("#tap").on("tap", function() { | ||
+ | alert("TapEvent"); | ||
+ | }); | ||
+ | $("#taphold").on("taphold", function() { | ||
+ | alert("Tap Hold Event"); | ||
+ | }); | ||
+ | $("#swipe").on("swipe", function() { | ||
+ | alert("Swipe Event"); | ||
+ | }); | ||
+ | $("#swipeleft").on("swipeleft", function() { | ||
+ | alert("Swipe Left Event"); | ||
+ | }); | ||
+ | $("#swiperight").on("swiperight", function() { | ||
+ | alert("Swipe Right Event"); | ||
+ | }); | ||
+ | $(window).on('orientationchange', function(event){ | ||
+ | $("#placeholder").html("Se ha cambiado la orientación a: "+event.orientation); | ||
+ | }); | ||
+ | }); | ||
+ | </script> | ||
+ | </head> | ||
+ | <body> | ||
+ | <div data-role="page" id="main"> | ||
+ | <div data-role="header"> | ||
+ | <h1> | ||
+ | Eventos en jQueryMobile | ||
+ | </h1> | ||
+ | </div> | ||
+ | <div data-role="content"> | ||
+ | <h3> | ||
+ | Eventos de cambio de orientación: | ||
+ | </h3> | ||
+ | <h3> | ||
+ | Eventos táctiles: | ||
+ | </h3> | ||
+ | <p id="tap"> | ||
+ | Pulsa aquí | ||
+ | </p> | ||
+ | <p id="taphold"> | ||
+ | Pulsa y manten el dedo al menos 1s | ||
+ | </p> | ||
+ | <p id="swipe"> | ||
+ | Desliza el dedo | ||
+ | </p> | ||
+ | <p id="swipeleft"> | ||
+ | Desliza el dedo hacia la izqda | ||
+ | </p> | ||
+ | <p id="swiperight"> | ||
+ | Desliza el dedo hacia la dcha. | ||
+ | </p> | ||
+ | </div> | ||
+ | <div data-role="footer" class="ui-bar"> | ||
+ | <h1> | ||
+ | Footer | ||
+ | </h1> | ||
+ | </div> | ||
+ | </div> | ||
+ | </body> | ||
+ | </html> | ||
</source> | </source> | ||
</div> | </div> |
Última revisión de 04:20 21 feb 2014
Trabajo en proceso, espera cambios frecuentes. Tu ayuda y retroalimentación son bienvenidos. Ver página de charlas. |