Artículos

  • Otros lenguajes 0

    iOS 27 ya está aquí: Siri con Gemini, App Intents obligatorio y lo que cambia de verdad para developers

    iOS 27 se publicó el 14 de septiembre de 2026. Repasamos qué cambia en serio para quien programa: la nueva Siri sobre un modelo de Gemini, App Intents como única vía de acceso, el framework Foundation Models abierto a otros proveedores, los ajustes de Liquid Glass tras un año de críticas y ...

  • Generales 0

    Testing avanzado en Rust: tests de integración, mockall para mocks y proptest para property testing

    Guía práctica de testing avanzado en Rust: tests de integración en el directorio tests/, mocks automáticos con mockall y #[automock], property-based testing con proptest, benchmarks con criterion y cobertura con cargo-tarpaulin. Con ejemplos reales y antipatrones.

  • Generales 0

    Core ML y Create ML en Swift: entrenar modelos, hacer predicciones e integrar Vision

    Aprende a entrenar modelos de machine learning en macOS con Create ML y a integrarlos en iOS con Core ML, Vision y NLModel. Clasificación de imágenes, detección de objetos y actualización de modelos en background, con ejemplos reales en Swift.

  • Generales 0

    Rayon en Rust: iteradores paralelos con par_iter, par_sort y ThreadPool

    Rayon convierte iteradores secuenciales de Rust en paralelos cambiando .iter() por .par_iter(). Aprende a usar par_sort, rayon::join y ThreadPoolBuilder con ejemplos reales, benchmarks de referencia y los casos en que Rayon no es la solución.

  • Generales 0

    visionOS en Swift: RealityView, Immersive Spaces, Entity y programación espacial

    Aprende a construir apps para Apple Vision Pro con Swift y visionOS: RealityView para objetos 3D, gestos con DragGesture, ImmersiveSpace para experiencias inmersivas, Attachments para mezclar SwiftUI con RealityKit y Ornaments para controles flotantes.

  • Generales 0

    Concurrencia avanzada en Rust: Arc>, RwLock, atómicos y canales mpsc

    Arc y Mutex para compartir datos mutables entre hilos, RwLock cuando las lecturas superan a las escrituras, tipos atómicos para contadores sin bloqueos, y canales mpsc para comunicar hilos sin compartir estado. Cuatro herramientas con ejemplos reales en Rust.

  • Generales 0

    Localización en Swift: String Catalog, LocalizedStringResource, plurales y formateo

    Aprende a localizar apps en Swift con String Catalog (.xcstrings), el formato de Xcode 15 que sustituye .strings y .stringsdict. Cubre String(localized:), LocalizedStringResource, plurales automáticos por idioma y formateo localizado con Date.FormatStyle y Number.FormatStyle.

  • Generales 0

    Iteradores avanzados en Rust: implementar Iterator, fold, scan, flatten y collect tipado

    Implementa el trait Iterator en Rust desde cero y domina fold, scan, flatten, flat_map, chain, zip, peekable, windows y collect tipado en Vec, HashMap, BTreeSet y String. Ejemplos prácticos con ventas, temperaturas y colecciones reales.

  • Generales 0

    Accesibilidad en SwiftUI: VoiceOver, accessibilityLabel, Traits, Actions y Dynamic Type

    Haz tus apps de iOS accesibles con SwiftUI: accessibilityLabel, accessibilityHint, traits (.isHeader, .isSelected, .updatesFrequently), acciones personalizadas, Dynamic Type con @ScaledMetric, alto contraste y reducción de movimiento, con ejemplos prácticos.

  • Generales 0

    Closures avanzadas en Rust: FnOnce, FnMut, Fn, move closures y punteros de función fn

    Guía sobre closures avanzadas en Rust: diferencia entre Fn, FnMut y FnOnce según cómo capturan el entorno, move closures para threads, cómo retornar closures con impl Fn o con Box dinámico, y el tipo fn para punteros de función. Cuatro ejemplos prácticos progresivos.