Concurrency with Promise Style. DroidCon 2015

Os dejo por aquí la presentación de mi charla de hoy en la DroidCon Spain 2015 dónde hablamos del patrón Promise, como implementarlo con jDeferred y como podemos beneficiarnos de su uso.

Descargar

Baindo, un MVVM diferente para Android

Hoy os vengo a presentar algo en lo que llevo un tiempo trabajando, Baindo, un framework para aplicar MVVM en aplicaciones Android, del que quiero mostraros un Sneak Peek del estado actual.
¿Por qué otro framework MVVM si existen miles? La respuesta a esta pregunta está en las ideas base que inspiran Baindo:

  • Evitar el uso de cualquier tipo de Reflection.
  • Sintaxis cómoda en código Java. Nada de Custom Views o Custom Attributes en nuestros layouts.
  • ViewModels sencillos y con ninguna dependencia con Android.
  • Maximizar el rendimiento del hilo de UI. Comandos y eventos de modificación de las propiedades se ejecutan en Background.
  • Actualización de UI desde cualquier hilo a través de las propiedades del ViewModel. Olvidate de tener que usar AsyncTask, Handlers o similares para hacer cambios en la UI.

Pinta bien, ¿no? ;-). Pues además será OpenSource y estará disponible en GitHub muy pronto. Veamos que pinta tiene.

RoboRouter, mi primera librería OpenSource

RoboRouter, mi primera librería OpenSource

Hace tiempo que no escribo nada en el Blog, pero hoy tengo el orgullo de presentar mi primera librería OpenSource, para Android, disponible a través de Maven/Gradle.

¿Qué es RoboRouter?

RoboRouter es un pequeña librería -de apenas dos clases- que permite mediante la activación/desactivación de componentes manejar el punto de arranque de nuestra aplicación cuando esta tiene una pantalla de inicio de sesión y/o un asistente de bienvenida o tutorial inicial. Cosas que es muestran escasamente una vez en la vida de la aplicación en el móvil de un usuario y que no debería ensuciar el código de la actividad principal con la que arrancamos la aplicación normalmente. RoboRouter permite gestionar este tipo de escenarios de una forma muy fácil y sin apenas escribir código.

Pasaos por GitHub y mirad como funciona, descargad el proyecto de ejemplo y jugad con él. Cualquier sugerencia será bienvenida.

Latest commit to the master branch on

Download as zip

Full text search contra otras formas de búsqueda

Algo muy común en cualquier aplicación Android es el añadir la posibilidad de realizar búsquedas sobre un ListView. Dado que para mostrar los datos sobre un ListView probablemente ya hemos realizado una consulta a la base de datos SQLite donde estos residen, podemos creer que lo mejor es filtrar los datos que ya tenemos cargados en memoria. De esta forma no pagamos de nuevo el precio del acceso a la base de datos que está en disco y es lenta; ni tampoco tenemos que volver a crear los objetos a partir del Cursor que esta nos devuelve. Pero, ¿hemos pensado bien el coste de buscar texto sobre los datos cargados en memoria? ¿Es esto mejor que un acceso a disco? ¿Escala?

Any fool can write code that a computer can…

Any fool can write code that a computer can understand. Good programmers write code that humans can understand. (Martin Fowler, Refactoring: Improving the Design of Existing Code)