Artículos

  • 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.

  • Generales 0

    MapKit con SwiftUI: Map, Marker, Annotation, cameraBounds y búsqueda de lugares

    Aprende a integrar MapKit en SwiftUI con iOS 17: Map con MapCameraPosition, Marker y Annotation personalizados, overlays con MapCircle y MapPolyline, búsqueda de lugares con MKLocalSearch y Look Around preview. Ejemplos con una app de puntos de interés.

  • Generales 0

    Tipos avanzados en Rust: never type !, DST, type alias e impl Trait en retorno

    Guía práctica sobre los tipos avanzados de Rust: el never type !, los tipos de tamaño dinámico str y [T], el trait Sized y ?Sized, los alias de tipo y las dos formas de usar impl Trait en parámetros y en retorno, con sus limitaciones y errores frecuentes.

  • Generales 0

    StoreKit 2 en Swift: In-App Purchases con Product, Transaction y subscripciones

    StoreKit 2 moderniza las compras en iOS con async/await. Aprende a cargar productos con Product.products, iniciar compras manejando PurchaseResult, verificar acceso con Transaction.currentEntitlements, escuchar renovaciones con Transaction.updates y gestionar suscripciones con SubscriptionInfo.