Quién es Pablo Godel?"• Argentino, viviendo en Miami, EE.UU. desde 1999• Programador PHP, Symfony, entre otros• Fundador d...
Aplicaciones Móviles -Quién es Pablo Godel? Por qué?             ¿Por qué?
Aplicaciones Móviles -Quién es Pablo Godel? Por qué? • Cada vez más personas tienen acceso a  Internet en el télefono móvi...
Aplicaciones Móviles -Quién es Pablo Godel? Por qué? • No se pueden dar ventajas en el mercado  ultra-competitivo • Tus co...
Aplicaciones Móviles -Quién es Pablo Godel? Por qué?       Algunos números...
Aplicaciones Móviles -Quién es Pablo Godel? Por qué?• 5.300 millones de usuarios a nivel mundial• 370 millones de teléfono...
Aplicaciones Móviles - Quién es Pablo Godel? Por qué?    Teléfonos celulares         por PaisesFuente:http://www.nationmas...
Aplicaciones Móviles -Quién es Pablo Godel? Por qué?¿Cómo llegamos hasta aquí?
Aplicaciones Móviles -Quién es Pablo Godel? Por qué?     Un poco de historia...
Aplicaciones Móviles -Quién es Pablo Godel? Historia1979   Primera red celular )1G - primera generación(          comercia...
Aplicaciones Móviles -Quién es Pablo Godel? Historia1983   Motorola DynaTAC    El teléfono “móvil”   Motorola DynaTAC - ta...
Aplicaciones Móviles -Quién es Pablo Godel? Historia1997   WAP - Wireless Application Protocol   Estandard común para cone...
Aplicaciones Móviles -Quién es Pablo Godel? Historia               WAP/WML
Aplicaciones Móviles -Quién es Pablo Godel? Historia               WAP/WML
Aplicaciones Móviles -Quién es Pablo Godel? Historia               WAP/WML
Aplicaciones Móviles -Quién es Pablo Godel? Historia               WAP/WML        Programador: “Renuncio!”
Aplicaciones Móviles -Quién es Pablo Godel? Historia                WAP/WML         Usuario: “Esto no sirve!”
Aplicaciones Móviles -Quién es Pablo Godel? Historia               2007...
Aplicaciones Móviles -Quién es Pablo Godel? Historia2007   iPhone• Revolución en el mercado de telefonía móvil• Cliente We...
Aplicaciones Móviles -Quién es Pablo Godel? Historia2007   iPhone App Store
Aplicaciones Móviles -Quién es Pablo Godel? Historia2008   Primer dispositivo Android
Aplicaciones Móviles -Quién es Pablo Godel? Historia2010   iPad
Aplicaciones Móviles -Quién es Pablo Godel? Historia   ¿Qué significa todo esto?
Aplicaciones Móviles -Quién es Pablo Godel? Historia        Generación móvil            La PC no está muerta
Aplicaciones Móviles -Quién es Pablo Godel? Historia        Generación móvil     Pero el consumo de información pasó a    ...
Aplicaciones Móviles -Quién es Pablo Godel? Historia        Generación móvil         Y esto es sólo el comienzo...
Aplicaciones Móviles -Quién es Pablo Godel? Tipos1.Aplicaciones nativas2.Aplicaciones SMS3.Aplicaciones web4.Aplicaciones ...
Aplicaciones Móviles -Quién es Pablo Godel? Tipos         Aplicaciones Nativas
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?              nativas   • iPhone - Objective-C   • Android - Java   •...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           nativas                   PHP y Symfony?    No... Symfony ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?          nativas      pero las aplicaciones nativas      comúnmente ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           nativas    Consideraciones:   • Diseñar API )RESTful, HTTP...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                      Nativas    Bundles para crear una API     - Vie...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           nativas    Notificaciones PUSH    Un servidor envía mensaje...
Aplicaciones MóvilesQuién es Pablo Godel?           Aplicaciones SMS
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?            SMS    Symfony puede recibir y enviar mensajes de    text...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       SMS
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                           SMS     Recibo de SMS   1.El usuario envía...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                          SMS     Envío de SMS   1.Generamos el conte...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                           SMS     Consideraciones útiles:   • Short ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?            SMS    Consideraciones técnicas:   • Protocolos/Formatos:...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           SMS    Proveedores de SMS gateway:   • Twilio    http://tw...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           SMS/MMS    MMS son mensajes multimedia con texto,    imáge...
Aplicaciones MóvilesQuién es Pablo Godel?           Aplicaciones Web
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                         Web     Frameworks HTML / Javascript   • iui...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web                jQuery Mobile
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?          Web                   jQuery Mobile     Soporta:     - IOS ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web                jQuery Mobile
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?            Web           jQuery Mobile - Características     • Basad...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?          Web         jQuery Mobile - Características        • Manejo...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                   Web            jQuery Mobile - Manejo de páginas<b...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                             Web             jQuery Mobile - Manejo d...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                            Web                jQuery Mobile - Transi...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           Web       jQuery Mobile - Ventanas de dialogo
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                      Web      jQuery Mobile - Barras de navegacion  ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?        Web            jQuery Mobile - Forms
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?        Web            jQuery Mobile - Forms
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?         Web            jQuery Mobile - Listas
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web       jQuery Mobile y Symfony
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web              Plantillas
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                                                   Web<!DOCTYPE html>...
Aplicaciones Aplicaciones Móviles Quién es Pablo Godel?                                      Web{% extends "DesymfonyBundl...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                    Web                                            he...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web                 Rutas
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                            Web              jQuery Mobile y Symfony ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                            Web               jQuery Mobile y Symfony...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                              Web         jQuery Mobile y Symfony / R...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                         Web      jQuery Mobile y Symfony / Rutas opc...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web      Controladores y acciones
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?                               Web       jQuery Mobile y Symfony / Co...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?       Web                Testing
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           Web        • Podemos utilizar los functional          test...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           Web             jQuery Mobile y Symfony                   ...
Aplicaciones MóvilesQuién es Pablo Godel?         Aplicaciones Híbridas
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?           híbridas      Aplicaciones que combinan aspectos de       ...
AplicacionesAplicaciones MóvilesQuién es Pablo Godel?     híbridas                PhoneGap                DEMO !
Aplicaciones MóvilesQuién es Pablo Godel?              ¿Preguntas?
Aplicaciones MóvilesQuién es Pablo Godel?              MUCHAS GRACIAS!Fuentes: https://github.com/pgodel/desymfony/tree/mo...
Creacion de aplicaciones moviles con symfony2
Creacion de aplicaciones moviles con symfony2
Upcoming SlideShare
Loading in...5
×

Creacion de aplicaciones moviles con symfony2

12,183

Published on

Published in: Technology
0 Comments
5 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
12,183
On Slideshare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
304
Comments
0
Likes
5
Embeds 0
No embeds

No notes for slide

Creacion de aplicaciones moviles con symfony2

  1. 1. Quién es Pablo Godel?"• 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.
  2. 2. Aplicaciones Móviles -Quién es Pablo Godel? Por qué? ¿Por qué?
  3. 3. Aplicaciones Móviles -Quién es Pablo Godel? Por qué? • 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
  4. 4. Aplicaciones Móviles -Quién es Pablo Godel? Por qué? • No se pueden dar ventajas en el mercado ultra-competitivo • Tus competidores ya lo están haciendo o implementando
  5. 5. Aplicaciones Móviles -Quién es Pablo Godel? Por qué? Algunos números...
  6. 6. Aplicaciones Móviles -Quién es Pablo Godel? 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
  7. 7. Aplicaciones Móviles - Quién es Pablo Godel? Por qué? Teléfonos celulares por PaisesFuente:http://www.nationmaster.com/graph/med_mob_pho-media-mobile-phones
  8. 8. Aplicaciones Móviles -Quién es Pablo Godel? Por qué?¿Cómo llegamos hasta aquí?
  9. 9. Aplicaciones Móviles -Quién es Pablo Godel? Por qué? Un poco de historia...
  10. 10. Aplicaciones Móviles -Quién es Pablo Godel? Historia1979 Primera red celular )1G - primera generación( comercial del mundo lanzada en Japón
  11. 11. Aplicaciones Móviles -Quién es Pablo Godel? Historia1983 Motorola DynaTAC El teléfono “móvil” Motorola DynaTAC - también conocido como LA BOTA - costaba US$ 3995 y pesaba 793 gramos!
  12. 12. Aplicaciones Móviles -Quién es Pablo Godel? Historia1997 WAP - Wireless Application Protocol Estandard común para conectar distintas redes y aplicaciones en dispositivos • Cliente WAP • Servidor envia WML )XML(<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML1.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 WMLpage.</p> </card></wml>
  13. 13. Aplicaciones Móviles -Quién es Pablo Godel? Historia WAP/WML
  14. 14. Aplicaciones Móviles -Quién es Pablo Godel? Historia WAP/WML
  15. 15. Aplicaciones Móviles -Quién es Pablo Godel? Historia WAP/WML
  16. 16. Aplicaciones Móviles -Quién es Pablo Godel? Historia WAP/WML Programador: “Renuncio!”
  17. 17. Aplicaciones Móviles -Quién es Pablo Godel? Historia WAP/WML Usuario: “Esto no sirve!”
  18. 18. Aplicaciones Móviles -Quién es Pablo Godel? Historia 2007...
  19. 19. Aplicaciones Móviles -Quién es Pablo Godel? Historia2007 iPhone• Revolución en el mercado de telefonía móvil• Cliente Web Safari
  20. 20. Aplicaciones Móviles -Quién es Pablo Godel? Historia2007 iPhone App Store
  21. 21. Aplicaciones Móviles -Quién es Pablo Godel? Historia2008 Primer dispositivo Android
  22. 22. Aplicaciones Móviles -Quién es Pablo Godel? Historia2010 iPad
  23. 23. Aplicaciones Móviles -Quién es Pablo Godel? Historia ¿Qué significa todo esto?
  24. 24. Aplicaciones Móviles -Quién es Pablo Godel? Historia Generación móvil La PC no está muerta
  25. 25. Aplicaciones Móviles -Quién es Pablo Godel? Historia Generación móvil Pero el consumo de información pasó a teléfonos y tabletas
  26. 26. Aplicaciones Móviles -Quién es Pablo Godel? Historia Generación móvil Y esto es sólo el comienzo...
  27. 27. Aplicaciones Móviles -Quién es Pablo Godel? Tipos1.Aplicaciones nativas2.Aplicaciones SMS3.Aplicaciones web4.Aplicaciones híbridas )mezcla de nativas & web(
  28. 28. Aplicaciones Móviles -Quién es Pablo Godel? Tipos Aplicaciones Nativas
  29. 29. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? nativas • 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/
  30. 30. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? nativas PHP y Symfony? No... Symfony no corre en el teléfono, todavía!
  31. 31. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? nativas 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
  32. 32. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? nativas 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(
  33. 33. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Nativas Bundles para crear una API - ViewBundle - EverzetRestfulControllersBundle Ambos se convirtieron en - RestBundle https://github.com/FriendsOfSymfony/RestBundle
  34. 34. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? nativas Notificaciones PUSH Un servidor envía mensajes a la red celular con destino teléfono/aplicación - El servidor puede estar desarrollado con Symfony Ejemplo en PHP: http://easyapns.com/
  35. 35. Aplicaciones MóvilesQuién es Pablo Godel? Aplicaciones SMS
  36. 36. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS 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
  37. 37. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS
  38. 38. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS Recibo de SMS 1.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ía 3.El mensaje llega al gateway registrado para procesar el short code 4.El gateway convierte el mensaje y lo envía por internet utilizando HTTP/HTTPS 5.Nuestro servidor recibe el "request" con la siguiente información: ⁃ número de télefono ⁃ operador / carrier ⁃ contenido del mensaje 6.Procesamos el mensaje 7.Si es necesario enviamos una respuesta
  39. 39. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS Envío de SMS 1.Generamos el contenido del mensaje 2.Se envía el mensaje al gateway con la siguiente información ⁃ número de teléfono ⁃ operador / carrier )opcional( ⁃ contenido del mensaje 3.El gateway recibe el mensaje y responde si puede aceptarlo 4.Una vez que el mensaje es enviado, es posible recibir un acuse de recibo. Este aviso puede ser un “request” aparte.
  40. 40. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS 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
  41. 41. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS 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
  42. 42. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS Proveedores de SMS gateway: • Twilio http://twilio.com • Clickatell http://www.clickatell.com • SMSpubli http://www.smspubli.com
  43. 43. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? SMS/MMS MMS son mensajes multimedia con texto, imágenes, video y audio Usos comunes: - Procesamiento de fotos - Envío de código de barras 2D
  44. 44. Aplicaciones MóvilesQuién es Pablo Godel? Aplicaciones Web
  45. 45. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web 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/
  46. 46. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile
  47. 47. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile Soporta: - IOS )iPhone/iPad( - Android - Blackberry - Windows Phone - palm webOS - symbian
  48. 48. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile
  49. 49. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Características • 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.
  50. 50. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Características • Manejo de páginas • Transiciones • Ventanas de dialogo • Enlances y botones • Barras de navegación • Encabezados / Pies de páginas • Formularios • Listas
  51. 51. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Manejo de páginas<body><!-- Start of first page --><div data-role="page" id="foo">! <div data-role="content">!! ! <p>Im first in the source order so Im shown as the page. </p>!!! ! <p>View internal page called <a href="#bar">bar</a></p>!! </div><!-- /content --></div><!-- /page --></body>
  52. 52. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Manejo de páginas <body> <!-- Start of first page --> <div data-role="page" id="foo"> ! <div data-role="content">! ! ! <p>Im first in the source order so Im 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>Im first in the source order so Im shown as the page.</p>! ! ! ! <p><a href="#foo">Back to foo</a></p>! ! </div><!-- /content --> </div><!-- /page --> </body>
  53. 53. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web 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>
  54. 54. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Ventanas de dialogo
  55. 55. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web 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>
  56. 56. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Forms
  57. 57. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Forms
  58. 58. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile - Listas
  59. 59. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile y Symfony
  60. 60. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web
  61. 61. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web
  62. 62. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web Plantillas
  63. 63. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web<!DOCTYPE html><html> layout_movil.html.twig<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}) }}">&copy; {{ 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>
  64. 64. Aplicaciones Aplicaciones Móviles Quién es Pablo Godel? Web{% extends "DesymfonyBundle::layout_movil.html.twig" %} ponencia.mhtml.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 %}
  65. 65. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web header.mhtml.twig<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 -->
  66. 66. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web Rutas
  67. 67. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile y Symfony / Rutas portada: pattern: / defaults: { _controller: DesymfonyBundle:Default:index } ponencias: pattern: /ponencias.{_format} defaults: { _controller: DesymfonyBundle:Ponencia:index, _format: html } requirements: _format: html|xml|ics ponencia: pattern: /ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia } estatica: pattern: /sitio/{pagina} defaults: { _controller: DesymfonyBundle:Default:estatica } requirements: pagina: contacto|copyright|condiciones|privacidad
  68. 68. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web 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|ics m_ponencia: pattern: /m/ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia, _format: mhtml } m_ponentes: pattern: /m/ponentes defaults: { _controller: DesymfonyBundle:Ponente:index, _format: mhtml }
  69. 69. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile y Symfony / Rutas opción 2 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|ics m_ponencia: pattern: /m/ponencia/{slug} defaults: { _controller: DesymfonyBundle:Ponencia:ponencia, movil: true } m_ponentes: pattern: /m/ponentes defaults: { _controller: DesymfonyBundle:Ponente:index, movil: true }
  70. 70. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile y Symfony / Rutas opción 3 m_portada: pattern: /m defaults: { _controller: DesymfonyBundle:Movil:index }
  71. 71. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web Controladores y acciones
  72. 72. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web 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, )); }
  73. 73. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web Testing
  74. 74. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web • 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
  75. 75. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? Web jQuery Mobile y Symfony DEMO ! 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: demo@servergrove.com password: Demo2010
  76. 76. Aplicaciones MóvilesQuién es Pablo Godel? Aplicaciones Híbridas
  77. 77. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? híbridas 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
  78. 78. AplicacionesAplicaciones MóvilesQuién es Pablo Godel? híbridas PhoneGap DEMO !
  79. 79. Aplicaciones MóvilesQuién es Pablo Godel? ¿Preguntas?
  80. 80. Aplicaciones MóvilesQuién es Pablo Godel? MUCHAS GRACIAS!Fuentes: https://github.com/pgodel/desymfony/tree/movil https://github.com/desymfony/desymfony Slides: http://slideshare.net/pgodel Twitter: @pgodel IRC Freenode: pgodel
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×