Artículos

  • Generales 0

    anyhow y thiserror en Rust: manejo de errores moderno sin boilerplate

    thiserror y anyhow son las dos librerías estándar de facto para manejar errores en Rust. thiserror genera el boilerplate de tipos de error con #[derive(Error)], ideal para librerías. anyhow simplifica la propagación con un tipo genérico y el trait Context, perfecto para aplicaciones.

  • Generales 0

    Kotlin/Wasm en 2026: WebAssembly desde el ecosistema JVM de Kotlin

    Kotlin/Wasm es el target de WebAssembly para Kotlin, basado en WasmGC y disponible desde Kotlin 2.0. Te explicamos qué diferencia a wasm-js de wasm-wasi, cómo configurarlo en un proyecto KMP y cuándo tiene sentido usarlo en producción.

  • Generales 0

    TinyGo: programar microcontroladores y WebAssembly con Go

    TinyGo es un compilador de Go basado en LLVM que genera binarios muy pequeños, pensado para microcontroladores como Arduino, Raspberry Pi Pico o ESP32 y para WebAssembly en el navegador. Aprende cómo funciona, qué lo diferencia del compilador oficial y cómo empezar con tu primer proyecto embe...

  • Generales 0

    Errores personalizados en Rust: implementar Display y Error para tus tipos

    Aprende a crear tipos de error propios en Rust implementando Display y std::error::Error. Desde un struct básico hasta un enum con múltiples causas, error wrapping con source() y conversión automática con From y el operador ?.

  • Generales 0

    Cargo workspaces: gestionar monorepos en Rust sin complicaciones

    Aprende a organizar proyectos grandes en Rust usando Cargo workspaces: un solo Cargo.lock, caché de compilación compartida y versiones de dependencias sincronizadas entre todos tus crates.

  • C# 0

    .NET MAUI en 2026: apps nativas multiplataforma con C# y una base de código

    .NET MAUI es el sucesor oficial de Xamarin.Forms y te permite crear apps nativas para Android, iOS, macOS y Windows desde un único proyecto en C#. Esta guía explica cómo funciona, qué ha cambiado desde .NET 8 y cuándo tiene sentido elegirlo.

  • Generales 0

    panic! en Rust: cuándo dejar que el programa falle y cuándo usar Result

    Aprende cuándo usar panic! y cuándo usar Result en Rust. La regla es sencilla: panic! para bugs del programador, Result para errores esperados en runtime. Con ejemplos de unwrap, expect, #[should_panic] y catch_unwind.

  • Generales 0

    Gradle con Kotlin DSL en 2026: adiós al Groovy, bienvenido el autocompletado

    Gradle 8.x recomienda usar build.gradle.kts con Kotlin DSL para proyectos nuevos: tipado estático, autocompletado real en IntelliJ y errores detectados antes de ejecutar el build.

  • Generales 0

    PGO en Go: compilación guiada por perfiles para exprimir el rendimiento

    PGO (Profile-Guided Optimization) llegó estable en Go 1.21 y permite al compilador optimizar el binario usando datos reales de producción, logrando mejoras de rendimiento del 2 al 14% sin tocar una sola línea de código.

  • Generales 0

    El operador ? en Rust: propagar errores sin escribir match en cada línea

    El operador ? en Rust propaga errores automáticamente sin necesidad de escribir un match en cada línea. Aprende cómo funciona, cómo convierte tipos de error con From, cómo encadenarlo en funciones que pueden fallar y cómo usarlo en main(), con cuatro ejemplos progresivos.