If you can't read please download the document
Upload
daniel-jimenez
View
3.441
Download
4
Embed Size (px)
DESCRIPTION
Ponencia del 18 de febrero de 2011 en el Spring I/O de Madrid sobre estas dos extensiones de Spring y de cómo nos facilitan las cosas a la hora de desarrollar para móviles.
Citation preview
2. ndice
3. Server-side vs Client-side detection 4. Spring Mobile 5. Spring Android 6. Renovarse o morir 7. Necesidad de adaptarse
8. En 2011 se van a vender ms mviles que ordenadores 9. En 2013 el 40% del trfico ser desde el mvil 10. Por qu una versin mvil?
11. Puntero vs dedo 12. Lmites de conexin 13.
14. Server-side
15. No perdemos el control 16. Redirecciones de dominios 17. Gestin de preferencias 18. Spring Mobile 19. Spring Mobile
20. Gestin de preferencias de usuario 21. Site switcher 22. Deteccin de dispositivo request currentDevice 23. DeviceResolver
24. DeviceUtils 25. Parmetro 26. DeviceResolver
27. DeviceUtils 28. Parmetro< interceptors > < beans:bean class = "org.springframework.mobile.device. DeviceResolverHandlerInterceptor" /> interceptors > 29. DeviceResolver (II) @RequestMapping ( "/" ) publicString home() { Devicedevice = (Device) request.getAttribute( "currentDevice" ); if( device.isMobile ()) { return "home-mobile" ; }else{ return "home" ; } }
30. DeviceResolver (III) @RequestMapping ( "/" ) publicString home( HttpServletRequest request ) { Devicedevice =DeviceUtils.getCurrentDevice(request ) ; if( device.isMobile ()) { return "home-mobile" ; }else{ return "home" ; } }
31. DeviceResolver (IV) @RequestMapping ( "/" ) publicString home(Devicedevice ) { if( device.isMobile ()) { return "home-mobile" ; }else{ return "home" ; } }
< annotation-driven > < argument-resolvers > < beans:bean class = "org.springframework.mobile.device. DeviceWebArgumentResolver" /> argument-resolvers > annotation-driven > 32. DeviceResolver (V)
33. WurflDeviceResolver 34. LiteDeviceResolver Slo detecta si el dispositivo es mvil @RequestMapping ( "/" ) publicString home(Device device) { if( device.isMobile ()) { return "home-mobile" ; }else{ return "home" ; } } 35. LiteDeviceResolver (II) < interceptors > < beans:bean class = "org.springframework.mobile.device. DeviceResolverHandlerInterceptor"/> interceptors >
36. WurflDeviceResolver WURFL (Wireless Universal Resouce FiLe) Xml que contiene caractersticas de gran nmero de dispositivos mviles http://wurfl.sourceforge.net/ 37. WurflDeviceResolver (II)
38. brand_name 39. resolution_height
41. device_os 42. deviceo_os_version 43. ..... 44. WurflDeviceResolver (III) < interceptors > < beans:bean class = "org.springframework.mobile.device.DeviceResolverHandlerInterceptor" > < beans:constructor-arg > < device:wurfl-device-resolver root-location = "/WEB-INF/wurfl/wurfl-2.0.28.zip" patch-locations = "/WEB-INF/wurfl/web_browsers_patch.xml" /> beans:constructor-arg > beans:bean > interceptors > 45. PreferenceSiteHandler
46. Versin normal o mvil 47. Basado en cookies (default) 48. PreferenceSiteHandler
49. SitePreferenceUtils 50. Parmetro 51. < a nnotation-driven > < argument-resolvers > < beans:bean class = "org.springframework.mobile.device.site. SitePreferenceWebArgumentResolver"/> argument-resolvers > annotation-driven > < interceptors > < beans:bean class = "org.springframework.mobile.device.site. SitePreferenceHandlerInterceptor" /> interceptors > PreferenceSiteHandler 52. Site Switcher Cambia de dominio en funcin de dispositivo o preferencias de usuario
53. dotMobi 54. Site Switcher < interceptors > < beans:bean class = "org.springframework.mobile.device.switcher. SiteSwitcherHandlerInterceptor" factory-method = "mDot" > < beans:constructor-arg value = "testdomain.com" /> beans:bean > interceptors > 55. Simular dispositivos
56. http://chrispederick.com/work/user-agent-switcher/ 57. Lista de User Agents 58. http://techpatterns.com/forums/about304.html 59. Spring Mobile en el mundo real
60. Avisos de aplicaciones nativas 61. Adaptacin a las distintas resoluciones 62. Estadsticas 63. Spring Mobile en el mundo real
64. Avisos de aplicaciones nativas 65. Adaptacin a las distintas resoluciones 66. Estadsticas 67. Y por supuesto... la versin mvil 68. Spring Android 69. Spring Android Rest Template
Object to XML Marshaling
RSS and Atom Support
70. RestTemplate (getForObject) // Initiate the request and return the results String url ="http://mypretendservice.com/events" ; RestTemplate restTemplate =newRestTemplate(); Event[] events = restTemplate.getForObject(url, Event[]. class ); 71. RestTemplate (postForObject) Message message =newMessage(); message.setId(555); message.setSubject( "test subject" ); message.setText( "test text" ); String url ="http://mypretendservice.com/sendmessage" ; RestTemplate restTemplate =newRestTemplate(); String response = restTemplate.postForObject(url, message,String. class ); 72. Antes de terminar... 73. we're hiring!
74. java juniors (muchas ganas) 75. maquetadores web http://www.idealista.com/pagina/empleo [email_address](subject: spring io) 76. gracias ;)
77. Spring Androidhttp://www.springsource.org/spring-android 78. WURFLhttp://wurfl.sourceforge.net/ 79. User Agent Switcherhttp://bit.ly/RuT7 80. Lista de User Agentshttp://bit.ly/2iCzcN