Sirviendo imágenes desde 2015
Cargue imágenes de diferentes fuentes y muéstrelas en su aplicación utilizando API simples y flexibles. Aproveche las potentes capacidades de procesamiento de imágenes y un sólido sistema de almacenamiento en caché.
El marco es sencillo y se compila en menos de 2 segundos¹. Tiene un conjunto de pruebas automatizado que duplica el tamaño del código base, lo que garantiza una excelente confiabilidad. Nuke está optimizado para el rendimiento y su arquitectura avanzada permite posibilidades de personalización prácticamente ilimitadas.
Memoria caché y disco · Procesamiento y descompresión de imágenes · Solicitud de fusión y prioridad · Precarga · Descargas reanudables · JPEG progresivo · HEIF, WebP, SVG, GIF · SwiftUI · Async/Await
Lapso : amigos, no seguidores .
Nuke también cuenta con el apoyo de:
apoderado | Viaje de retroceso |
Nuke es compatible con Swift Package Manager, que es la opción recomendada. Si eso no funciona para usted, puede usar marcos binarios adjuntos a las versiones.
El paquete se envía con cuatro módulos que puede instalar según sus necesidades:
Módulo | Descripción |
---|---|
bomba nuclear | El marco central lean con ImagePipeline , ImageRequest y más |
NukeUI | Los componentes de la interfaz de usuario: LazyImage (SwiftUI) e ImageView (UIKit, AppKit) |
Extensiones nucleares | Las extensiones para UIImageView (UIKit, AppKit) |
Vídeo nuclear | Los componentes para decodificar y reproducir vídeos cortos. |
Nuke es fácil de aprender y usar gracias a su extensa documentación y una API moderna.
Puede cargar imágenes usando ImagePipeline
desde el módulo lean core de Nuke :
func loadImage() async throws { let imageTask = ImagePipeline.shared.imageTask(con: url) para esperar el progreso en imageTask.progress { // Actualizar el progreso} imageView.image = intenta esperar imageTask.image}
O puede utilizar los componentes de interfaz de usuario integrados del módulo NukeUI :
estructura ContentView: Ver { var cuerpo: alguna Vista { LazyImage (url: URL (cadena: "https://example.com/image.jpeg")) }}
La guía de introducción es el mejor lugar para empezar a aprender sobre estas y muchas otras API proporcionadas por el marco. Consulte Nuke Demo para ver más ejemplos de uso.
La canalización de imágenes es fácil de personalizar y ampliar. Consulte las siguientes extensiones y paquetes de primera clase creados por la comunidad.
Nombre | Descripción |
---|---|
Complemento Alamofire | Reemplazar la capa de red con Alamofire |
NukeWebP | Comunidad . Soporte WebP, creado por Maxim Kolesnik |
Complemento WebP | Comunidad . Soporte WebP, creado por Ryo Kosuge |
Complemento AVIF | Comunidad . Soporte AVIF, construido por Denis |
RxNuke | Extensiones RxSwift para Nuke con ejemplos |
¿Busca una manera de registrar sus solicitudes de red, incluidas las solicitudes de imágenes? Consulte Pulso .
¿Actualizando desde la versión anterior? Utilice una guía de migración .
bomba nuclear | Fecha | Rápido | Xcode | Plataformas |
---|---|---|---|---|
Bomba nuclear 12.0 | 4 de marzo de 2023 | Rápido 5.7 | Xcódigo 15.0 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
Bomba nuclear 11.0 | 20 de julio de 2022 | Rápido 5.6 | Xcódigo 13.3 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
Bomba nuclear 10.0 | 1 de junio de 2021 | Rápido 5.3 | Xcode 12.0 | iOS 11.0, watchOS 4.0, macOS 10.13, tvOS 11.0 |
A partir de la versión 12.3, Nuke también incluye soporte para visionOS (en versión beta)
Nuke está disponible bajo la licencia MIT. Consulte el archivo de LICENCIA para obtener más información.
¹ Medido en MacBook Pro 14" 2021 (M1 Pro de 10 núcleos)