Blog

Tecnología para Desarrollo

Componentizando frente a un CMS: PugJS (1/2)

No descubrimos nada nuevo si decimos que el desarrollo front-end está actualmente orientado a la componentización.

La inclusión de web components y SPAs como tecnologías potentes en cualquier proyecto front y la popularidad de frameworks JS basados en este concepto (ReactJS, VueJS, Angular…) hacen que prácticamente todos los desarrolladores front estemos aprendiendo estas tecnologías.

Y desde luego, el concepto funciona. Nuestra vida se vuelve más fácil, nuestro código más sencillo y más corto, evitamos duplicarlo… Y somos más felices, ¿verdad?

Digo esto porque después nos encontramos con la realidad y nos baja de golpe del plano de la fantasía.

sigue leyendo…

Cómo implementar formularios en Angular: ¿reactivos o manejados por plantillas?

Todos los que hemos trabajado en aplicaciones web (con Angular o con cualquier otro framework SPA) nos hemos encontrado con la necesidad de implementar formularios más o menos complejos.

En este post vamos a analizar separadamente dos maneras distintas de trabajar formularios en Angular, sobre todo después de que, en las últimas actualizaciones, nos han dejado bien claro que son dos técnicas que pueden seguir viviendo juntas pero no mezcladas. ¿En qué consiste cada una?

sigue leyendo…

Los efectos de no valorar la calidad del software

A medida que avanzan las tecnologías son más los aparatos digitalizados que nos rodean. Aviones, coches, edificios, semáforos, electrodomésticos, relojes… tienen partes controladas por procesadores gracias al gran avance en IT.

En un coche, por ejemplo, puede haber hasta unos 70 procesadores controlando individualmente tareas como los frenos ABS, airbags, control de crucero o el suministro de combustible.

Es por ello que cada vez son más los productos que deben ser testados, ya que sacar al mercado un producto que no ha pasado un buen proceso de calidad puede traer graves consecuencias tanto económicas como personales.

sigue leyendo…

Sagas vs Thunk

En contraste al flujo de datos aparentemente completo que ofrece Redux para nuestra aplicación, hay una cosa que no hace por nosotros: recoger dichos datos de un servicio web ya que Redux no se ocupa de los “efectos secundarios”.

De la forma en la que React y Redux plantean una programación funcional, el resultado de una función debe ser siempre predecible en función a los parámetros de inicio.

Dicho de otra forma: un reductor siempre devolverá el mismo resultado si se le pasa un estado y una acción determinados y un componente React siempre se mostrará igual si se le pasan unas propiedades conocidas.

Esto está muy bien ya que nuestra aplicación tendrá siempre un comportamiento predecible y seguro. Pero falta algo importante: las llamadas a servicios web, lectura y escritura de cookies, uso de las API’s del navegador como geolocalizador, base de datos, operaciones en el tiempo, etc…

Ninguna aplicación puede existir sin estos “efectos secundarios”, particularmente las llamadas a servicios, por lo cual surgen librerías middleware para Redux que nos permiten hacernos cargo de ellos.

Mientras que el más extendido desde el inicio es Thunk, Sagas es considerado un favorito por la comunidad y este post intentaré explicar por qué.

sigue leyendo…

Cheat sheet sobre CSS Grid Layout y Flexbox: el poder en tus manos

¡Cuánto ha cambiado el mundo del desarrollo web desde la aparición de Flexbox y CSS Grid! Ahora tenemos la capacidad de posicionar los elementos en pantalla allí donde queremos, de forma fácil y sencilla. Y, sobre todo, sin necesidad de pesados y complicados frameworks, solamente usando CSS.

Gracias a estos nuevos módulos de CSS, tenemos disponibles una gran cantidad de opciones y, a veces, es difícil recordarlas todas de memoria o pueden surgirnos dudas sobre qué propiedad o valor tenemos que aplicar en nuestro código.

Por eso hemos pensado que sería útil tener a mano una chuleta en la que poder consultar todas las opciones disponibles y hemos creado nuestra Cheat sheet de CSS Grid Layout y de Flexbox que nos facilite nuestra tarea. No es una herramienta para aprender CSS Grid Layout o Flexbox, sino para recordarnos la sintáxis o aclarar conceptos y posibles confusiones.

