SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
De web a web, mobile 
web. 
Asier Marqués 
@asiermarques
“El contenido es el 
rey”
¿Responsive vs Mobile 
Web? 
• El contenido es el rey pero la UX también debe 
serlo. 
• El tamaño importa 
• El responsive en dispositivos móviles puede “no 
escalar”
airbnb
facebook
Badoo
Cloudsound
¿Web Mobile VS Nativo/ 
Híbrido? 
PROS 
• Estamos libres de las políticas de App Stores 
• Actualizar la aplicación no es un infierno 
• El soporte es directo 
• Podemos medir mejor
¿Web Mobile VS Nativo/ 
Híbrido? 
CONTRAS 
• No estamos en el canal de aplicaciones 
• Nos perdemos ciertos beneficios de integración 
con el hardware 
• No podemos aprovechar el hardware del 
dispositivo para crear aplicaciones complejas
¿Será opcional crear una 
web app mobile en el 2015?
Cómo hacerlo 
• SPA, single page application vs MVC tradicional 
• Respetando convenciones de diseño de cada 
plataforma vs Diseño propio
Frameworks 
• ionic framework 
• onsen ui 
• chocolat chip ui 
• app.js 
• mobile angular ui
Hacernos nuestro 
framework 
• HTML 5 + “cosas” de cada plataforma 
• CSS 3, transiciones y animaciones!important 
• Javascript (¿jQuery/Zepto?) 
• Angular 
• Media (Imágenes+Video+Audio) y assets 
• Caché
Touch events 
• 300ms delay 
• Eventos 
• touch: touchstart, touchend, touchmove 
• touch-action
Touch events 
• Hammer.js + ngHammer 
• touchejs
Notificaciones 
• Safari Push Notifications 
• HTML5 notification
CSS3 Transitions, ¿por qué? 
• En una app mobile, las animaciones y transiciones 
son parte de la UI y esenciales en la UX 
• Deben tener un sentido, en cada plataforma (si 
seguimos las convenciones) 
• No se trata de poner gatitos que saluden o copos 
de nieve (al menos en verano)
“Links don’t open apps.” 
Jason Grigsby
Las APPs nativas no son el 
enemigo 
• Esquema de url personalizados: nombre_app:// 
• Debemos asegurarnos de que la app esté 
instalada 
• Ideal para lanzar apps conocidas como 
WhatsApp o similares 
• Smart Banners
Detectar si una app puede 
estar instalada en el móvil 
• Cookies al registrarse en el servicio o redirigir a la 
app store 
• Smart Banners
Smart Banners 
<meta name="apple-itunes-app" content=“app-id= 
myAppStoreID"/> 
Afiliados 
<meta name="apple-itunes-app" content="app-id= 
myAppStoreID, affiliate-data=myAffiliateData”/> 
Pasar datos a la app 
<meta name="apple-itunes-app" content="app-id= 
myAppStoreID, app-argument=myURL"/>
Para Android 
jQuery Smart Banners 
http://jasny.github.io/jquery.smartbanner/
Media 
• YUI Compressor 
• Retina, CSS 
• Porcentaje de calidad en imágenes 
• Minimizado
Retina 
• En pantalla retina tenemos el doble de densidad 
para mostrar elementos gráficos 
• Debemos preparar imágenes alternativas para 
estas pantallas 
• Evitar el uso de imágenes para los iconos, 
utilizando WebFonts en su lugar
Retina CSS 
@media (-webkit-min-device-pixel-ratio: 2), 
(min-resolution: 192dpi) { 
}
Retina CSS -webkit 
background-image: webkit-image-set( 
url(icon.png) 1x, 
url(icon@2x.png) 2x 
);
Retina JS 
if (window.devicePixelRatio > 1) { 
var images = $('img'); 
images.each(function(i) { 
var lowres = $(this).attr('src'); 
var highres = $(this).attr(‘data-src-retina‘); 
$(this).attr('src', highres); 
}); 
}
Cache 
• Manifest 
• Proxy Caché HTTP, varnish 
• LocalStorage
Angular, rendimiento 
• {{ ::value }} 
• $scope.$digest en lugar de $scope.$apply 
• cuidado con ng-repeat y directivas tipo ng-hide, 
ng-show, puede ser interesante considerar 
gestionarlos fuera de angular 
• Los filtros dentro de los ng-repeat pueden cargar 
también la app.
Fuentes y rendimiento 
Utilizar siempre .woff 
Cuidado con cargar directamente las web fonts de Google o 
similares. 
• Opción 1: cargar las fuentes de forma asíncrona 
• Opción 2: generar nuestro css para nuestras fuentes en woff 
y cargarlas en local storage 
http://bdadam.com/blog/loading-webfonts-with-high-performance. 
html
Fuentes y rendimiento 
Opción 1 
<style> 
@font-face { 
font-family: 'Whatever Sans'; 
src: local('Whatever Sans'), 
url(http://fonts.gstatic.com/s/.../ODelI1aHBYDBqgeIA...Oz0jw624.woff) 
format('woff'); 
} 
</style>
Fuentes y rendimiento 
Opción 2 
if (localStorage.whateverSans) { 
//añadimos el contenido css al DOM 
} else { 
var request = new XMLHttpRequest(); 
request.open('GET', '/path/to/whatever-sans.woff.css', true); 
request.onload = function() { 
if (request.status >= 200 && request.status < 400) { 
localStorage.sourceSansPro = request.responseText; 
//añadimos el contenido css al DOM 
} 
request.send 
}
Mapas 
• Leaflet 
• Angular Google Maps 
• MarkerCluster o Leaflet.markercluster para obtener 
mejor rendimiento 
• Cuidado con los tiles si usamos visualizaciones 
procesadas por nosotros!
Mapas, rendimiento
Monitorización, gestión de 
errores 
• caliper.io 
• bugsnag.com 
• rescue.js
Tests A/B 
• easyab -> http://romainstrock.com/easyAB/ 
• Abba -> https://github.com/maccman/abba 
• vwo.com
UI, Convenciones, Diseño 
http://www.mobile-patterns.com/ 
http://www.lovelyui.com/ 
http://www.pttrns.com/ 
http://ui.theultralinx.com/ 
http://inspired-ui.com/ 
http://inspirationmobile.tumblr.com/ 
http://www.android-app-patterns.com/
Gracias 
Asier Marqués 
asier@simettric.com 
@asiermarques 
linkedin/in/asier

Más contenido relacionado

La actualidad más candente

Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Ignacio Muñoz Vicente
 
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
 
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
 
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
 
10 preguntas top WordPress
10 preguntas top WordPress10 preguntas top WordPress
10 preguntas top WordPressFernando Tellado
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Ignacio Muñoz Vicente
 
Creando apps móviles en React Native
Creando apps móviles en React NativeCreando apps móviles en React Native
Creando apps móviles en React NativeBelatrix Software
 
Clase sobre Optimización de Wordpress
Clase sobre Optimización de WordpressClase sobre Optimización de Wordpress
Clase sobre Optimización de WordpressJuan Ignacio Alberola
 
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
 
JavaScript y el SEo Mitos y realidades
JavaScript y el SEo Mitos y realidadesJavaScript y el SEo Mitos y realidades
JavaScript y el SEo Mitos y realidadesDigital Growth
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaSoftware Guru
 
Optimizando sites con js v2
Optimizando sites con js v2Optimizando sites con js v2
Optimizando sites con js v2Digital Growth
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinJavier Suárez Ruiz
 
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
 
Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapCongresoWeb
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Carlos Azaustre
 

La actualidad más candente (20)

Introducción a Responsive Design
Introducción a Responsive DesignIntroducción a Responsive Design
Introducción a Responsive Design
 
Kendo UI
Kendo UIKendo UI
Kendo UI
 
Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2Desarrollo de aplicaciones multiplataforma 2/2
Desarrollo de aplicaciones multiplataforma 2/2
 
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
 
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
 
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
 
10 preguntas top WordPress
10 preguntas top WordPress10 preguntas top WordPress
10 preguntas top WordPress
 
Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2Desarrollo de aplicaciones multiplataforma 1/2
Desarrollo de aplicaciones multiplataforma 1/2
 
Creando apps móviles en React Native
Creando apps móviles en React NativeCreando apps móviles en React Native
Creando apps móviles en React Native
 
Clase sobre Optimización de Wordpress
Clase sobre Optimización de WordpressClase sobre Optimización de Wordpress
Clase sobre Optimización de Wordpress
 
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
 
JavaScript y el SEo Mitos y realidades
JavaScript y el SEo Mitos y realidadesJavaScript y el SEo Mitos y realidades
JavaScript y el SEo Mitos y realidades
 
Escalando WordPress
Escalando WordPressEscalando WordPress
Escalando WordPress
 
Las Herramientas de un Frontend
Las Herramientas de un FrontendLas Herramientas de un Frontend
Las Herramientas de un Frontend
 
Desarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache CordovaDesarrollo de apps móviles con Apache Cordova
Desarrollo de apps móviles con Apache Cordova
 
Optimizando sites con js v2
Optimizando sites con js v2Optimizando sites con js v2
Optimizando sites con js v2
 
Introducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones XamarinIntroducción al desarrollo de aplicaciones Xamarin
Introducción al desarrollo de aplicaciones Xamarin
 
Trucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.FormsTrucos y consejos rendimiento Xamarin.Forms
Trucos y consejos rendimiento Xamarin.Forms
 
Desarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta PhonegapDesarrollo de Apps con la herramienta Phonegap
Desarrollo de Apps con la herramienta Phonegap
 
Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015Angular 2 is Coming - GDG DevFest Cordoba 2015
Angular 2 is Coming - GDG DevFest Cordoba 2015
 

Destacado

Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5Jose R. Hilera
 
Workflow para volar con el CSS
Workflow para volar con el CSSWorkflow para volar con el CSS
Workflow para volar con el CSSNaiara Abaroa
 
Accesibilidad, hojas estilo cascada, y tu
Accesibilidad, hojas estilo cascada, y tuAccesibilidad, hojas estilo cascada, y tu
Accesibilidad, hojas estilo cascada, y tuAdrian Moreno Garcia
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Avanet
 
REST, jQuery y otros Frameworks JS
REST, jQuery y otros Frameworks JSREST, jQuery y otros Frameworks JS
REST, jQuery y otros Frameworks JSAdolfo Sanz De Diego
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponentsAvanet
 
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webEjemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webJose R. Hilera
 
Mejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfacciónMejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfaccióndnmoncada
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalDavid Gil Sánchez
 
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)Jose R. Hilera
 
Introducción a HTML - CSS - JS
Introducción a HTML - CSS - JS Introducción a HTML - CSS - JS
Introducción a HTML - CSS - JS Alejandro Miguel
 
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScriptEjemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScriptJose R. Hilera
 
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud) Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud) Software Guru
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHPJuan Belón Pérez
 
