Лёгкая библиотека на чистом Swift для загрузки, кэширования и отображения изображений из интернета в приложениях для iOS, macOS и SwiftUI.
kean/Nuke
Система загрузки изображений на Swift для платформ Apple с кэшированием, обработкой, прогрессивным декодированием и компонентами для SwiftUI и UIKit.
- Звёзды
- 8,684
- Форки
- 575
- Открытые issues
- 25
- Последний коммит
- позавчера
Что это?
Nuke — фреймворк для загрузки изображений в iOS, macOS, watchOS, tvOS и visionOS. Он загружает изображения по удалённым URL и из других источников через конвейер обработки изображений, который отвечает за сетевые запросы, декодирование, обработку и кэширование. Поэтому в коде приложения достаточно запросить изображение и отобразить результат.
Основной модуль предоставляет ImagePipeline с кэшами в памяти и на диске, объединением запросов, управлением приоритетами, предварительной загрузкой и возможностью возобновлять загрузки. Обработка изображений и декомпрессия выполняются в конвейере. Поддерживаются progressive JPEG, HEIF, WebP, GIF и анимированные изображения. За ходом загрузки можно следить с помощью async sequences.
NukeUI предоставляет готовые представления: LazyImage для SwiftUI и LazyImageView с ImageLoader для UIKit и AppKit. Отдельные модули отвечают за воспроизведение видео, а в репозитории вместе с дистрибутивом для Swift Package Manager есть демоприложение.
Ключевые возможности
- 01Кэширование загруженных изображений в памяти и на диске
- 02Обработка изображений и декомпрессия в конвейере
- 03Объединение запросов, управление приоритетами и предварительная загрузка
- 04Возобновляемые загрузки и поддержка progressive JPEG
- 05Декодирование HEIF, WebP, GIF и анимированных изображений
- 06Компоненты отображения для SwiftUI, UIKit и AppKit
Сценарии использования
- Загрузка удалённых изображений в списке или сетке приложения для iOS или macOS
- Отображение анимированных GIF- или WebP-изображений в приложении на SwiftUI
- Предварительная загрузка изображений при прокрутке ленты
Быстрый старт
- 1
Добавьте Nuke в проект с помощью Swift Package Manager (рекомендуется)
- 2
Откройте Nuke.xcodeproj и запустите схему NukeDemo, чтобы попробовать демо-приложение
Что важно знать
- Работает только на платформах Apple (iOS, macOS, watchOS, tvOS, visionOS).
- В ветке main находится Nuke 14, который ещё разрабатывается, поэтому его требования пока не окончательны; последний релиз — Nuke 13.
В подборках
Темы
Частые вопросы
- Что такое Nuke?
- Система загрузки изображений на Swift для платформ Apple с кэшированием, обработкой, прогрессивным декодированием и компонентами для SwiftUI и UIKit. Nuke — фреймворк для загрузки изображений в iOS, macOS, watchOS, tvOS и visionOS. Он загружает изображения по удалённым URL и из других источников через конвейер обработки изображений, который отвечает за сетевые запросы, декодирование, обработку и кэширование. Поэтому в коде приложения достаточно запросить изображение и отобразить результат.
- Nuke можно использовать бесплатно? Какая у него лицензия?
- Nuke распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- Nuke всё ещё поддерживается?
- Активно поддерживается. Последний коммит в Nuke — 22 окт. 2026 г..
- Для чего можно использовать Nuke?
- Загрузка удалённых изображений в списке или сетке приложения для iOS или macOS Отображение анимированных GIF- или WebP-изображений в приложении на SwiftUI Предварительная загрузка изображений при прокрутке ленты
- Как установить Nuke?
- Добавьте Nuke в проект с помощью Swift Package Manager (рекомендуется) Откройте Nuke.xcodeproj и запустите схему NukeDemo, чтобы попробовать демо-приложение
- Где скачать Nuke?
- Исходный код и инструкции по установке — на GitHub: https://github.com/kean/Nuke
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Локальная мастерская для сжатия изображений и GIF с приоритетом конфиденциальности: веб-версия, Windows, macOS и Linux; сравнение, изменение размера, конвертация и переименование.
Автономный HTTP-сервер, который на лету изменяет размер и обрезает изображения, применяет к ним эффекты и конвертирует их по параметрам, заданным в URL.
Локально размещаемый веб-интерфейс для ImageMagick: удаление фона с помощью AI в один клик, пакетная обработка и редактор с предпросмотром; развёртывание через Docker.
Хранилище данных в памяти для кэширования, работы со структурами данных и документами, векторного поиска и обмена сообщениями.
Библиотека для управления асинхронным состоянием и загрузки данных в веб-приложениях с поддержкой React, Vue, Svelte и Solid.