Blog

Tecnología para Desarrollo

Introducción a los componentes de arquitectura Android: go Clean!

Durante los últimos años, uno de los temas con más hype en Android ha sido la arquitectura Clean. En foros, blogs, conferencias y demás, las diferentes arquitecturas se han presentado y discutido hasta la saciedad.

En el último Google I/O, además del estupendo anuncio de Kotlin como lenguaje oficialmente soportado para Android, nos sorprendieron con una serie de librerías (en desarrollo todavía pero ya disponibles en modo Alpha) que pretenden unificar las buenas prácticas mostrando una arquitectura ejemplo a seguir en Android.

No es obligatorio seguir estas prácticas, Google mismo dice que si ya estamos usando otra arquitectura Clean, o RxJava, o cualquier otra tecnología alternativa, sigamos con ella.

En cualquier caso, es conveniente ver qué nos aporta la propuesta de Google, compararlo con nuestra arquitectura actual y tomar lo mejor de ambas. Adentrémonos en el universo Clean y veamos cómo nos puede ayudar en el desarrollo de nuestras aplicaciones.
sigue leyendo…

El principio FIRST, o cómo aumentar la calidad de nuestros tests unitarios

Tests, tests y más tests. Esa es la filosofía que se suele tomar a la hora de desarrollar los tests unitarios para un producto.

No siempre cantidad es calidad. Muchas veces nos ofuscamos en buscar una cobertura alta, sin tener en cuenta la calidad de nuestros tests. Claramente la cobertura de tests es muy importante, pero también lo es la calidad de estos.

Por ello, en este post vamos a hablar del Principio FIRST y de cómo mejorar la calidad de nuestros tests.

sigue leyendo…

Introducción a ATG Web Commerce para un Java Developer

En el mundo del comercio electrónico hay una cantidad abundante de opciones para llevar a cabo soluciones de eCommerce. En este post haremos una introducción a ATG Web Commerce intentando mostrar brevemente las características más interesantes para el desarrollador que se inicia en este framework “gigante” y valoraremos, desde un punto de vista personal, si vale la pena o no dicha herramienta.

sigue leyendo…

Replicando datos en tiempo real II: Diseñando nuestra solución

De acuerdo, ya sé que en el post anterior Replicando datos en tiempo real: ¿qué vas a hacer con tus datos, si no los usas? no ofrecimos ninguna opción viable para implementar el proceso de replicación que planteamos. Y además, no dimos ninguna solución alternativa ni hicimos hincapié en los inconvenientes de las soluciones más habituales.

La razón no era otra que no alargar demasiado el anterior post. En este nuevo artículo vamos a empezar a diseñar nuestra solución, y qué mejor manera de empezar que echando mano de esos conceptos teóricos que nos resultan tan prácticos en tantas ocasiones, (y además, otros ya se han molestado en pensar por nosotros): los patrones de diseño.

sigue leyendo…

RHMAP: más que un backend as a service

Es poco frecuente que una app móvil sea independiente del mundo exterior y no necesite comunicarse. Tal vez sea el caso de algunos juegos casuales o utilidades sencillas. Sin embargo, la inmensa mayoría de las apps precisan compartir datos con el mundo exterior, ya sea como productoras, consumidoras o, frecuentemente, ambos roles.

Para ello utilizaremos un backend. Es posible que ya dispongamos de uno en la empresa y queramos optimizarlo o que debamos empezar de cero. En ambos casos un Backend específico para movilidad podrá ayudarnos. Pero, ¿son todos iguales? ¿existen opciones avanzadas entre las ofertas del mercado? Profundicemos en ello.

sigue leyendo…

TensorFlow, o cómo será el futuro de la Inteligencia Artificial según Google

Durante décadas se ha hablado del concepto de la “Inteligencia Artificial” (IA) y el impacto que tendría en nuestras vidas. El cine y la literatura han fantaseado con las posibilidades y los dilemas que se plantean desde HAL 9000 hasta Skynet. Sin embargo la realidad estaba siempre muy lejos de la ficción.