Herramientas Frontend - Betabeers Salamanca - Enero 2015
Herramientas Frontend - Betabeers Salamanca - Enero 2015Herramientas Frontend - Betabeers Salamanca - Enero 2015
Herramientas Frontend - Betabeers Salamanca - Enero 2015Jesus Merino Parra
 
Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0Jose R. Hilera
 
Mejores practicas front end
Mejores practicas front endMejores practicas front end
Mejores practicas front endSoftware Guru
 

Destacado (20)

Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5Integración de WAI-ARIA en HTML5
Integración de WAI-ARIA en HTML5
 
Workflow para volar con el CSS
Workflow para volar con el CSSWorkflow para volar con el CSS
Workflow para volar con el CSS
 
Desarrollo de webapps 1
Desarrollo de webapps 1Desarrollo de webapps 1
Desarrollo de webapps 1
 
Accesibilidad, hojas estilo cascada, y tu
Accesibilidad, hojas estilo cascada, y tuAccesibilidad, hojas estilo cascada, y tu
Accesibilidad, hojas estilo cascada, y tu
 
Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5Introducción a Google Dart + HTML5
Introducción a Google Dart + HTML5
 
REST, jQuery y otros Frameworks JS
REST, jQuery y otros Frameworks JSREST, jQuery y otros Frameworks JS
REST, jQuery y otros Frameworks JS
 
