prosciutto en desayuno mobile palermo valley

27
The Prosciutto Project an open source mobile application engine

Upload: palermo-valley

Post on 27-Jun-2015

702 views

Category:

Technology


1 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: Prosciutto en Desayuno Mobile Palermo Valley

The Prosciutto Project

an open source mobile application engine

Page 2: Prosciutto en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

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 en Desayuno Mobile Palermo Valley

Motivaciones y visión

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

Page 6: Prosciutto en Desayuno Mobile Palermo Valley

Motivaciones y visión

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

Page 7: Prosciutto en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

¿Por qué un motor?

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

Page 9: Prosciutto en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

¿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 en Desayuno Mobile Palermo Valley

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 en Desayuno Mobile Palermo Valley

Ejemplo: Hello World

Page 15: Prosciutto en Desayuno Mobile Palermo Valley

Ejemplo: Login

Page 16: Prosciutto en Desayuno Mobile Palermo Valley

Modelos testeados

Page 17: Prosciutto en Desayuno Mobile Palermo Valley

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 en Desayuno Mobile Palermo Valley

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 en Desayuno Mobile Palermo Valley

Caso de éxito: Ticketek

Calling All Innovators ContestRegional Winner/Global Finalist

Page 20: Prosciutto en Desayuno Mobile Palermo Valley

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 en Desayuno Mobile Palermo Valley

Functionality I

Page 22: Prosciutto en Desayuno Mobile Palermo Valley

Functionality II

Page 23: Prosciutto en Desayuno Mobile Palermo Valley

Functionality III

Page 24: Prosciutto en Desayuno Mobile Palermo Valley

Access validation

Page 25: Prosciutto en Desayuno Mobile Palermo Valley

Architecture

Page 26: Prosciutto en Desayuno Mobile Palermo Valley
Page 27: Prosciutto en Desayuno Mobile Palermo Valley

¡[email protected]

http://www.prosciuttoproject.org