Diferencia entre revisiones de «Usuario:Juanda/phonegap/jquerymobile»
De WikiEducator
Línea 1: | Línea 1: | ||
− | {{Usuario:juanda/ | + | {{Usuario:juanda/jquerymobile/nav }} |
− | {{#widget:Slides}} {{MiTitulo| Curso de | + | {{#widget:Slides}} {{MiTitulo| Curso de jQuery Mobile}} |
<div class="slides layout-regular template-default"> | <div class="slides layout-regular template-default"> | ||
<div class="slide"> | <div class="slide"> | ||
− | = | + | |
+ | = Introducción = | ||
</div> | </div> | ||
+ | |||
+ | |||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === ¿Qué es jQuery Mobile=== |
− | [[ | + | *Framework para crear intefaces de usuario basadas en HTML5 |
+ | *Construido a partir de la librería jQuery y de jQueryUI | ||
+ | *Orientado especificamente para móviles | ||
+ | *Algunos ejemplos: | ||
+ | :[http://m.ikea.com/es/ Web móvil de Ikea] | ||
+ | :[http://m.disneyworld.disney.go.com/ Disney World] | ||
+ | :[http://www.moulinrouge.fr/ Moulin Rouge] | ||
+ | :[http://m.stanford.edu/ Universidad de Stanford] | ||
+ | :[http://www.jqmgallery.com/ Y muchos más] | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | === Diseño responsivo === |
− | * | + | * 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. | |
− | * | + | * Imágenes y media también en unidades relativas. |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | |
− | + | === Diseño responsable=== | |
− | + | *Se utiliza el criterio "mobile first": | |
− | : | + | :Diseños sencillos |
− | : | + | :Diseños más complejos mediante media queries y siempre con un min-width |
− | + | :Se evita llevar un diseño pesado y aligerarlo para conseguir un time load aceptable para la red 3G. | |
− | : | + | *Imágenes específicas para el tamaño de pantalla de los móviles, tanto por ancho de banda como por tamaño de pantalla, [http://blogs.perficient.com/spark/2013/01/30/responsive-images-the-new-hotness/ ver ejemplo] |
− | * | + | *Uso de versiones minified y gzip |
− | + | ||
− | + | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | === | + | ===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. |
− | + | * Para calcular la anchura en ems, se divide en ancho de nuestro objetivo entre 16px (tamaño de letra por defecto) | |
− | * | + | *Aplicaciones Web accesibles via navegador |
− | * | + | <source lang="css"> |
− | <source lang=" | + | /* Start with core styles outside of a media query that apply to mobile and up */ |
− | + | /* Global typography and design elements, stacked containers */ | |
− | + | body { font-family: Helvetica, san-serif; } | |
− | + | H1 { color: green; } | |
− | + | a:link { color:purple; } | |
− | + | ||
− | + | /* Stack the two content containers */ | |
− | + | .main, | |
− | + | .sidebar { display:block; width:100%; } | |
− | } | + | |
+ | /* First breakpoint at 576px */ | ||
+ | /* Inherits mobile styles, but floats containers to make columns */ | ||
+ | @media all and (min-width: 36em){ | ||
+ | .main { float: left; width:60%; } | ||
+ | .sidebar { float: left; width:40%; } | ||
+ | } | ||
+ | |||
+ | /* Second breakpoint at 800px */ | ||
+ | /* Adjusts column proportions, tweaks base H1 */ | ||
+ | @media all and (min-width: 50em){ | ||
+ | .main { width:70%; } | ||
+ | .sidebar { width:30%; } | ||
+ | |||
+ | /* You can also tweak any other styles in a breakpoint */ | ||
+ | H1 { color: blue; font-size:1.2em } | ||
} | } | ||
</source> | </source> | ||
+ | |||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | + | ||
− | + | === Tipo de aplicaciones Web con PhoneGap=== | |
− | + | *PhoneGap sirve para realizar aplicaciones que utilicen las características del dispositivo:<br/> | |
− | + | :Camara, GPS, libreta de teléfonos.... | |
− | + | *La mayoría de las aplicaciones web basadas en PhoneGap consumirán mediante javascript servicios web | |
− | + | *Ejemplos de aplicaciones de este tipo serían Google Maps, FourSquare... | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
− | * | + | === Necesidades en desarrollos web para móviles=== |
− | + | *Desarrollo de la aplicación para varias plataformas | |
− | * | + | *La experiencia de usuario en la aplicación debe ser consistente entre plataformas: |
− | + | :Un usuario puede migrar de SO incluso utilizar varios | |
− | + | :La experiencia de usuario podría variar entre dispositivos en función de las [http://phonegap.com/about/feature/ características y capacidades de los dispositivos] | |
− | + | *Varios equipos de desarrollo no siempre es la mejor opción, por las necesidades de coordinación inherentes. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
</div> | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | [[Archivo:Mobile_development_requirements.png|600px|thumb|center|Requerimientos para desarrollo de programas para dispositivos móviles]] | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ===PhoneGap=== | ||
+ | *Se basa en la parte común de todos los dispositivos móviles: el navegador | ||
+ | *Los nuevos navegadores se adhieren a estándares como HTML5/CSS3. | ||
+ | *HTML5 nos da mucha funcionalidad: procesos en background mediante web workers, soporte offline, base de datos... | ||
+ | *CSS3 permite que nos despidamos de flash para realizar gradientes, bordes redondeados, páginas responsivas, vistas de impresión, etc. | ||
+ | *Todas las plataformas móviles excepto Windows 7 Phone utilizan un navegador basado en webkit | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | [[Archivo:Mobile_os_browser.png|600px|thumb|center|Navegador en dispositivos móviles]] | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | ===Webviews=== | ||
+ | *Piensa en una aplicación PhoneGap como un navegador embebido dentro de la aplicación y que ejecuta HMTL5/CSS. | ||
+ | *Estos navegadores embebidos es lo que se conoce como '''webview''' | ||
+ | *Cada una de las pantallas de nuestra aplicación será un webview. | ||
+ | *Desde el webview ejecutaremos código JavaScript que comunicará con código nativo del dispositivo. | ||
+ | *Todos los dispositivos permiten al código en JavaScript hacer llamadas a código nativo en Java/C++/Objective C y al revés. | ||
+ | </div> | ||
+ | |||
+ | |||
</div> | </div> |
Revisión de 04:13 29 may 2013