170 likes | 360 Views
Presentación Técnica. Nibiru Mobile. Nibiru Mobile. Características generales API unificada para componentes comunes Implementación en diferentes tecnologías Desarrollo en Java A diferencia de frameworks basados en JavaScript Soporte para desarrollo nativo Por ahora Android...
E N D
Presentación Técnica Nibiru Mobile
Nibiru Mobile • Características generales • API unificada para componentes comunes • Implementación en diferentes tecnologías • Desarrollo en Java • A diferencia de frameworks basados en JavaScript • Soporte para desarrollo nativo • Por ahora Android... • Enfoque similar a PlayN • Cuando comenzamos a desarrollarlo no lo conocíamos!
Nibiru Mobile • Historia • Evolución del framework usado en Orders • También basado en Java • Apuntaba a soportar J2ME • Denominador común demasiado bajo, no permitía usar • Anotaciones • Generics • Colecciones • Framework Nibiru • Componentes genéricos para desarrollo server side • Nibiru Mobile: misma filosofía, pero en mobile • Pero son diferentes frameworks – nos falta marketing!
Nibiru Mobile • Característica: Enlace de componentes • Patrón: IoC, DI • Implementaciones • Android: Guice + RoboGuice + JSR330 • GWT: GIN + JSR330
Nibiru Mobile • Característica: Presentación • Patrón: MVP • Implementaciones • Android: Actividades y vistas nativas • GWT: MVP de GWT, MGWT o SmartGWT Mobile
Nibiru Mobile • Característica: Internacionalización • Implementaciones • Android: ResourceBundle + proxy Java • GWT: Interfaz Messages de GWT
Nibiru Mobile • Característica: Gestión de eventos • Patrón: Publish-Subscribe • Implementaciones • Android: Intent + BroadcastReceiver • GWT: EventBus
Nibiru Mobile • Característica: Persistencia • Patrón: DAO • Implementaciones • Android: OrmLite • GWT: persistence.js + GWT-Mobile Persistence
Nibiru Mobile • Característica: Serialización de datos • Patrón: DTO • Implementaciones • Android: Jackson • GWT: AutoBeans
Nibiru Mobile • Característica: Requerimientos HTTP • Implementaciones • Android: Apache HttpComponents • GWT: RequestBuilder
Nibiru Mobile • Característica: Servicios remotos • Patrón: Remote Procedure Invocation • Tipos: REST, JSON-RPC • Implementaciones • Genéricas, utilizando las abstracciones de serialización y de HTTP • Reutilizables en ambas plataformas
Nibiru Mobile • Característica: Acceso a hardware • Implementaciones • Android: Nativo • GWT: PhoneGap (Apache Cordova) + GWT-PhoneGap
Nibiru Mobile • Característica: Gestión de preferencias • Implementaciones • Android: SharedPreferences • GWT: Cookies
Nibiru Mobile • Módulos funcionales implementados • Seguridad • Alertas • Ideas pendientes de implementar • Sesión y gestión de perfil • Sincronización de estado • Licenciamiento (basado en Oxen Java Commons) • Push • Composición de UI (similar a Fragments)
Nibiru Mobile • Consideraciones • Único hilo (por JavaScript) – abundancia de callbacks • El código genérico no puede usar reflection (por limitaciones de GWT) • La inyección se debe configurar 2 veces (porque GIN y Guice usan mecanismos parecidos pero diferentes)
Dudas? Ideas? Críticas? Constructivas por favor :) Nibiru Mobile
Gracias por su atención! http://www.oxen.com.ar/ Fin Nibiru Mobile