Uso de html5 + webcomponents
Uso de html5 + webcomponentsUso de html5 + webcomponents
Uso de html5 + webcomponents
 
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página webEjemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
Ejemplo de corrección de errores de accesibilidad WCAG 2.0 en una página web
 
Mejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfacciónMejora tus US con UX y modelos de satisfacción
Mejora tus US con UX y modelos de satisfacción
 
Tools and Frameworks
Tools and FrameworksTools and Frameworks
Tools and Frameworks
 
Casper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end DrupalCasper JS - Asegurando la calidad en front-end Drupal
Casper JS - Asegurando la calidad en front-end Drupal
 
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
PAUTAS W3C DE ACCESIBILIDAD PARA HERRAMIENTAS DE EDICIÓN WEB (ATAG 2.0)
 
Introducción a HTML - CSS - JS
Introducción a HTML - CSS - JS Introducción a HTML - CSS - JS
Introducción a HTML - CSS - JS
 
Flujos de interaccion
Flujos de interaccionFlujos de interaccion
Flujos de interaccion
 
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScriptEjemplos WAI-ARIA con HTML, CSS y JavaScript
Ejemplos WAI-ARIA con HTML, CSS y JavaScript
 
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud) Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
Desarrollo de aplicaciones web 3.0 (linked data + bpm + cloud)
 
