← Ко всем open source проектам

SDWebImage

SDWebImage/SDWebImage

SDWebImage — библиотека для асинхронной загрузки и кеширования изображений в приложениях Apple.

Форки 5,965
Автор SDWebImage
Язык Objective-C
Лицензия MIT
Обновлено 2026-06-27

Что это такое

SDWebImage — библиотека для асинхронной загрузки изображений с поддержкой кеша. Исторически она известна категориями для UIKit-элементов вроде UIImageView и UIButton.

Префикс SD связан с Simple Design, командным названием в Daily Motion, где работал автор Olivier Poitrey. Проект давно стал самостоятельной частью Apple-экосистемы.

Что внутри

Библиотека включает загрузчик, кеш в памяти и на диске, фоновую декомпрессию, progressive loading, thumbnail decoding и расширяемые кодеры для форматов вроде WebP, HEIF, JPEG, PNG и GIF.

Вокруг основного пакета есть модули для SwiftUI, дополнительных форматов, собственных кешей, загрузчиков и интеграций с другими библиотеками.

Как используют

SDWebImage ставят в мобильные приложения, где много сетевых изображений: ленты, профили, каталоги, новости, чаты и галереи. Библиотека берет на себя повторяющиеся детали загрузки и кеширования.

Пользовательский интерфейс выигрывает от того, что тяжелая работа с изображениями не блокирует главный поток. Это особенно заметно в прокручиваемых списках.

Пример

Синтаксис Swift показан как обычный текст. Фрагмент демонстрирует суть: элемент интерфейса получает URL, а библиотека занимается загрузкой и кешем.

Загрузка изображения в UIImageView

Пример показывает обычный сценарий: передать URL элементу интерфейса и позволить библиотеке обработать загрузку.

Язык: Plain text
imageView.sd_setImage(
    with: URL(string: "https://example.com/avatar.png"),
    placeholderImage: UIImage(named: "avatar-placeholder")
)

Сильные стороны и ограничения

Сильная сторона SDWebImage — зрелость и широкий набор форматов. Для типового приложения она закрывает большую часть работы с сетевыми изображениями.

Ограничение — необходимость понимать кеш. Если не контролировать размер, срок жизни и стратегию очистки, удобная библиотека может незаметно съесть память или диск.

Контекст проекта

SDWebImage ведется в репозитории SDWebImage/SDWebImage; публичная история проекта начинается 2009-09-21. Основной язык, который показывает GitHub, — Objective-C, лицензия — MIT. Есть отдельный сайт проекта: https://sdwebimage.github.io.

Для страницы каталога это важно как практический контекст: читатель видит не абстрактное название, а реальный проект с владельцем, лицензией, технической базой и открытой историей изменений.