Github stars icon

6996

Github forks icon

452

Github watchers icon

95

Last commit: 12 days ago

Open issues: 12

License: MIT

Last update: about 13 hours ago

Nuke Overview

Nuke provides an efficient way to download and display images in your app. It's easy to learn and easy to use thanks to a clear and concise API. Its architecture enables many powerful features while offering virtually unlimited possibilities for customisation.

Despite the number of features, the framework is lean and compiles in under 2 seconds. Nuke has an automated test suite 2x the size of the codebase itself, ensuring excellent reliability. Every feature is carefully designed and optimised for performance.

Features include:

  • Fast LRU memory and disk cache
  • SwiftUI
  • Smart background decompression
  • Image processing
  • Resumable downloads
  • Intelligent deduplication
  • Request prioritization
  • Prefetching
  • Rate limiting
  • Progressive JPEG, HEIF, WebP, SVG, GIF
  • Alamofire
  • Combine
  • Async/Await

Whats good about Nuke

  • Progressive rendering for JPEG and WebP
  • Although not being impartial the performance is better, you can see results here
  • Minimises work in the main thread, keeping your application smooth and performant
  • Beautiful docs
  • Publicly visible roadmap

Nuke latest README

Image Loading System

Nuke provides an efficient way to download and display images in your app. It's easy to learn and use. Its architecture enables many powerful features while offering virtually unlimited possibilities for customization.

The framework is lean and compiles in under 2 seconds¹. Nuke has an automated test suite 2x the size of the codebase itself, ensuring excellent reliability. Every feature is carefully designed and optimized for performance.

Fast LRU memory and disk cache · SwiftUI · Smart background decompression · Image processing · Resumable downloads · Intelligent deduplication · Request prioritization · Prefetching · Rate limiting · Progressive JPEG, HEIF, WebP, SVG, GIF · Alamofire · Combine · Async/Await

Sponsors

Stream Logo Stream Logo

Nuke is proudly sponsored by Stream, the leading provider in enterprise grade Feed & Chat APIs.

Support Nuke on GitHub Sponsors.

Documentation

Nuke is easy to learn and use thanks to documentation generated using DocC: Nuke, NukeUI, NukeExtensions. Make sure to also check out Nuke Demo.

Upgrading from the previous version? Use a Migration Guide.

Nuke Docs

Extensions

The image pipeline is easy to customize and extend. Check out the following first-class extensions and packages built by the community.

Name Description
Pulse A network logging framework with easy integration
Alamofire Plugin Replace networking layer with Alamofire
NukeWebP Community. WebP support, built by Maxim Kolesnik
WebP Plugin Community. WebP support, built by Ryo Kosuge
AVIF Plugin Community. AVIF support, built by Denis
RxNuke RxSwift extensions for Nuke with examples

Dependencies

NukeUI uses Gifu to display GIFs. The library is embedded in the NukeUI source code and is kept private.

Minimum Requirements

Nuke Date Swift Xcode Platforms
Nuke 11.0 Jul 20, 2022 Swift 5.6 Xcode 13.3 iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0
Nuke 10.0 Jun 1, 2021 Swift 5.3 Xcode 12.0 iOS 11.0, watchOS 4.0, macOS 10.13, tvOS 11.0

License

Nuke is available under the MIT license. See the LICENSE file for more info.


¹ Measured on MacBook Pro 14" 2021 (10-core M1 Pro)