Depurando Java Script - Programador PHP
Depurando Java Script - Programador PHPDepurando Java Script - Programador PHP
Depurando Java Script - Programador PHP
 
Herramientas Frontend - Betabeers Salamanca - Enero 2015
Herramientas Frontend - Betabeers Salamanca - Enero 2015Herramientas Frontend - Betabeers Salamanca - Enero 2015
Herramientas Frontend - Betabeers Salamanca - Enero 2015
 
Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0Herramientas de evaluación de accesibilidad web WCAG 2.0
Herramientas de evaluación de accesibilidad web WCAG 2.0
 
Mejores practicas front end
Mejores practicas front endMejores practicas front end
Mejores practicas front end
 

Similar a Desarrollo de Mobile Web Apps

Creando Productos SaaS
Creando Productos SaaSCreando Productos SaaS
Creando Productos SaaSAsier Marqués
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Rob Montero
 
Estrategias de posicionamiento para un mundo que busca desde el móvil
Estrategias de posicionamiento para un mundo que busca desde el móvilEstrategias de posicionamiento para un mundo que busca desde el móvil
Estrategias de posicionamiento para un mundo que busca desde el móvilSEMrush_es
 
Presentaciones Mariano Carrizo - eCommerce IT Camp
Presentaciones Mariano Carrizo - eCommerce IT Camp Presentaciones Mariano Carrizo - eCommerce IT Camp
Presentaciones Mariano Carrizo - eCommerce IT Camp eCommerce Institute
 
Estrategias SEO en un mundo que busca desde el móvil
Estrategias SEO en un mundo que busca desde el móvilEstrategias SEO en un mundo que busca desde el móvil
Estrategias SEO en un mundo que busca desde el móvilHuman Level
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasScio Consulting
 
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...riojadotnet
 
Usando Google Maps en tu Android App
Usando Google Maps en tu Android AppUsando Google Maps en tu Android App
Usando Google Maps en tu Android AppOscar Salguero
 
Optimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPOptimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPFernando Serer
 
Diseño y animación en la web movil
Diseño y animación en la web movilDiseño y animación en la web movil
Diseño y animación en la web movilMejorandola
 
Responsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendacionesResponsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendacionesXavi Cardet
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphoneAndres Karp
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteCarlos Toxtli
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelImanol Iza Martin
 
Albero tech Day - De web a móvil con xamarin
Albero tech Day - De web a móvil con xamarinAlbero tech Day - De web a móvil con xamarin
Albero tech Day - De web a móvil con xamarinAsier Marqués
 
Bilbostack 2014: De web a móvil con Xamarin
Bilbostack 2014: De web a móvil con XamarinBilbostack 2014: De web a móvil con Xamarin
Bilbostack 2014: De web a móvil con XamarinAsier Marqués
 
Consideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasConsideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasSoftware Guru
 

Similar a Desarrollo de Mobile Web Apps (20)

Creando Productos SaaS
Creando Productos SaaSCreando Productos SaaS
Creando Productos SaaS
 
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
Diseño Responsivo en Drupal: ¿Qué hay de Nuevo?
 
Estrategias de posicionamiento para un mundo que busca desde el móvil
Estrategias de posicionamiento para un mundo que busca desde el móvilEstrategias de posicionamiento para un mundo que busca desde el móvil
Estrategias de posicionamiento para un mundo que busca desde el móvil
 
Presentaciones Mariano Carrizo - eCommerce IT Camp
Presentaciones Mariano Carrizo - eCommerce IT Camp Presentaciones Mariano Carrizo - eCommerce IT Camp
Presentaciones Mariano Carrizo - eCommerce IT Camp
 
Html5
Html5Html5
Html5
 
Estrategias SEO en un mundo que busca desde el móvil
Estrategias SEO en un mundo que busca desde el móvilEstrategias SEO en un mundo que busca desde el móvil
Estrategias SEO en un mundo que busca desde el móvil
 
