• Stars
    star
    7,830
  • Rank 4,568 (Top 0.1 %)
  • Language
    Swift
  • License
    MIT License
  • Created about 9 years ago
  • Updated 9 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Image loading system

Image Loading System

Load images from different sources and display them in your app using simple and flexible APIs. Take advantage of the powerful image processing capabilities and a robust caching system.

The framework is lean and compiles in under 2 seconds鹿. It has an automated test suite 2x the codebase size, ensuring excellent reliability. Nuke is optimized for performance, and its advanced architecture enables virtually unlimited possibilities for customization.

Fast LRU memory and disk cacheSwiftUISmart background decompressionImage processingResumable downloadsIntelligent deduplicationRequest prioritizationPrefetchingRate limitingProgressive JPEG, HEIF, WebP, SVG, GIFAlamofireCombineAsync/Await

Sponsors

Proxyman Logo Nami LogoNami Logo

Support Nuke on GitHub Sponsors.

Installation

Nuke supports Swift Package Manager, which is the recommended option. If that doesn't work for you, you can use binary frameworks attached to the releases.

Documentation

Nuke is easy to learn and use thanks to an extensive documentation. The best place to start is the Getting Started guide.

Nuke package ships with four modules that you can install depending on your needs:

Module Description
Nuke The lean core framework with ImagePipeline, ImageRequest, and more
NukeUI The UI components: LazyImage (SwiftUI) and ImageView (UIKit, AppKit)
NukeExtensions The extensions for UIImageView (UIKit, AppKit)
NukeVideo The components for decoding and playing short videos

To see more usage examples, 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
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

Looking for a way to log your network requests, including image requests? Check out Pulse.

Minimum Requirements

Nuke Date Swift Xcode Platforms
Nuke 12.0 Mar 4, 2023 Swift 5.7 Xcode 14.1 iOS 13.0, watchOS 6.0, macOS 10.15, tvOS 13.0
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

Starting with version 12.3, Nuke also ships with visionOS support (in beta)

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)

More Repositories

1

Pulse

Network Logger for Apple platforms
Swift
5,914
star
2

DFImageManager

Image loading, processing, caching and preheating
Objective-C
1,182
star
3

Get

Web API client built using async/await
Swift
896
star
4

Preheat

Automates prefetching of content in UITableView and UICollectionView
Swift
630
star
5

PulsePro

A macOS app for viewing logs from Pulse
Swift
485
star
6

Align

Intuitive and powerful Auto Layout library
Swift
352
star
7

Future

Streamlined Future<Value, Error> implementation
Swift
318
star
8

FetchImage

Makes it easy to download images using Nuke and display them in SwiftUI apps
Swift
212
star
9

Arranged

Open source replacement of UIStackView for iOS 8 (100% layouts supported)
Swift
209
star
10

Regex

Open source regex engine
Swift
202
star
11

Formatting

Swift
177
star
12

VPN

Sample custom VPN client/server in Swift
Swift
169
star
13

DFCache

Composite LRU cache with fast metadata using UNIX extended file attributes
Objective-C
162
star
14

RxNuke

RxSwift extensions for Nuke
Swift
149
star
15

CreateAPI

Delightful code generator for OpenAPI specs
Swift
142
star
16

SwiftSQL

Swift API for SQLite
Swift
131
star
17

ThreeColumnNavigation

A minimal example of three-column navigation for iPad and macOS using SwiftUI
Swift
125
star
18

Stacks

A micro UIStackView convenience API inspired by SwiftUI
Swift
73
star
19

Nuke-FLAnimatedImage-Plugin

FLAnimatedImage plugin for Nuke
Swift
53
star
20

RxUI

Auto-binding for RxSwift inspired by SwiftUI
Swift
42
star
21

Nuke-Alamofire-Plugin

Alamofire plugin for Nuke
Swift
39
star
22

DFJPEGTurbo

Objective-C libjpeg-turbo wrapper
C
33
star
23

NukeDemo

Nuke Demo
Swift
30
star
24

ImagePublisher

Combine publishers for Nuke
Swift
25
star
25

articles

Articles for kean.github.io
18
star
26

URLQueryEncoder

URL query encoder with support for all OpenAPI serialization options
Swift
17
star
27

NukeUI

Lazy image loading for Apple platforms: SwiftUI, UIKit, AppKit
Swift
15
star
28

NukeBuilder

A fun and convenient way to use Nuke
Swift
14
star
29

ScrollViewPrefetcher

Prefetching for SwiftUI
Swift
14
star
30

PulseLogHandler

SwiftLog Extension for Pulse
Swift
12
star
31

HTTPHeaders

Parsing Simple HTTP Headers
Swift
11
star
32

OctoKit

GitHub API client built with Fuse
Swift
8
star
33

PulseApps

Base Pulse macOS and iOS apps and a few demo projects
Swift
7
star