Una biblioteca ligera, completamente escrita en Swift, para descargar, almacenar en caché y mostrar imágenes de la web en apps para iOS, macOS y SwiftUI.
kean/Nuke
Sistema de carga de imágenes en Swift para plataformas Apple, con caché, procesamiento, decodificación progresiva y componentes para SwiftUI y UIKit.
- Estrellas
- 8,684
- Forks
- 575
- Issues abiertos
- 25
- Último commit
- anteayer
¿Qué es?
Nuke es un framework para cargar imágenes en iOS, macOS, watchOS, tvOS y visionOS. Carga imágenes desde URL remotas y otras fuentes mediante una canalización de imágenes que gestiona la conexión de red, la decodificación, el procesamiento y la caché. Así, el código de la app solo tiene que solicitar una imagen y mostrar el resultado.
El módulo principal ofrece ImagePipeline, con cachés en memoria y en disco, agrupación y priorización de solicitudes, precarga y descargas reanudables. El procesamiento y la descompresión de imágenes se realizan en la canalización. Los formatos compatibles incluyen JPEG progresivo, HEIF, WebP, GIF e imágenes animadas. El progreso de la carga se puede observar mediante secuencias asíncronas.
NukeUI incluye vistas listas para usar: LazyImage para SwiftUI y LazyImageView con ImageLoader para UIKit y AppKit. Hay módulos independientes para la reproducción de video, y la distribución mediante Swift Package Manager incluye una app de demostración en el repositorio.
Funciones clave
- 01Caché en memoria y en disco para las imágenes cargadas
- 02Procesamiento y descompresión de imágenes en la canalización
- 03Agrupación y priorización de solicitudes, y precarga
- 04Descargas reanudables y compatibilidad con JPEG progresivo
- 05Decodificación de HEIF, WebP, GIF e imágenes animadas
- 06Componentes de visualización para SwiftUI, UIKit y AppKit
Casos de uso
- Cargar imágenes remotas en una vista de lista o cuadrícula de iOS o macOS
- Mostrar GIF o imágenes WebP animadas en una app de SwiftUI
- Precargar imágenes antes de que aparezcan al desplazarse por un feed
Inicio rápido
- 1
Añade Nuke a tu proyecto con Swift Package Manager (recomendado)
- 2
Abre Nuke.xcodeproj y ejecuta el esquema NukeDemo para probar la app de demostración
Antes de usarlo
- Solo funciona en plataformas Apple (iOS, macOS, watchOS, tvOS y visionOS).
- La rama main contiene Nuke 14, que está en desarrollo y cuyos requisitos aún no son definitivos; la versión más reciente es Nuke 13.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es Nuke?
- Sistema de carga de imágenes en Swift para plataformas Apple, con caché, procesamiento, decodificación progresiva y componentes para SwiftUI y UIKit. Nuke es un framework para cargar imágenes en iOS, macOS, watchOS, tvOS y visionOS. Carga imágenes desde URL remotas y otras fuentes mediante una canalización de imágenes que gestiona la conexión de red, la decodificación, el procesamiento y la caché. Así, el código de la app solo tiene que solicitar una imagen y mostrar el resultado.
- ¿Nuke es gratuito? ¿Qué licencia tiene?
- Nuke es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿Nuke sigue mantenido?
- Mantenimiento activo. El último commit de Nuke fue el 22 oct 2026.
- ¿Para qué puedo usar Nuke?
- Cargar imágenes remotas en una vista de lista o cuadrícula de iOS o macOS Mostrar GIF o imágenes WebP animadas en una app de SwiftUI Precargar imágenes antes de que aparezcan al desplazarse por un feed
- ¿Cómo se instala Nuke?
- Añade Nuke a tu proyecto con Swift Package Manager (recomendado) Abre Nuke.xcodeproj y ejecuta el esquema NukeDemo para probar la app de demostración
- ¿Dónde consigo Nuke?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/kean/Nuke
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Herramienta local de compresión de imágenes y GIF que prioriza la privacidad, para Web, Windows, macOS y Linux, con comparación, cambio de tamaño, conversión y renombrado.
Servidor HTTP independiente que redimensiona, recorta, procesa y convierte imágenes en tiempo real a partir de opciones codificadas en la URL.
Interfaz web autoalojada para ImageMagick, con eliminación de fondos con IA en un clic, procesamiento por lotes y editor en vivo; se despliega con Docker.
Almacén de datos en memoria que se usa como caché, servidor de estructuras de datos, almacén de documentos, base de datos vectorial y agente de mensajería.
Biblioteca de gestión de estado asíncrono y obtención de datos para aplicaciones web, con bindings para React, Vue, Svelte y Solid.