Aplicaciones Móviles Híbridas
Aplicaciones Móviles HíbridasAplicaciones Móviles Híbridas
Aplicaciones Móviles Híbridas
 
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en BibliotecasWeb móvil. Desarrollo de Apps y Aplicación en Bibliotecas
Web móvil. Desarrollo de Apps y Aplicación en Bibliotecas
 
Html5 para móviles
Html5 para móvilesHtml5 para móviles
Html5 para móviles
 
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...
TODO EN UNO: Del desarrollo web al desarrollo móvil nativo con Xamarin - Asie...
 
Usando Google Maps en tu Android App
Usando Google Maps en tu Android AppUsando Google Maps en tu Android App
Usando Google Maps en tu Android App
 
Optimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMPOptimiza tu WordPress para móviles en media hora con AMP
Optimiza tu WordPress para móviles en media hora con AMP
 
Diseño y animación en la web movil
Diseño y animación en la web movilDiseño y animación en la web movil
Diseño y animación en la web movil
 
Responsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendacionesResponsive Web Design, ventaja, inconvenientes y recomendaciones
Responsive Web Design, ventaja, inconvenientes y recomendaciones
 
Presentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para IphonePresentacion Desarrollo de Aplicaciones para Iphone
Presentacion Desarrollo de Aplicaciones para Iphone
 
Herramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamenteHerramientas para desarrollar rápidamente
Herramientas para desarrollar rápidamente
 
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivelSPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
SPS Madrid 2019 - Eleva tu aplicaciones de PowerApps a otro nivel
 
Albero tech Day - De web a móvil con xamarin
Albero tech Day - De web a móvil con xamarinAlbero tech Day - De web a móvil con xamarin
Albero tech Day - De web a móvil con xamarin
 
Bilbostack 2014: De web a móvil con Xamarin
Bilbostack 2014: De web a móvil con XamarinBilbostack 2014: De web a móvil con Xamarin
Bilbostack 2014: De web a móvil con Xamarin
 
Consideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativasConsideraciones al escoger apps híbridas vs nativas
Consideraciones al escoger apps híbridas vs nativas
 

Más de Asier Marqués

Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyAsier Marqués
 
WordCamp Cantabria - Código mantenible con WordPress
WordCamp Cantabria  - Código mantenible con WordPressWordCamp Cantabria  - Código mantenible con WordPress
WordCamp Cantabria - Código mantenible con WordPressAsier Marqués
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Asier Marqués
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetAsier Marqués
 
Presentación de la plataforma abierta Ubiqarama.org
Presentación de la plataforma abierta Ubiqarama.orgPresentación de la plataforma abierta Ubiqarama.org
Presentación de la plataforma abierta Ubiqarama.orgAsier Marqués
 
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1Asier Marqués
 
APIs REST #devfestBilbao
APIs REST #devfestBilbaoAPIs REST #devfestBilbao
APIs REST #devfestBilbaoAsier Marqués
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVCAsier Marqués
 
Servicios REST - PucelaTechDay
Servicios REST - PucelaTechDayServicios REST - PucelaTechDay
Servicios REST - PucelaTechDayAsier Marqués
 
Desarrollo de aplicaciones Windows8 para desarrolladores de internet
Desarrollo de aplicaciones Windows8 para desarrolladores de internetDesarrollo de aplicaciones Windows8 para desarrolladores de internet
Desarrollo de aplicaciones Windows8 para desarrolladores de internetAsier Marqués
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012Asier Marqués
 
4VisionsManager en WebDevBilbao
4VisionsManager en WebDevBilbao4VisionsManager en WebDevBilbao
4VisionsManager en WebDevBilbaoAsier Marqués
 
Proyectos fallidos: Rooms.fm en #webdevbilbao
Proyectos fallidos: Rooms.fm en #webdevbilbaoProyectos fallidos: Rooms.fm en #webdevbilbao
Proyectos fallidos: Rooms.fm en #webdevbilbaoAsier Marqués
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 
Symfony, cloud computing y web escalables
Symfony, cloud computing y web escalablesSymfony, cloud computing y web escalables
Symfony, cloud computing y web escalablesAsier Marqués
 
Sistemas Microsoft Windows
Sistemas Microsoft WindowsSistemas Microsoft Windows
Sistemas Microsoft WindowsAsier Marqués
 

Más de Asier Marqués (19)

Desarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando SymfonyDesarrollo código mantenible en WordPress utilizando Symfony
Desarrollo código mantenible en WordPress utilizando Symfony
 
Introducción a Bolt
Introducción a BoltIntroducción a Bolt
Introducción a Bolt
 
WordCamp Cantabria - Código mantenible con WordPress
WordCamp Cantabria  - Código mantenible con WordPressWordCamp Cantabria  - Código mantenible con WordPress
WordCamp Cantabria - Código mantenible con WordPress
 
PHP en el 2015
PHP en el 2015PHP en el 2015
PHP en el 2015
 
Código mantenible, en Wordpress.
Código mantenible, en Wordpress.Código mantenible, en Wordpress.
Código mantenible, en Wordpress.
 
Ejecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en InternetEjecución de servicios digitales y negocios en Internet
Ejecución de servicios digitales y negocios en Internet
 
Presentación de la plataforma abierta Ubiqarama.org
Presentación de la plataforma abierta Ubiqarama.orgPresentación de la plataforma abierta Ubiqarama.org
Presentación de la plataforma abierta Ubiqarama.org
 
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1
Calidad, IC y Entrega contínua en Symfony2 con Azure - Parte 1
 
APIs REST #devfestBilbao
APIs REST #devfestBilbaoAPIs REST #devfestBilbao
APIs REST #devfestBilbao
 
Silex para aplicaciones web MVC
Silex para aplicaciones web MVCSilex para aplicaciones web MVC
Silex para aplicaciones web MVC
 
Servicios REST - PucelaTechDay
Servicios REST - PucelaTechDayServicios REST - PucelaTechDay
Servicios REST - PucelaTechDay
 
Desarrollo de aplicaciones Windows8 para desarrolladores de internet
Desarrollo de aplicaciones Windows8 para desarrolladores de internetDesarrollo de aplicaciones Windows8 para desarrolladores de internet
Desarrollo de aplicaciones Windows8 para desarrolladores de internet
 
REST - deSymfony2012
REST - deSymfony2012REST - deSymfony2012
REST - deSymfony2012
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
4VisionsManager en WebDevBilbao
4VisionsManager en WebDevBilbao4VisionsManager en WebDevBilbao
4VisionsManager en WebDevBilbao
 
Proyectos fallidos: Rooms.fm en #webdevbilbao
Proyectos fallidos: Rooms.fm en #webdevbilbaoProyectos fallidos: Rooms.fm en #webdevbilbao
Proyectos fallidos: Rooms.fm en #webdevbilbao
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 
Symfony, cloud computing y web escalables
Symfony, cloud computing y web escalablesSymfony, cloud computing y web escalables
Symfony, cloud computing y web escalables
 
Sistemas Microsoft Windows
Sistemas Microsoft WindowsSistemas Microsoft Windows
Sistemas Microsoft Windows
 

Último

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 

Último (10)

Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 

