Nuevo framework para Swift (iOS/macOS) gana popularidad
El ecosistema de Swift continúa desarrollándose activamente, y en el horizonte ha aparecido un nuevo actor que está captando rápidamente la atención de los desarrolladores iOS/macOS. Se trata del framework SwiftAct (nombre condicional, para el ejemplo — nota del editor), que promete simplificar la creación de aplicaciones reactivas y de alto rendimiento para todas las plataformas Apple. Según datos de encuestas recientes de la comunidad, el interés en esta herramienta ha crecido un 40% en los últimos tres meses, y la cantidad de proyectos en GitHub que lo utilizan se ha duplicado.
¿Qué es SwiftAct y por qué es necesario?
SwiftAct se posiciona como una alternativa ligera a Combine y parcialmente a RxSwift, pero con un enfoque en asincronía y arquitectura limpia. A diferencia de los enfoques tradicionales, este framework utiliza las capacidades más recientes de Swift Concurrency (async/await, actores) de forma nativa, sin requerir que el desarrollador escriba código repetitivo para la gestión de hilos.
Características clave de SwiftAct:
- Reactividad sin dolor: Suscripción automática a cambios en el estado del modelo. El desarrollador solo necesita marcar la propiedad con el atributo
@Observable, y la UI en SwiftUI se actualizará sola. - Trabajo integrado con red: El módulo Networking soporta async/await, serialización automática en Codable y reintento de solicitudes en caso de errores.
- Modularidad: El framework está dividido en módulos independientes (Core, UI, Networking, Storage) que se pueden conectar de forma selectiva, sin inflar el binario.
- Soporte para macOS: A diferencia de muchas soluciones orientadas a iOS, SwiftAct es completamente compatible con AppKit y Catalyst.
¿Por qué los desarrolladores están migrando a él?
La razón principal es la reducción de la barrera de entrada. Si antes para crear una aplicación reactiva era necesario estudiar Combine (con su complejo sistema Publisher/Subscriber) o conectar el pesado RxSwift, SwiftAct ofrece una sintaxis intuitiva que recuerda al trabajo con propiedades comunes.
Aquí hay un ejemplo que presenta uno de los blogueros entusiastas:
// Enfoque antiguo con Combineclass ViewModel { @Published var text = "" var cancellables = Set<AnyCancellable>() func fetch() { api.fetchText() .sink { [weak self] value in self?.text = value } .store(in: &cancellables) }}
// Nuevo enfoque con SwiftActclass ViewModel { @Observable var text = "" func fetch() async { text = await api.fetchText() // simple y claro }}Como se puede ver, el código se ha vuelto más conciso, y la gestión de memoria y la cancelación de suscripciones ocurren automáticamente.
Desventajas y riesgos
A pesar del entusiasmo, los expertos advierten: el framework aún es joven. La versión 1.0 se lanzó hace solo seis meses, y la comunidad no ha tenido tiempo de acumular una amplia base de conocimientos. Es posible que haya errores críticos al trabajar con concurrencia en proyectos complejos. Además, para proyectos en producción con requisitos estrictos de estabilidad, por ahora se recomienda seguir con Combine o TCA (The Composable Architecture).
Perspectivas
Sin embargo, la tendencia es evidente: los desarrolladores están cansados de la complejidad y quieren escribir menos código obteniendo más funcionalidad. SwiftAct ya cuenta con el apoyo de grandes empresas como (condicionalmente) "Yandex.Maps" y "Tinkoff" (en proyectos piloto), lo que indica confianza en la tecnología.