Si trabajas a diario con CSS, creemos que esta cheat sheet es indispensable para ti. ¡Descárgatela! Y recuerda que es un documento abierto y esperamos cualquier sugerencia o idea para poder mejorarla. ¡Deja tu comentario en este post para seguir ampliándola!

Descarga PDF

sigue leyendo…

Según el Nuevo Premio Regional de Innovación: “Los robots tienen que espabilar”

En estas fechas tan señaladas tiene lugar la edición XXX de los Premios Regionales de Innovación y Tecnología Punta. Este premio pretende reconocer a aquellas personas que han logrado impulsar e implantar de forma significativa la innovación tecnológica en el tejido productivo y empresarial.

En la presente edición, dicho galardón (dotado con un diploma enorme y miles de las antiguas pesetas) ha recaído sobre Senendo Motos.

Nada más conocerse su nombre nos hemos puesto en contacto con él para entrevistarlo y poder conocer, de primera mano, las claves de su éxito.

Senendo Motos es un placentino irredento, “zurdo cambiao” que desde temprana edad comenzó a destacar entre sus paisanos por un ansia extrema de conocimiento, un dominio sin par del lenguaje tecnológico y su habilidad con el pirateo del Plus.

Fuente: El Mundo

sigue leyendo…

Elasticsearch + RxJava, ingesta de datos a máxima velocidad

Recientemente tuve la oportunidad de interactuar muy de cerca con la API RESTful de Elasticsearch. La verdad es que ha sido una experiencia bastante agradable e incluso sorprendente, ya que no me esperaba contar con tal variedad de funcionalidades y características para la ingesta y gestión de documentos.

Pero es cierto que mi mayor sorpresa llegó cuando vi funcionar a esta API en combinación con la tecnología RxJava, las mejoras a nivel de rendimiento fueron enormes y lo mejor de todo es que las preocupaciones en cuanto a la capacidad para manejar grandes cargas de trabajo pasaron a la historia.

En el siguiente post hablaremos sobre cómo trabajar con el API REST de Elasticsearch en conjunto con RxJava.

sigue leyendo…

Conociendo Unity 5

¿Por qué hablamos en el blog de Unity 5? Empecemos por el principio. Unity 5+ es un motor de videojuegos multiplataforma.

¿Esto qué quiere decir? Que es un conjunto de herramientas que están enfocadas a desarrollar la lógica de un videojuego, por lo tanto, permiten una edición e iteración rápidas en el ciclo de desarrollo y nos ofrece como resultado una experiencia de performance de alta gama que además podemos exportar a cualquier tipo de dispositivo.

Y si no desarrollo videojuegos ¿qué me puede aportar? No solo hay que pensar que un motor de videojuegos se puede usar para el desarrollo de videojuegos.

Tiene otras utilidades, por ejemplo, se puede aplicar tanto a un aplicativo que aproveche varias características como su facilidad para crear interfaces de usuario, como para realizar simulaciones aprovechando su motor de físicas Box2d y NVIDIA PhysX o bien aprovechar sus herramientas de IA y pathfinding para hacer escenas inteligentes en las que los elementos de la escena interaccionen entre sí.

Si tienes curiosidad sobre qué puede aportar a tus proyectos, sigue leyendo…

sigue leyendo…

Puedo prometer y Prometheus

Una de las partes más importantes en la infraestructura es la monitorización y, en el caso de los microservicios, en Kubernetes, tenemos a Prometheus. Es una excelente herramienta de monitorización para k8s, que cuando la utilices y conozcas sus bondades, harán en ti que te enamores y no dejes de pensar en ella.

sigue leyendo…

Trazabilidad distribuida con Opentracing y Jaeger

Hasta hace poco tiempo Zipkin parecía la única solución para implementar trazabilidad distribuida: era sencillo y venía de caja con el stack spring-cloud, pero en Paradigma Digital hemos descubierto que hay vida más allá del producto creado por Twitter.

En este post intentaremos ahondar en el ecosistema de trazabilidad distribuida y ver dónde encaja cada uno de los actores involucrados en esta “técnica” para monitorizar nuestras arquitecturas.

sigue leyendo…