Top Banner
BackboneJS y Drupal Aplicación móvil con una pareja de conveniencia www.danielprimo.es @delineas
39

Backbone JS y Drupal. App móvil con pareja de conveniencia

Jul 26, 2015

Download

Mobile

delineas
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Backbone JS y Drupal. App móvil con pareja de conveniencia

BackboneJS y DrupalAplicación móvil con una pareja

de conveniencia

www.danielprimo.es@delineas

Page 2: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 3: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 4: Backbone JS y Drupal. App móvil con pareja de conveniencia

Drupal

JS

Page 5: Backbone JS y Drupal. App móvil con pareja de conveniencia

¿Quienes somos?● Daniel Primo● @delineas● www.danielprimo.es● Freelance● Programador PHP y

analista Drupal

● Borja Quevedo● @niltsiar● Ingeniero de

Telecomunicaciones● Programador .NET y

Java

Page 6: Backbone JS y Drupal. App móvil con pareja de conveniencia

¿Dónde nos encontramos?

1. Conseguir buenas y sosegadas prácticas de programación

2. Tecnología común conocida pero no de uso intensivo: Javascript

¡Recomendamos empezar por Katas de programación!

Page 7: Backbone JS y Drupal. App móvil con pareja de conveniencia

Ecosistema Drupal

Page 8: Backbone JS y Drupal. App móvil con pareja de conveniencia

Ecosistema App Javascript

Page 9: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 10: Backbone JS y Drupal. App móvil con pareja de conveniencia

Comienzan las curvas

● Con Javascript se puede hacer de todo

● Muchas herramientas, gran fragmentación

● Perdidos! Cambios de versiones constantes

● Casi todo “está muerto” antes de empezar a usarlo

● Boilerplate como punto de partida

Page 11: Backbone JS y Drupal. App móvil con pareja de conveniencia

¡VIVA PRUSIA!

Page 12: Backbone JS y Drupal. App móvil con pareja de conveniencia

¿Por qué esta tecnología?● Desarrollo para Android e iPhone● Teórica curva de aprendizaje sencilla

○ HTML5 + Javascript● Sencha

○ primer intento, resultados malos○ demasiada “magia”

● Ionic + AngularJS○ el futuro más inmediato○ “verde” en el momento del inicio

La próxima con Ionic

Page 13: Backbone JS y Drupal. App móvil con pareja de conveniencia

¿Por qué BackboneJS y jQuery Mobile?

● “Sencillo”● Flexible y escalable● Amplias comunidades de desarrollo● Veteranía y soporte continuado● Boilerplates “a punta pala”● Necesitan jQuery● Artículo: http://moduscreate.com/5-best-mobile-web-app-frameworks-jquery-mobile-backbone-part4/

Page 14: Backbone JS y Drupal. App móvil con pareja de conveniencia

BackboneJS

● Modelo MVC: Permite gestionar una estructura en la programación

● Elementos desacoplados● Tus datos son modelos, si los modelos

cambian, tus vistas lo harán solas● Los modelos se agrupan en colecciones● Router: el hook_menu en el lado del cliente● Depende de underscore y jquery

Page 15: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 16: Backbone JS y Drupal. App móvil con pareja de conveniencia

● Arquitectura de aplicación escalable sobre Backbone○ Nos da soluciones para mejorar nuestra app

● Módulos● Vistas especializadas -> item, colección...● Bloques para “pintar” nuestro HTML● Eventos globales

MarionetteJS

Page 17: Backbone JS y Drupal. App móvil con pareja de conveniencia

jQuery Mobile

● Montar y listo: ideal para programadores● Solo se encarga de la interfaz, evitamos que

gestione el enrutado (ya lo hace Backbone)● No existe una integración inicial ● Disponibilidad de themes diferentes

Page 18: Backbone JS y Drupal. App móvil con pareja de conveniencia

Caso concreto: Blog

● Module● Router● Controller● Collection - Model● View● Template

Page 19: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 20: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 21: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 22: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 23: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 24: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 25: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 26: Backbone JS y Drupal. App móvil con pareja de conveniencia

También nos ayuda

● RequireJS: inyector de dependencias● Underscore: helpers● Fastclick: no esperar 300ms al doble click● Grunt: automatizador de tareas● Bower: gestión de paquetes● Handlebars: gestión de plantillas● Leaflet: mapas

Page 27: Backbone JS y Drupal. App móvil con pareja de conveniencia

Cordova / PhoneGap

● Crear aplicaciones nativas basadas en aplicaciones de HTML5 + Javascript

● Multiplataforma● Sencilla adaptación para web developers● Nos da acceso a funcionalidades de

dispositivo desde JS○ cámara, geoposicionamiento, aparato conectado...

● Por línea de comandos○ cordova create MiApp○ cordova platform add android○ cordova build|emulate|run android

Page 28: Backbone JS y Drupal. App móvil con pareja de conveniencia

Cordova / PhoneGap

● Adobe compra PhoneGap● Cordova es la versión libre de PhoneGap

gestionada por Apache● PhoneGap tiene un constructor de

aplicaciones online: PhoneGap Build● Los comandos de uno y otro son

intercambiables

Page 29: Backbone JS y Drupal. App móvil con pareja de conveniencia

Cordova / PhoneGap

● Problemas de rendimiento● “Las aplicaciones híbridas no son nativas”● Hay que afinar lo máximo posible el

rendimiento del backend● Simplificar la interfaz (KISS)

○ jQuery Mobile puede ser un estorbo más que una ayuda

Page 30: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 31: Backbone JS y Drupal. App móvil con pareja de conveniencia

Debug en móvil, ¿posible?

● Google Chrome Web Inspector● Weinre: WEb INspector REmote

○ El insepctor de Chrome te permite hacer los mismo sin necesidade de este extra

● Genymotion: emulador de distintos dispositivos de Android. Emula cámara y posición

● Eclipse: necesario para generar android● Xcode: necesario para emular y generar ios

Page 32: Backbone JS y Drupal. App móvil con pareja de conveniencia

Drupal como backend

● Aprovechar un sitio existente para crear una API REST de contenidos, usuarios...

● Módulo Services para proveer la funcionalidad○ No siempre es rápido○ URL’s de API inteligentes○ Cuidar el control de acceso

Page 33: Backbone JS y Drupal. App móvil con pareja de conveniencia

Services en Drupal

Page 34: Backbone JS y Drupal. App móvil con pareja de conveniencia

Complementos de Services

● Services views○ Integrar services con views

● JSON field formatter○ Formateo en JSON

● Image URL formatter○ Imagen como URL (también estilos de imagen)

● OAuth○ Autenticación

Page 35: Backbone JS y Drupal. App móvil con pareja de conveniencia

Publicar contenido

● Crear formulario● Capturar posición geográfica● Capturar imagen (fotografia o libreria)● Subir imagen● Enviar contenido

Page 36: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 37: Backbone JS y Drupal. App móvil con pareja de conveniencia
Page 38: Backbone JS y Drupal. App móvil con pareja de conveniencia

En camino

● Optimizar rendimiento● Minimización y compresión de ficheros● Publicar versión de iPhone iOS8 desde

Yosemite● Añadir mejores controles de acceso al

backend

Page 39: Backbone JS y Drupal. App móvil con pareja de conveniencia

eskerrik askomuchas gracias

[email protected]@delineas