En los últimos años se han dado una serie de condiciones y cambios tecnológicos que han propiciado el resurgimiento de la IA y su aplicación en nuevas áreas, nos referimos a Big Data, Cloud, IoT, Mobility… una verdadera nueva revolución industrial.

Las empresas se están posicionando en este nuevo escenario y, sin duda, Google es uno de los referentes en Inteligencia Artificial desde sus orígenes. En este artículo vamos a hablar de TensorFlow, el framework liberado por Google para desarrollar algoritmos inteligentes que está en el corazón de muchos de sus productos.

sigue leyendo…

Firebase, la opción de Google para desarrollar apps móviles de forma rápida y sencilla

Se acerca la fecha de la Google I/O 2017 y parece que Firebase será el centro de atención en el ya famoso festival de la gran compañía Google, donde le van a dar mucho protagonismo. Y os preguntareis, ¿qué es Firebase? ¿qué me puede aportar Firebase?

En resumen, Firebase es una herramienta que nos permite desarrollar aplicaciones móviles cloud-enabled (aplicaciones habilitadas en la nube) de manera rápida y sencilla, por lo que nos da un gran número de posibilidades.

Pero, ¿qué es exactamente Firebase?

sigue leyendo…

Kubernetes en AWS: Autorreparación instantánea

El sueño de todo ingeniero de soporte es no tener que dedicar mucho tiempo al mantenimiento de un servicio y poder dormir con tranquilidad por las noches. Afortunadamente, cada día existen más herramientas que nos acercan a ese ideal haciendo que los errores se solventen de manera casi mágica e instantánea.

Existen estimaciones que cifran en torno al 40%-50% la reducción de costes hardware que aporta Kubernetes. Quizás en parte sea por eso por lo que es la herramienta preferida para la orquestación de contenedores por encima de Swarm, Mesos o Nomad. El año pasado estas herramientas se encontraban en una fase exploratoria, donde los usuarios las estaban evaluando, pero se espera que este año den su salto definitivo a producción.

De Kubernetes son conocidas ampliamente sus funcionalidades para la orquestación, el descubrimiento de servicios o el balanceo de carga, pero tiene otras características menos conocidas que resultan tan espectaculares o más.

En concreto, hoy queremos enseñar con un ejemplo una función muy especial: su capacidad de autorreparación. En nuestra demo hemos construido un cluster muy pequeño de sólo 3 nodos sobre máquinas EC2 de AWS que nos permite olvidarnos de la operación de muchas cuestiones relacionadas con la red, el almacenamiento, los logs y las alertas de los contenedores que desplegamos dentro. ¡No te pierdas el videotutorial!

sigue leyendo…

Kotlin, ¿otra moda más? (Spoiler: no)

Cuando empecé a escribir este artículo, hace unas semanas, os hablaba de la cantidad de frameworks, arquitecturas y lenguajes nuevos que salen cada día, y de la necesidad de separar el polvo de la paja antes de invertir nuestro tiempo en tratar de asimilar nuevas tecnologías.

Me lo había currado, pero el 17 de mayo de 2017, hace justo una semana, Google anunció que adoptaba Kotlin como lenguaje de primer nivel para el desarrollo Android. O sea, que ahora el mundillo se ha dividido entre los que gritan “lo sabía” y los que susurran “¿pero eso de qué va?”.

Sé que os pido un acto de fe, pero no puedo dejar de señalar que en Paradigma éramos del bando de los visionarios. Y, sin más introducción, empezamos por lo más básico…

sigue leyendo…

Cuatro ojos para resumir en detalle el UXSpain 2017

Gijón. VI edición de UXSpain y casi todo el equipo de UX de Paradigma desembarcando en un encuentro que seguimos adorando y patrocinando desde sus comienzos. La combinación perfecta para compartir un par de días con profesionales del sector (viejos y nuevos) y ponerse al día en diseño y experiencia de usuario.

Este año, nuestros compañeros Susana Díaz y Stefano Fracassi nos dan dos visiones distintas sobre el mismo evento. Una, la de una veterana que ya lleva varios UXSpain a las espaldas; y otra, la de un diseñador que asiste al encuentro por primera vez.

sigue leyendo…