Artículos

  • Generales 0

    Protocol-Oriented Programming en Swift: composición en lugar de herencia

    Aprende qué es la Programación Orientada a Protocolos en Swift y por qué Apple la propuso en WWDC 2015 como alternativa a la herencia de clases. Ejemplos prácticos de protocol extensions, composición y testing con mocks.

  • Generales 0

    ARC en Swift: cómo funciona la gestión automática de memoria sin GC

    Cómo funciona ARC en Swift: el compilador inserta retain y release automáticamente para gestionar la memoria sin recolector de basura. Ciclo de vida de objetos y cómo evitar ciclos de retención con ejemplos reales.

  • Generales 0

    Retain cycles en Swift: strong, weak y unowned con ejemplos reales

    Cómo funcionan strong, weak y unowned en Swift para gestionar la memoria sin fugas. Ejemplos de retain cycles entre clases, capture lists en closures con [weak self] y [unowned self], y el delegate pattern con AnyObject.

  • Generales 0

    Memory safety en Swift: ownership, exclusivity y accesos en conflicto

    Swift detecta accesos en conflicto a memoria en compilación. Aprende cómo funciona la exclusivity rule, por qué pasar la misma variable dos veces como inout falla, y cómo los tipos ~Copyable con consuming y borrowing previenen bugs sin overhead en tiempo de ejecución.

  • Generales 0

    Control de acceso en Swift: open, public, internal, fileprivate y private

    Swift define cinco niveles de control de acceso: open, public, internal, fileprivate y private. Aprende cuándo usar cada uno, qué diferencia open de public y cómo diseñar APIs de librería siguiendo el principio de mínima exposición.

  • Generales 0

    Type casting en Swift: is, as?, as! y switch con tipos en pattern matching

    Aprende a usar is, as?, as! y as en Swift para verificar y convertir tipos en tiempo de ejecución. Pattern matching con switch sobre tipos, casting con Any y AnyObject, y por qué el polimorfismo suele ser mejor solución que el casting.

  • Generales 0

    Operadores avanzados en Swift: overflow, operadores bit a bit y operadores propios

    Overflow operators para evitar crashes por desbordamiento, operadores bit a bit y cómo definir operadores propios con precedencegroup en Swift 5.9. Con ejemplos de Vector2D y OptionSet.

  • Generales 0

    Swift en 2026: interoperabilidad con C++, embedded Swift y el futuro del lenguaje

    Swift en 2026 tiene tres frentes activos: interoperabilidad bidireccional con C++ sin Objective-C, Embedded Swift para microcontroladores sin runtime y consolidación en el servidor con Vapor y Hummingbird.

  • Generales 0

    Patrones de concurrencia en Go: worker pool, fan-out/fan-in y pipeline

    Aprende a controlar la concurrencia en Go con tres patrones esenciales: worker pool para limitar goroutines activas, fan-out/fan-in para distribuir y recolectar trabajo, y pipeline para encadenar etapas de transformación. Ejemplos completos con sync.WaitGroup y errores típicos.

  • Generales 0

    select en Go: multiplexar canales, timeout con time.After y caso default

    Aprende a usar select en Go para esperar en múltiples canales a la vez: sintaxis básica, timeout con time.After, caso default para operaciones no bloqueantes, cancelación con canal done y bucles de procesado de mensajes. Con 4 ejemplos reales y el antipatrón del busy wait.