Top Banner
The Prosciutto Project an open source mobile application engine
27
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: Prosciutto Palermo Valley Mobile Sessions

The Prosciutto Project

an open source mobile application engine

Page 2: Prosciutto Palermo Valley Mobile Sessions

¿Qué problemas existen hoy?

• Device fragmentation– Hardware (pantalla, memoria, input)– Software (APIs, diferencias de implementación)– Configuración de device (preferencias)– Configuración de red (carriers)

• Más de 20 vendors diferentes• Más de 5000 modelos diferentes identificados• Más de 11.000 variaciones de firmware *Fuente: WURFL

(Wireless Universal Resource File, 22 Abril 2009)

Page 3: Prosciutto Palermo Valley Mobile Sessions

¿Qué problemas existen hoy?

• Write once, run everywhere?

• No: Write once, debug everywhere!

• Redistribución. Los costos de “sembrar” la aplicación se vuelven a pagar con cada nuevo release (publicidad, dar a conocer, distribución).

• Costos de Testing y Porting

Page 4: Prosciutto Palermo Valley Mobile Sessions

Motivaciones y visión

• El espíritu: – Suficientemente configurable para construir cualquier aplicación– Separar la lógica de negocios del código java– Modelar la lógica por fuera– Implementar en una configuración simple– Que analistas/modeladores de procesos puedan construir la

aplicación, sin necesidad de conocimientos específicos

• 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)

Page 5: Prosciutto Palermo Valley Mobile Sessions

Motivaciones y visión

• Separar la lógica de negocios del código java

Page 6: Prosciutto Palermo Valley Mobile Sessions

Motivaciones y visión

• Separar la lógica de negocios del código java

Page 7: Prosciutto Palermo Valley Mobile Sessions

¿Qué es Prosciutto?

• The Prosciutto Project es un motor implementado en Java ME.

• 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.

• Se basa en utilizar un lenguaje de markup muy básico e intuitivo para definir objetos de UI y comportamiento.

• Las aplicaciones Prosciutto corren sobre el motor Prosciutto

• Cualquier aplicación cuyo sentido sea el de navegar datos (online u offline) y representarlos en pantalla es construíble en Prosciutto.

Page 8: Prosciutto Palermo Valley Mobile Sessions

¿Por qué un motor?

• …y no una aplicación WAP?– Acceso a APIs y nuevas funcionalidades– Seguridad– Libertad

Page 9: Prosciutto Palermo Valley Mobile Sessions

¿Por qué un motor?

• …y no una aplicación vertical?• Rapidez de desarrollo y prototipado vs. eficiencia en la

resolución de un problema vertical• Falsa dicotomía

– Prosciutto resuelve los problemas comunes a todos– Las aplicaciones verticales proveen una solución concreta a un

problema específico, bien definido– Prosciutto provee un piso donde la generación de aplicaciones

es una actividad que permite abstraerse de los problemas de la plataforma subyacente

– Permite enfocarse en el problema vertical a resolver (aplicación) de una manera eficiente y rápida

Page 10: Prosciutto Palermo Valley Mobile Sessions

¿Por qué Java?

• Más del 90% de los terminales fabricados actualmente tienen alguna versión de JVM.

• Existen más desarrolladores con skills en Java que en cualquier otra plataforma móvil– Symbian– iPhone– .NET CF (Windows Mobile)

• (por algo Google creó su propio lenguaje Java como plataforma de desarrollo base para Android)

Page 11: Prosciutto Palermo Valley Mobile Sessions

¿Por qué open source?• Fomentar la idea de compartir• Los problemas que Prosciutto resuelve son comunes a

todos• Device fragmentation• Recursos limitados• Malabares de código para soportar cuestiones específicas de

diferentes modelos y/o fabricantes

• Por lo tanto, las soluciones a los mismos no deberían ser un activo de una compañía, sino de la industria

• Si resolvemos los problemas de todos entre todos, más rápido podremos enfocarnos en agregar valor

• El valor agregado es esencialmente el diferenciador• El V.A. proviene de las aplicaciones verticales, y no

de solucionar los problemas de siempre una y otra vez (concepto DRY)

Page 12: Prosciutto Palermo Valley Mobile Sessions

¿Qué se resuelve?

Device fragmentation? Si!Write once, run everywhere? Si!Redistribución. Si! Los costos de

“sembrar” la aplicación se pagan sólo una vez.

Minimizar costos de Testing y PortingPor ende, un menor costo de desarrollo y

un mejor time-to-market

Page 13: Prosciutto Palermo Valley Mobile Sessions

Markup• Prosciutto se basa en una idea simple:

definir tanto el layout y apariencia como el comportamiento en un único modelo de XML

• HelloWorld:

Page 14: Prosciutto Palermo Valley Mobile Sessions

Ejemplo: Hello World

Page 15: Prosciutto Palermo Valley Mobile Sessions

Ejemplo: Login

Page 16: Prosciutto Palermo Valley Mobile Sessions

Modelos testeados

Page 17: Prosciutto Palermo Valley Mobile Sessions

Iniciativas similares• J2ME Polish (www.j2mepolish.org)

• LWUIT Lightweight User Interface Toolkit (https://lwuit.dev.java.net/)

• Hecl (http://www.hecl.org)

• http://phonegap.com/

• MUPE (http://www.mupe.net/) Multi-User Publishing Environment

• http://mobile.processing.org/

Page 18: Prosciutto Palermo Valley Mobile Sessions

Futuro• Integración completa de Hecl (Q2 2009)

• Android (Q3-Q4 2009)

• Integración con LWUIT (Q4 2009 – Q1 2010)

• Editor WYSIWYG (2010)

Page 19: Prosciutto Palermo Valley Mobile Sessions

Caso de éxito: Ticketek

Calling All Innovators ContestRegional Winner/Global Finalist

Page 20: Prosciutto Palermo Valley Mobile Sessions

The application

TIM (TELECOM PERSONAL)TIM (TELECOM PERSONAL)11,9 MM users (4Q08)

TICKETEK TICKETEK ARGENTINAARGENTINA

Largest Ticket Broker in Argentina

www.ticketek.com.ar

Page 21: Prosciutto Palermo Valley Mobile Sessions

Functionality I

Page 22: Prosciutto Palermo Valley Mobile Sessions

Functionality II

Page 23: Prosciutto Palermo Valley Mobile Sessions

Functionality III

Page 24: Prosciutto Palermo Valley Mobile Sessions

Access validation

Page 25: Prosciutto Palermo Valley Mobile Sessions

Architecture

Page 26: Prosciutto Palermo Valley Mobile Sessions
Page 27: Prosciutto Palermo Valley Mobile Sessions

¡[email protected]

http://www.prosciuttoproject.org