Prosciutto en Desayuno Mobile Palermo Valley

861 views

Published on

Presentación de Prosciutto en el Desayuno de Palermo Valley: Mobile Sessions

En esta charla se presentara el proyecto Prosciutto, un framework open source, que ha sido utilizado para desarrollar una aplicación de mobile ticketing que recientemente a ganar el 2nd runner prize del Nokia Innovators Calling en el Mobile World Congress de Barcelona de este año.

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

  • Be the first to like this

No Downloads
Views
Total views
861
On SlideShare
0
From Embeds
0
Number of Embeds
53
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Prosciutto en Desayuno Mobile Palermo Valley

  1. 1. The Prosciutto Project an open source mobile application engine
  2. 2. ¿Qué problemas existen hoy? <ul><li>Device fragmentation </li></ul><ul><ul><li>Hardware (pantalla, memoria, input) </li></ul></ul><ul><ul><li>Software (APIs, diferencias de implementación) </li></ul></ul><ul><ul><li>Configuración de device (preferencias) </li></ul></ul><ul><ul><li>Configuración de red (carriers) </li></ul></ul><ul><li>Más de 20 vendors diferentes </li></ul><ul><li>Más de 5000 modelos diferentes identificados </li></ul><ul><li>Más de 11.000 variaciones de firmware *Fuente: WURFL (Wireless Universal Resource File, 22 Abril 2009) </li></ul>
  3. 3. ¿Qué problemas existen hoy? <ul><li>Write once, run everywhere? </li></ul><ul><li>No: Write once, debug everywhere! </li></ul><ul><li>Redistribución. Los costos de “sembrar” la aplicación se vuelven a pagar con cada nuevo release (publicidad, dar a conocer, distribución). </li></ul><ul><li>Costos de Testing y Porting </li></ul>
  4. 4. Motivaciones y visión <ul><li>El espíritu: </li></ul><ul><ul><li>Suficientemente configurable para construir cualquier aplicación </li></ul></ul><ul><ul><li>Separar la lógica de negocios del código java </li></ul></ul><ul><ul><li>Modelar la lógica por fuera </li></ul></ul><ul><ul><li>Implementar en una configuración simple </li></ul></ul><ul><ul><li>Que analistas/modeladores de procesos puedan construir la aplicación, sin necesidad de conocimientos específicos </li></ul></ul><ul><li>Llevar la tecnología a la gente, en todo sentido (engine que corra en terminales baratos, posibilitar sumar mayor valor agregado, permitir que una persona sin skills de programación pueda eventualmente realizar algo) </li></ul>
  5. 5. Motivaciones y visión <ul><li>Separar la lógica de negocios del código java </li></ul>
  6. 6. Motivaciones y visión <ul><li>Separar la lógica de negocios del código java </li></ul>
  7. 7. ¿Qué es Prosciutto? <ul><li>The Prosciutto Project es un motor implementado en Java ME. </li></ul><ul><li>Se lo puede pensar como un framework RAD, o un motor distribuíble que apunta a acotar el problema de la fragmentación de terminales. </li></ul><ul><li>Se basa en utilizar un lenguaje de markup muy básico e intuitivo para definir objetos de UI y comportamiento. </li></ul><ul><li>Las aplicaciones Prosciutto corren sobre el motor Prosciutto </li></ul><ul><li>Cualquier aplicación cuyo sentido sea el de navegar datos (online u offline) y representarlos en pantalla es construíble en Prosciutto. </li></ul>
  8. 8. ¿Por qué un motor? <ul><li>… y no una aplicación WAP? </li></ul><ul><ul><li>Acceso a APIs y nuevas funcionalidades </li></ul></ul><ul><ul><li>Seguridad </li></ul></ul><ul><ul><li>Libertad </li></ul></ul>
  9. 9. ¿Por qué un motor? <ul><li>… y no una aplicación vertical ? </li></ul><ul><li>Rapidez de desarrollo y prototipado vs. eficiencia en la resolución de un problema vertical </li></ul><ul><li>Falsa dicotomía </li></ul><ul><ul><li>Prosciutto resuelve los problemas comunes a todos </li></ul></ul><ul><ul><li>Las aplicaciones verticales proveen una solución concreta a un problema específico, bien definido </li></ul></ul><ul><ul><li>Prosciutto provee un piso donde la generación de aplicaciones es una actividad que permite abstraerse de los problemas de la plataforma subyacente </li></ul></ul><ul><ul><li>Permite enfocarse en el problema vertical a resolver (aplicación) de una manera eficiente y rápida </li></ul></ul>
  10. 10. ¿Por qué Java? <ul><li>Más del 90% de los terminales fabricados actualmente tienen alguna versión de JVM. </li></ul><ul><li>Existen más desarrolladores con skills en Java que en cualquier otra plataforma móvil </li></ul><ul><ul><li>Symbian </li></ul></ul><ul><ul><li>iPhone </li></ul></ul><ul><ul><li>.NET CF (Windows Mobile) </li></ul></ul><ul><li>(por algo Google creó su propio lenguaje Java como plataforma de desarrollo base para Android) </li></ul>
  11. 11. ¿Por qué open source? <ul><li>Fomentar la idea de compartir </li></ul><ul><li>Los problemas que Prosciutto resuelve son comunes a todos </li></ul><ul><ul><ul><li>Device fragmentation </li></ul></ul></ul><ul><ul><ul><li>Recursos limitados </li></ul></ul></ul><ul><ul><ul><li>Malabares de código para soportar cuestiones específicas de diferentes modelos y/o fabricantes </li></ul></ul></ul><ul><li>Por lo tanto, las soluciones a los mismos no deberían ser un activo de una compañía, sino de la industria </li></ul><ul><li>Si resolvemos los problemas de todos entre todos, más rápido podremos enfocarnos en agregar valor </li></ul><ul><li>El valor agregado es esencialmente el diferenciador </li></ul><ul><li>El V.A. proviene de las aplicaciones verticales, y no de solucionar los problemas de siempre una y otra vez (concepto DRY) </li></ul>
  12. 12. ¿Qué se resuelve? <ul><li>Device fragmentation? Si! </li></ul><ul><li>Write once, run everywhere? Si! </li></ul><ul><li>Redistribución. Si! Los costos de “sembrar” la aplicación se pagan sólo una vez. </li></ul><ul><li>Minimizar costos de Testing y Porting </li></ul><ul><li>Por ende, un menor costo de desarrollo y un mejor time-to-market </li></ul>
  13. 13. Markup <ul><li>Prosciutto se basa en una idea simple: definir tanto el layout y apariencia como el comportamiento en un único modelo de XML </li></ul><ul><li>HelloWorld: </li></ul>
  14. 14. Ejemplo: Hello World
  15. 15. Ejemplo: Login
  16. 16. Modelos testeados
  17. 17. Iniciativas similares <ul><li>J2ME Polish (www.j2mepolish.org) </li></ul><ul><li>LWUIT Lightweight User Interface Toolkit ( https://lwuit.dev.java.net/ ) </li></ul><ul><li>Hecl ( http://www.hecl.org ) </li></ul><ul><li>http://phonegap.com/ </li></ul><ul><li>MUPE ( http://www.mupe.net/ ) Multi-User Publishing Environment </li></ul><ul><li>http://mobile.processing.org/ </li></ul>
  18. 18. Futuro <ul><li>Integración completa de Hecl (Q2 2009) </li></ul><ul><li>Android (Q3-Q4 2009) </li></ul><ul><li>Integración con LWUIT (Q4 2009 – Q1 2010) </li></ul><ul><li>Editor WYSIWYG (2010) </li></ul>
  19. 19. Caso de éxito: Ticketek Calling All Innovators Contest Regional Winner/Global Finalist
  20. 20. The application TIM (TELECOM PERSONAL) 11,9 MM users (4Q08) TICKETEK ARGENTINA Largest Ticket Broker in Argentina www.ticketek.com.ar
  21. 21. Functionality I
  22. 22. Functionality II
  23. 23. Functionality III
  24. 24. Access validation
  25. 25. Architecture
  26. 27. ¡Gracias! <ul><li>[email_address] </li></ul><ul><li>http://www.prosciuttoproject.org </li></ul>

×