Artículos
-
Generales
Estado en Flutter en 2026: Riverpod 2, Bloc y cuándo usar cada uno
Riverpod 2 y Bloc son las soluciones de gestión de estado más usadas en Flutter. Comparativa práctica con ejemplos de código, diferencias de enfoque y guía para elegir según el tipo de proyecto.
-
Ruby
Hotwire en Rails: Turbo Drive, Turbo Frames y Stimulus sin escribir JavaScript
Hotwire es el stack de DHH para aplicaciones interactivas sin frameworks JS. Turbo Drive, Turbo Frames y Turbo Streams gestionan navegación y actualizaciones en tiempo real desde el servidor. Stimulus añade JavaScript organizado cuando hace falta.
-
Generales
Swift Testing: el nuevo framework de tests que llega con Xcode 16
Swift Testing reemplaza a XCTest con macros @Test y #expect, parametrización nativa, suites con structs y soporte completo para async/await. Disponible en Xcode 16 y Linux.
-
Javascript
El event loop en JavaScript: call stack, microtasks y macrotasks
JavaScript es single-threaded, pero gestiona timers, eventos y promesas sin bloquearse gracias al event loop. Aprende qué es el call stack, la diferencia entre microtasks y macrotasks, y por qué las promesas tienen prioridad sobre setTimeout. Con 4 ejemplos con el orden de ejecución explicado ...
-
Generales
Lifetimes en Rust: decirle al compilador cuánto viven las referencias
Los lifetimes en Rust le dicen al compilador cuánto debe vivir cada referencia, algo que no siempre puede inferir solo. Aprende la sintaxis 'a, las reglas de elision y cómo anotar funciones y structs con cuatro ejemplos prácticos y errores reales del compilador.
-
Python
Encadenamiento de excepciones en Python: raise from y preservar el contexto
Aprende a encadenar excepciones en Python con raise X from Y y raise X from None. Diferencias entre __cause__ y __context__, cuándo suprimir el contexto y cuatro ejemplos prácticos: parseo de fechas, cliente de base de datos y cliente HTTP con jerarquía de errores propia.
-
PHP
in_array, array_search y array_key_exists en PHP: buscar en arrays sin errores
Guia sobre in_array(), array_search() y array_key_exists() en PHP: la trampa de comparacion debil sin strict, la diferencia entre isset y array_key_exists con valores null, y como usar array_flip para busquedas O(1) en arrays grandes. Con 4 ejemplos reales.
-
Javascript
async/await en JavaScript: código asíncrono que parece síncrono
async/await es azúcar sintáctico sobre Promises que hace el código asíncrono de JavaScript mucho más legible. Aprende cómo funciona async function, cómo manejar errores con try/catch, el peligro de await en bucles y cómo ejecutar promesas en paralelo con Promise.all.
-
Generales
Trait bounds en Rust: restringir qué tipos acepta una función genérica
Los trait bounds en Rust permiten restringir qué tipos acepta una función genérica. Aprende la sintaxis T: Trait, múltiples bounds con +, la cláusula where, impl Trait frente a T: Trait, blanket implementations y retorno de impl Trait, con ejemplos prácticos.
-
Generales
OTP y GenServer en Elixir: la base de la concurrencia que no puedes ignorar
OTP es el conjunto de abstracciones que hace de Elixir algo más que un lenguaje funcional bonito. GenServer, Supervisor y los árboles de supervisión son la base de todo sistema serio en la BEAM.









