Bereitstellung von Bildern seit 2015
Laden Sie Bilder aus verschiedenen Quellen und zeigen Sie sie mithilfe einfacher und flexibler APIs in Ihrer App an. Profitieren Sie von den leistungsstarken Bildverarbeitungsfunktionen und einem robusten Caching-System.
Das Framework ist schlank und lässt sich in weniger als 2 Sekunden kompilieren¹. Es verfügt über eine automatisierte Testsuite, die doppelt so groß ist wie die Codebasis, was eine hervorragende Zuverlässigkeit gewährleistet. Nuke ist auf Leistung optimiert und seine fortschrittliche Architektur ermöglicht nahezu unbegrenzte Anpassungsmöglichkeiten.
Speicher und Festplatten-Cache · Bildverarbeitung und -dekomprimierung · Anforderungszusammenführung und -priorität · Prefetching · Wiederaufnehmbare Downloads · Progressive JPEG · HEIF, WebP, SVG, GIF · SwiftUI · Async/Await
Lapse : Freunde, keine Follower .
Nuke wird außerdem unterstützt von:
Stellvertreter | Rücktaste-Reise |
Nuke unterstützt Swift Package Manager, was die empfohlene Option ist. Wenn das bei Ihnen nicht funktioniert, können Sie binäre Frameworks verwenden, die den Releases beigefügt sind.
Im Lieferumfang des Pakets sind vier Module enthalten, die Sie je nach Bedarf installieren können:
Modul | Beschreibung |
---|---|
Nuklear | Das schlanke Kernframework mit ImagePipeline , ImageRequest und mehr |
NukeUI | Die UI-Komponenten: LazyImage (SwiftUI) und ImageView (UIKit, AppKit) |
NukeExtensions | Die Erweiterungen für UIImageView (UIKit, AppKit) |
NukeVideo | Die Komponenten zum Dekodieren und Abspielen kurzer Videos |
Nuke ist dank seiner umfangreichen Dokumentation und einer modernen API einfach zu erlernen und zu verwenden.
Sie können Bilder mit ImagePipeline
aus dem Lean-Core- Nuke- Modul laden:
func loadImage() async throws { let imageTask = ImagePipeline.shared.imageTask(with: url) für den Fortschritt in imageTask.progress abwarten { // Fortschritt aktualisieren } imageView.image = versuchen Sie, auf imageTask.image zu warten.
Oder Sie können die integrierten UI-Komponenten aus dem NukeUI- Modul verwenden:
struct ContentView: View { var body: some View { LazyImage(url: URL(string: "https://example.com/image.jpeg")) }}
Der Leitfaden „Erste Schritte “ ist der beste Ort, um mehr über diese und viele andere vom Framework bereitgestellte APIs zu erfahren. Weitere Anwendungsbeispiele finden Sie in der Nuke-Demo .
Die Bildpipeline lässt sich einfach anpassen und erweitern. Schauen Sie sich die folgenden erstklassigen Erweiterungen und Pakete an, die von der Community erstellt wurden.
Name | Beschreibung |
---|---|
Alamofire-Plugin | Ersetzen Sie die Netzwerkschicht durch Alamofire |
NukeWebP | Gemeinschaft . WebP-Unterstützung, erstellt von Maxim Kolesnik |
WebP-Plugin | Gemeinschaft . WebP-Unterstützung, erstellt von Ryo Kosuge |
AVIF-Plugin | Gemeinschaft . AVIF-Unterstützung, erstellt von Denis |
RxNuke | RxSwift-Erweiterungen für Nuke mit Beispielen |
Suchen Sie nach einer Möglichkeit, Ihre Netzwerkanfragen, einschließlich Bildanfragen, zu protokollieren? Schauen Sie sich Pulse an.
Upgrade von der Vorgängerversion? Verwenden Sie einen Migrationsleitfaden .
Nuklear | Datum | Schnell | Xcode | Plattformen |
---|---|---|---|---|
Nuke 12.0 | 4. März 2023 | Swift 5.7 | Xcode 15.0 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
Nuke 11.0 | 20. Juli 2022 | Swift 5.6 | Xcode 13.3 | iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0 |
Nuke 10.0 | 1. Juni 2021 | Swift 5.3 | Xcode 12.0 | iOS 11.0, watchOS 4.0, macOS 10.13, tvOS 11.0 |
Ab Version 12.3 wird Nuke auch mit visionOS-Unterstützung ausgeliefert (in der Beta-Phase).
Nuke ist unter der MIT-Lizenz verfügbar. Weitere Informationen finden Sie in der LICENSE-Datei.
¹ Gemessen auf MacBook Pro 14" 2021 (10-Core M1 Pro)