Desarrollo de Mobile Web Apps

  • 1. De web a web, mobile web. Asier Marqués @asiermarques
  • 2. “El contenido es el rey”
  • 3. ¿Responsive vs Mobile Web? • El contenido es el rey pero la UX también debe serlo. • El tamaño importa • El responsive en dispositivos móviles puede “no escalar”
  • 8. ¿Web Mobile VS Nativo/ Híbrido? PROS • Estamos libres de las políticas de App Stores • Actualizar la aplicación no es un infierno • El soporte es directo • Podemos medir mejor
  • 9. ¿Web Mobile VS Nativo/ Híbrido? CONTRAS • No estamos en el canal de aplicaciones • Nos perdemos ciertos beneficios de integración con el hardware • No podemos aprovechar el hardware del dispositivo para crear aplicaciones complejas
  • 10. ¿Será opcional crear una web app mobile en el 2015?
  • 11. Cómo hacerlo • SPA, single page application vs MVC tradicional • Respetando convenciones de diseño de cada plataforma vs Diseño propio
  • 12. Frameworks • ionic framework • onsen ui • chocolat chip ui • app.js • mobile angular ui
  • 13. Hacernos nuestro framework • HTML 5 + “cosas” de cada plataforma • CSS 3, transiciones y animaciones!important • Javascript (¿jQuery/Zepto?) • Angular • Media (Imágenes+Video+Audio) y assets • Caché
  • 14. Touch events • 300ms delay • Eventos • touch: touchstart, touchend, touchmove • touch-action
  • 15. Touch events • Hammer.js + ngHammer • touchejs
  • 16. Notificaciones • Safari Push Notifications • HTML5 notification
  • 17. CSS3 Transitions, ¿por qué? • En una app mobile, las animaciones y transiciones son parte de la UI y esenciales en la UX • Deben tener un sentido, en cada plataforma (si seguimos las convenciones) • No se trata de poner gatitos que saluden o copos de nieve (al menos en verano)
  • 18. “Links don’t open apps.” Jason Grigsby
  • 19. Las APPs nativas no son el enemigo • Esquema de url personalizados: nombre_app:// • Debemos asegurarnos de que la app esté instalada • Ideal para lanzar apps conocidas como WhatsApp o similares • Smart Banners
  • 20. Detectar si una app puede estar instalada en el móvil • Cookies al registrarse en el servicio o redirigir a la app store • Smart Banners
  • 21. Smart Banners <meta name="apple-itunes-app" content=“app-id= myAppStoreID"/> Afiliados <meta name="apple-itunes-app" content="app-id= myAppStoreID, affiliate-data=myAffiliateData”/> Pasar datos a la app <meta name="apple-itunes-app" content="app-id= myAppStoreID, app-argument=myURL"/>
  • 22. Para Android jQuery Smart Banners http://jasny.github.io/jquery.smartbanner/
  • 23. Media • YUI Compressor • Retina, CSS • Porcentaje de calidad en imágenes • Minimizado
  • 24. Retina • En pantalla retina tenemos el doble de densidad para mostrar elementos gráficos • Debemos preparar imágenes alternativas para estas pantallas • Evitar el uso de imágenes para los iconos, utilizando WebFonts en su lugar
  • 25. Retina CSS @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { }
  • 26. Retina CSS -webkit background-image: webkit-image-set( url(icon.png) 1x, url(icon@2x.png) 2x );
  • 27. Retina JS if (window.devicePixelRatio > 1) { var images = $('img'); images.each(function(i) { var lowres = $(this).attr('src'); var highres = $(this).attr(‘data-src-retina‘); $(this).attr('src', highres); }); }
  • 28. Cache • Manifest • Proxy Caché HTTP, varnish • LocalStorage
  • 29. Angular, rendimiento • {{ ::value }} • $scope.$digest en lugar de $scope.$apply • cuidado con ng-repeat y directivas tipo ng-hide, ng-show, puede ser interesante considerar gestionarlos fuera de angular • Los filtros dentro de los ng-repeat pueden cargar también la app.
  • 30. Fuentes y rendimiento Utilizar siempre .woff Cuidado con cargar directamente las web fonts de Google o similares. • Opción 1: cargar las fuentes de forma asíncrona • Opción 2: generar nuestro css para nuestras fuentes en woff y cargarlas en local storage http://bdadam.com/blog/loading-webfonts-with-high-performance. html
  • 31. Fuentes y rendimiento Opción 1 <style> @font-face { font-family: 'Whatever Sans'; src: local('Whatever Sans'), url(http://fonts.gstatic.com/s/.../ODelI1aHBYDBqgeIA...Oz0jw624.woff) format('woff'); } </style>
  • 32. Fuentes y rendimiento Opción 2 if (localStorage.whateverSans) { //añadimos el contenido css al DOM } else { var request = new XMLHttpRequest(); request.open('GET', '/path/to/whatever-sans.woff.css', true); request.onload = function() { if (request.status >= 200 && request.status < 400) { localStorage.sourceSansPro = request.responseText; //añadimos el contenido css al DOM } request.send }
  • 33. Mapas • Leaflet • Angular Google Maps • MarkerCluster o Leaflet.markercluster para obtener mejor rendimiento • Cuidado con los tiles si usamos visualizaciones procesadas por nosotros!
  • 35. Monitorización, gestión de errores • caliper.io • bugsnag.com • rescue.js
  • 36. Tests A/B • easyab -> http://romainstrock.com/easyAB/ • Abba -> https://github.com/maccman/abba • vwo.com
  • 37. UI, Convenciones, Diseño http://www.mobile-patterns.com/ http://www.lovelyui.com/ http://www.pttrns.com/ http://ui.theultralinx.com/ http://inspired-ui.com/ http://inspirationmobile.tumblr.com/ http://www.android-app-patterns.com/
  • 38. Gracias Asier Marqués asier@simettric.com @asiermarques linkedin/in/asier