Blog

Tecnología para Desarrollo

Creando links dinámicos con Firebase Dynamic Links

El concepto de deep linking no es nada nuevo, lleva mucho tiempo funcionando en el mundo web, pero puede que no quede muy claro qué significa.

En realidad es un concepto insultantemente simple: un deep link (o “enlace profundo”) sirve para apuntar a un link específico dentro de un website y lleva consigo toda la información necesaria para acceder a la sección deseada.

sigue leyendo…

Guía de Google Analytics: 10 consejos útiles para aumentar su tráfico y ranking (2/2)

Google Analytics lleva años siendo la herramienta de referencia en marketing no solo a nivel de extracción de métricas, sino también a la hora de comprender el comportamiento de los usuarios de nuestro sitio web.

Pero Google Analytics no deja de ser un mastodonte enorme donde obtener determinados datos es, a veces, casi una misión imposible, sobre todo si estamos empezando a trabajar con la plataforma.

Ya la semana pasada recopilamos algunos consejos que nos facilitan el uso de la herramienta. Hoy continuamos con otras 5 recomendaciones que seguro que te ayudarán a exprimir al máximo Google Analytics.

sigue leyendo…

Serverless: llevando Cloud y microservicios a la máxima potencia (2/2)

En la anterior parte de nuestro post sobre serverless situamos a esta arquitectura en el roadmap del sector TI como la principal referencia a largo plazo de la industria. También analizamos diversos patrones y soluciones de la misma que ya se están utilizando en las más exitosas arquitecturas actuales.

Además, empezamos a visualizar algunos de los problemas que aún están por solventar, como son los arranques en frío.

En esta segunda parte analizaremos los demás retos que aún quedan por abordar como, por ejemplo, las conexiones de base de datos y veremos los casos de uso típicos para este tipo de arquitecturas. ¡Vamos allá!

sigue leyendo…

Evalúa la calidad de tu código con Sonarqube

Cada vez son más las personas concienciadas de la importancia de la calidad del código. Pese a ello, todavía encontramos casos en los que se conforman con tener código que funcione, que compile o que tenga contento al cliente, sin darle importancia a la calidad del mismo.

Existen muchas herramientas que nos pueden ayudar a medir esa calidad, y en este caso vamos a centrarnos en Sonarqube y muchas de las características que nos ofrece.

sigue leyendo…

Serverless: llevando Cloud y Microservicios a la máxima potencia (1/2)

Todavía recuerdo, cuando a comienzos de 2018 leí un post identificando las que iban a ser las principales tendencias del año en lo que respecta a microservicios. Allí estaba Serverless, un concepto que conocía ligeramente, pero en el que no había profundizado.

Dentro de estas tendencias, Serverless no era el titular de un apartado, sino que ocupaba la sección dedicada a Event Driven Architectures (EDA).

Durante los últimos 4 años que llevamos trabajado con arquitecturas de microservicios (al menos cuando empezaron a llegar a España) los modelos de comunicación síncronos se han probado cuanto menos insuficientes para gestionar el abanico de situaciones de comunicación que tenemos en una arquitectura de microservicios. Problemas de latencias, gestión de circuit breaking anidados, patrones de orquestación…

En este contexto es donde surgen las, probablemente, dos más importantes tendencias actuales en el mundo de microservicios.

sigue leyendo…

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…