creacion de aplicaciones moviles con symfony2
DESCRIPTION
TRANSCRIPT
![Page 1: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/1.jpg)
![Page 2: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/2.jpg)
![Page 3: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/3.jpg)
•Argentino, viviendo en Miami, EE.UU. desde 1999•Programador PHP, Symfony, entre otros•Fundador de la lista de PHP en español http://
news.php.net/php.general.es/3 )antes de Julio 2000(
•Pasé el control a php.net con más de 1000 subscriptos•Co-fundador de ServerGrove Networks⁃ fundada en 2005 ⁃ servicios de hosting especializado en PHP y Symfony
•Advertencia! No soy experto en aplicaciones móviles, pero si he creado algunas con Symfony2.
Quién es Pablo Godel?"
![Page 4: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/4.jpg)
¿Por qué?
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 5: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/5.jpg)
• Cada vez más personas tienen acceso a
Internet en el télefono móvil
•Los dispositivos son cada vez más potentes y
versátiles
•El acceso a Internet es más rápido y confiable
•El público demanda servicios y aplicaciones
en todo momento
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 6: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/6.jpg)
•No se pueden dar ventajas en el mercado
ultra-competitivo
•Tus competidores ya lo están haciendo o
implementando
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 7: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/7.jpg)
Algunos números...
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 8: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/8.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
•5.300 millones de usuarios a nivel mundial •370 millones de teléfonos móviles vendidos en Q1 2011 a nivel mundial
•+ 850 millones de usuarios en China•54 millones de usuarios en España )2010(•300 mil aplicaciones móviles con 10.900 millones de instalaciones
![Page 9: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/9.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
Teléfonos celulares por Paises
Fuente:http://www.nationmaster.com/graph/med_mob_pho-media-mobile-phones
![Page 10: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/10.jpg)
¿Cómo llegamos hasta aquí?
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 11: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/11.jpg)
Un poco de historia...
Quién es Pablo Godel? Aplicaciones Móviles - Por qué?
![Page 12: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/12.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
Primera red celular )1G - primera generación(
comercial del mundo lanzada en Japón1979
![Page 13: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/13.jpg)
El teléfono “móvil”
Motorola DynaTAC -
también conocido como
LA BOTA - costaba
US$ 3995 y pesaba 793
gramos!
Quién es Pablo Godel? Aplicaciones Móviles - Historia
1983 Motorola DynaTAC
![Page 14: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/14.jpg)
Estandard común para conectar distintas redes y aplicaciones en dispositivos
•Cliente WAP•Servidor envia WML )XML(
WAP - Wireless Application Protocol
<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml" ><wml> <card id="main" title="First Card"> <p mode="wrap">This is a sample WML page.</p> </card></wml>
Quién es Pablo Godel? Aplicaciones Móviles - Historia
1997
![Page 15: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/15.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
WAP/WML
![Page 16: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/16.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
WAP/WML
![Page 17: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/17.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
WAP/WML
![Page 18: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/18.jpg)
Programador: “Renuncio!”
Quién es Pablo Godel? Aplicaciones Móviles - Historia
WAP/WML
![Page 19: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/19.jpg)
Usuario: “Esto no sirve!”
Quién es Pablo Godel? Aplicaciones Móviles - Historia
WAP/WML
![Page 20: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/20.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
2007...
![Page 21: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/21.jpg)
•Revolución en el
mercado de
telefonía móvil
•Cliente Web Safari
Quién es Pablo Godel? Aplicaciones Móviles - Historia
iPhone2007
![Page 22: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/22.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
iPhone App Store2007
![Page 23: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/23.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
Primer dispositivo Android2008
![Page 24: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/24.jpg)
Quién es Pablo Godel? Aplicaciones Móviles - Historia
iPad2010
![Page 25: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/25.jpg)
¿Qué significa todo esto?
Quién es Pablo Godel? Aplicaciones Móviles - Historia
![Page 26: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/26.jpg)
La PC no está muerta
Generación móvil
Quién es Pablo Godel? Aplicaciones Móviles - Historia
![Page 27: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/27.jpg)
Pero el consumo de información pasó a teléfonos y tabletas
Generación móvil
Quién es Pablo Godel? Aplicaciones Móviles - Historia
![Page 28: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/28.jpg)
Generación móvilY esto es sólo el comienzo...
Quién es Pablo Godel? Aplicaciones Móviles - Historia
![Page 29: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/29.jpg)
1.Aplicaciones nativas2.Aplicaciones SMS3.Aplicaciones web4.Aplicaciones híbridas )mezcla de nativas & web(
Quién es Pablo Godel? Aplicaciones Móviles - Tipos
![Page 30: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/30.jpg)
Aplicaciones Nativas
Quién es Pablo Godel? Aplicaciones Móviles - Tipos
![Page 31: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/31.jpg)
• iPhone - Objective-C
•Android - Java
•Windows Mobile - .NET
•Frameworks multi-plataform
⁃ PhoneGap http://phonegap.com
⁃ rhomobile http://rhomobile.com
⁃ Appceledator http://appcelerator.com
⁃ Corona http://anscamobile.com/corona/
Quién es Pablo Godel? Aplicaciones Móviles Aplicacionesnativas
![Page 32: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/32.jpg)
PHP y Symfony?No... Symfony no corre en el teléfono, todavía!
Quién es Pablo Godel? Aplicaciones Móviles Aplicacionesnativas
![Page 33: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/33.jpg)
pero las aplicaciones nativas
comúnmente necesitan conectarse a un
servidor.
Usos comunes:
•envío de mensajes•carga de datos de una DB•autenticación/autorización•chats
Quién es Pablo Godel? Aplicaciones Móviles Aplicacionesnativas
![Page 34: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/34.jpg)
Consideraciones:
•Diseñar API )RESTful, HTTP, XML-RPC(
temprano en el ciclo de desarrollo
•Una API se puede utilizar para otro tipo de
clientes )ej. Desktop como Adobe AIR(
•Reutilizar controladores y aprovechar el _format para generar distintos formatos de
contenido )XML, json, etc(
Quién es Pablo Godel? Aplicaciones Móviles Aplicacionesnativas
![Page 35: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/35.jpg)
Bundles para crear una API
- ViewBundle - EverzetRestfulControllersBundle
Ambos se convirtieron en
- RestBundlehttps://github.com/FriendsOfSymfony/RestBundle
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesNativas
![Page 36: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/36.jpg)
Notificaciones PUSH
Un servidor envía mensajes a la red celular
con destino teléfono/aplicación- El servidor puede estar desarrollado con
SymfonyEjemplo en PHP: http://easyapns.com/
Quién es Pablo Godel? Aplicaciones Móviles Aplicacionesnativas
![Page 37: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/37.jpg)
Aplicaciones SMS
Quién es Pablo Godel? Aplicaciones Móviles
![Page 38: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/38.jpg)
Symfony puede recibir y enviar mensajes de
texto a través de un gateway
Usos comunes:
- Envío de Alertas- Chats- Pagos electrónicos- Avisos publicitarios
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 39: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/39.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 40: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/40.jpg)
Recibo de SMS1.El usuario envía un mensaje de texto a un "short code" )ej. 12334(
2.El mensaje se rutea a través del proveedor de telefonía3.El mensaje llega al gateway registrado para procesar el short code4.El gateway convierte el mensaje y lo envía por internet utilizando
HTTP/HTTPS5.Nuestro servidor recibe el "request" con la siguiente información:
⁃ número de télefono
⁃ operador / carrier
⁃ contenido del mensaje6.Procesamos el mensaje7.Si es necesario enviamos una respuesta
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 41: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/41.jpg)
Envío de SMS
1.Generamos el contenido del mensaje2.Se envía el mensaje al gateway con la siguiente información
⁃ número de teléfono
⁃ operador / carrier )opcional(
⁃ contenido del mensaje3.El gateway recibe el mensaje y responde si puede aceptarlo4.Una vez que el mensaje es enviado, es posible recibir un acuse de
recibo. Este aviso puede ser un “request” aparte.
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 42: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/42.jpg)
Consideraciones útiles:• Short codes son adminstrados por CSCA )Common Short Code
Assoc(
• Short codes: compartidos y dedicados
⁃ compartido: el mensaje debe incluir un "keyword" para definir
como procesarlo
• Short codes: números aleatorios o "elegidos / de vanidad"
• Costo: entre $500 y $1000 por mes
• Costo por mensaje recibido y enviado
• Reglas definidas de comportamiento )código de conducta de MMA(
• Comandos standard: join, stop, stop all
• Aplicaciones son llamadas campañas y deben ser aprobadas antes
de ser lanzadas
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 43: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/43.jpg)
Consideraciones técnicas:
•Protocolos/Formatos: XML, SOAP, XML-RPC
•Un mensaje recibido no puede ser recibido
nuevamente, en consecuencia es importante
guardar copia antes de ser procesado
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 44: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/44.jpg)
Proveedores de SMS gateway:
•Twiliohttp://twilio.com
•Clickatellhttp://www.clickatell.com
•SMSpublihttp://www.smspubli.com
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS
![Page 45: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/45.jpg)
MMS son mensajes multimedia con texto, imágenes, video y audioUsos comunes:
- Procesamiento de fotos- Envío de código de barras 2D
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesSMS/MMS
![Page 46: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/46.jpg)
Aplicaciones Web
Quién es Pablo Godel? Aplicaciones Móviles
![Page 47: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/47.jpg)
Frameworks HTML / Javascript
• iui http://code.google.com/p/iui/ )uno de los primeros(
• JQuery Mobile http://jquerymobile.com/ )Open source(
• JQTouch http://jqtouch.com/ )Open source(
• DHTMLX Touch http://dhtmlx.com/touch/ )Open source(
• The M Project http://www.the-m-project.org/ )Open source(
• Sensa Touch http://www.sencha.com/products/touch/
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 48: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/48.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile
![Page 49: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/49.jpg)
Soporta:- IOS )iPhone/iPad(- Android- Blackberry- Windows Phone- palm webOS- symbian
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile
![Page 50: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/50.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile
![Page 51: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/51.jpg)
•Basado en jQuery•Liviano )12KB comprimido(•HTML5 •Accesible )funciona con lectores de
páginas(•Eventos, plugins y themes•Patrocinado por Mozilla, Adobe, Palm,
Nokia, Blackberry entre otros.
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile - Características
![Page 52: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/52.jpg)
•Manejo de páginas•Transiciones•Ventanas de dialogo•Enlances y botones•Barras de navegación•Encabezados / Pies de páginas•Formularios•Listas
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile - Características
![Page 53: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/53.jpg)
jQuery Mobile - Manejo de páginas
<body>
<!-- Start of first page --><div data-role="page" id="foo">
! <div data-role="content">!! ! <p>I'm first in the source order so I'm shown as the page. </p>!!! ! <p>View internal page called <a href="#bar">bar</a></p>!! </div><!-- /content -->
</div><!-- /page -->
</body>
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 54: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/54.jpg)
jQuery Mobile - Manejo de páginas
<body>
<!-- Start of first page --><div data-role="page" id="foo">
! <div data-role="content">!! ! <p>I'm first in the source order so I'm shown as the page.</p>!!! ! <p>View internal page called <a href="#bar">bar</a></p>!! </div><!-- /content -->
</div><!-- /page -->
<!-- Start of second page --><div data-role="page" id="bar">
! <div data-role="content">!! ! <p>I'm first in the source order so I'm shown as the page.</p>!!! ! <p><a href="#foo">Back to foo</a></p>!! </div><!-- /content -->
</div><!-- /page --></body>
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 55: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/55.jpg)
jQuery Mobile - Transiciones
<a href="foo.html" data-rel="dialog" data-transition="pop">Open dialog</a>
<a href="foo.html" data-rel="dialog" data-transition="slidedown">Open dialog</a>
<a href="foo.html" data-rel="dialog" data-transition="flip">Open dialog</a>
<a href="foo.html" data-rel="dialog" data-transition="fade">Open dialog</a>
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 56: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/56.jpg)
jQuery Mobile - Ventanas de dialogo
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 57: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/57.jpg)
jQuery Mobile - Barras de navegacion
<div data-role="header" data-position="inline">! <a href="index.html" data-icon="delete">Cancel</a>! <h1>Edit Contact</h1>! <a href="index.html" data-icon="check">Save</a></div>
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 58: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/58.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile - Forms
![Page 59: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/59.jpg)
jQuery Mobile - Forms
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 60: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/60.jpg)
jQuery Mobile - Listas
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 61: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/61.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile y Symfony
![Page 62: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/62.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 63: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/63.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 64: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/64.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
Plantillas
![Page 65: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/65.jpg)
<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>{% block title %}Jornadas de Symfony{% endblock %} | Desymfony.com</title> <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.css" /> <script src="http://code.jquery.com/jquery-1.6.1.min.js"></script> <script src="http://code.jquery.com/mobile/1.0b1/jquery.mobile-1.0b1.min.js"></script></head><body><div data-role="page" id="{% block pageid '' %}" class="type-{% block pagetype 'interior' %}">{% block header %}{% endblock %}{% block contenido %}{% endblock %}{% block footer %}<div data-role="footer" class="ui-bar" data-theme="b"> <a href="{{ path('m_estatica', { 'pagina': 'copyright'}) }}">© {{ 'now' | date('Y') }} - desymfony</a> <a href="{{ path('m_estatica', { 'pagina': 'privacidad'}) }}"> Privacidad</a> <a href="{{ path('m_estatica', { 'pagina': 'condiciones'}) }}"> Condiciones de uso</a></div>{% endblock %}</div></body></html>
layout_movil.html.twig
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 66: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/66.jpg)
{% extends "DesymfonyBundle::layout_movil.html.twig" %}
{% block pageid 'ponencia' %}{% block pagetype 'interior' %}{% block header %} {% include 'DesymfonyBundle:Movil:header.mhtml.twig' with {'titulo': ponencia.titulo} %}{% endblock %}{% block contenido %}<div data-role="content"> <div class="content-primary"> <h2>{{ ponencia.titulo }}</h2> <p>{{ ponencia.descripcion }}</p> <ul data-role="listview" data-inset="true"> <li><strong>Fecha</strong><p class="ui-li-aside">{{ ponencia.fecha | date("d M") }}</p></li> <li><strong>Hora</strong><p class="ui-li-aside">{{ ponencia.hora | date("H:i") }} - {{ ponencia.horaFinalizacion | date("H:i") }}</p></li> <li><strong>Idioma</strong><p class="ui-li-aside">{{ idiomas[ponencia.idioma] }}</p></li> <li><a href="{{ path('m_ponentes') }}"><strong>Ponente</strong><p class="ui-li-aside">{{ ponencia.ponente }}</p></a></li> </ul> </div></div>{% endblock %}
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
ponencia.mhtml.twig
![Page 67: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/67.jpg)
<div data-role="header" data-theme="b"> <h1>{{titulo}}</h1> <a href="#home" data-icon="home" data-iconpos="notext" data-direction="reverse" class="ui-btn-right jqm-home" data-ajax="false">Home</a></div><!-- /header -->
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
header.mhtml.twig
![Page 68: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/68.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
Rutas
![Page 69: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/69.jpg)
portada: pattern: / defaults: { _controller: DesymfonyBundle:Default:index }ponencias: pattern: /ponencias.{_format} defaults: { _controller: DesymfonyBundle:Ponencia:index, _format: html } requirements: _format: html|xml|icsponencia: pattern: /ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia }estatica: pattern: /sitio/{pagina} defaults: { _controller: DesymfonyBundle:Default:estatica } requirements: pagina: contacto|copyright|condiciones|privacidad
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile y Symfony / Rutas
![Page 70: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/70.jpg)
jQuery Mobile y Symfony / Rutas
m_portada: pattern: /m defaults: { _controller: DesymfonyBundle:Default:index, _format: mhtml }m_ponencias: pattern: /m/ponencias.{_format} defaults: { _controller: DesymfonyBundle:Ponencia:index, _format: mhtml } requirements: _format: mhtml|html|xml|icsm_ponencia: pattern: /m/ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia, _format: mhtml }m_ponentes: pattern: /m/ponentes defaults: { _controller: DesymfonyBundle:Ponente:index, _format: mhtml }
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 71: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/71.jpg)
m_portada: pattern: /m defaults: { _controller: DesymfonyBundle:Default:index, movil: true }m_ponencias: pattern: /m/ponencias.{_format} defaults: { _controller: DesymfonyBundle:Ponencia:index, movil: true } requirements: _format: html|xml|icsm_ponencia: pattern: /m/ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia, movil: true }m_ponentes: pattern: /m/ponentes defaults: { _controller: DesymfonyBundle:Ponente:index, movil: true }
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
jQuery Mobile y Symfony / Rutas opción 2
![Page 72: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/72.jpg)
jQuery Mobile y Symfony / Rutas opción 3
m_portada: pattern: /m defaults: { _controller: DesymfonyBundle:Movil:index }
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 73: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/73.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
Controladores y acciones
![Page 74: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/74.jpg)
jQuery Mobile y Symfony / Controlador & Acción
public function indexAction() { $em = $this->get('doctrine')->getEntityManager(); $ponenciasDiaUno = $em->getRepository('DesymfonyBundle:Ponencia')->findTodasDeFecha('2011-07-01'); $ponenciasDiaDos = $em->getRepository('DesymfonyBundle:Ponencia')->findTodasDeFecha('2011-07-02');
$format = $this->get('request')->getRequestFormat();
return $this->render('DesymfonyBundle:Default:index.'.$format.'.twig', array( 'ponenciasDiaUno' => $ponenciasDiaUno, 'ponenciasDiaDos' => $ponenciasDiaDos, )); }
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
![Page 75: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/75.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
Testing
![Page 76: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/76.jpg)
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
•Podemos utilizar los functional tests de Symfony2 ya que el contenido es HTML
•Si utilizamos el modo AJAX para transiciones y carga dinámica, no podemos usar los functional tests
•Alternativas: Selenium RC
![Page 77: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/77.jpg)
jQuery Mobile y Symfony
DEMO !
Quién es Pablo Godel? Aplicaciones Móviles AplicacionesWeb
Aplicación desymfony:•http://desymfony.qa.servergrove.com•http://desymfony.qa.servergrove.com/m
Panel de Control:•https://control.servergrove.com/•https://control.servergrove.com/m
login: [email protected]: Demo2010
![Page 78: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/78.jpg)
Aplicaciones Híbridas
Quién es Pablo Godel? Aplicaciones Móviles
![Page 79: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/79.jpg)
Aplicaciones que combinan aspectos de aplicaciones nativas y web
Framework PhoneGap
- Desarrollo de aplicación con HTML y JavaScript- Integración con XCode- Compila en código nativo- Acceso a acelerómetro, cámara, geolocation, notificaciones
Quién es Pablo Godel? Aplicaciones Móviles Aplicacioneshíbridas
![Page 80: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/80.jpg)
PhoneGap
DEMO !
Quién es Pablo Godel? Aplicaciones Móviles Aplicacioneshíbridas
![Page 81: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/81.jpg)
¿Preguntas?
Quién es Pablo Godel? Aplicaciones Móviles
![Page 82: Creacion de aplicaciones moviles con symfony2](https://reader034.vdocuments.site/reader034/viewer/2022051412/54820898b4af9f910d8b4692/html5/thumbnails/82.jpg)
MUCHAS GRACIAS!
Fuentes: https://github.com/pgodel/desymfony/tree/movilhttps://github.com/desymfony/desymfony
Slides: http://slideshare.net/pgodelTwitter: @pgodel
IRC Freenode: pgodel
Quién es Pablo Godel? Aplicaciones Móviles