Upload
mario-zorz
View
583
Download
2
Tags:
Embed Size (px)
Citation preview
¿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)
¿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
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)
¿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.
¿Por qué un motor?
• …y no una aplicación WAP?– Acceso a APIs y nuevas funcionalidades– Seguridad– Libertad
¿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
¿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)
¿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)
¿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
Markup• Prosciutto se basa en una idea simple:
definir tanto el layout y apariencia como el comportamiento en un único modelo de XML
• HelloWorld:
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/
Futuro• Integración completa de Hecl (Q2 2009)
• Android (Q3-Q4 2009)
• Integración con LWUIT (Q4 2009 – Q1 2010)
• Editor WYSIWYG (2010)
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