Introdução ao Kingfisher: o que é e para que serve
\n\nKingfisher é uma biblioteca poderosa e popular para Swift, projetada para carregar e armazenar em cache imagens da rede. Ela fornece aos desenvolvedores uma API simples, mas flexível, para trabalhar com imagens em aplicativos iOS, macOS, tvOS e watchOS. A biblioteca é escrita em Swift puro e é ativamente mantida pela comunidade.
\n\nPara que serve o Kingfisher? Em aplicativos móveis modernos, trabalhar com imagens é uma das tarefas principais. Os usuários esperam carregamento rápido de conteúdo, rolagem suave e consumo mínimo de dados. O Kingfisher resolve esses problemas gerenciando automaticamente o carregamento, o cache (em memória e em disco) e a exibição de imagens. Em vez de escrever código complexo para gerenciar requisições de rede, tratamento de erros e cache, você pode simplesmente chamar o método setImage(with:).
Principais recursos:
\n- \n
- Carregamento assíncrono: as imagens são carregadas em segundo plano, sem bloquear a interface do usuário. \n
- Cache em vários níveis: primeiro verifica o cache em memória (acesso rápido), depois o cache em disco (armazenamento persistente). \n
- Tratamento de erros: mecanismos integrados para lidar com erros de rede, URLs inválidos e dados corrompidos. \n
- Suporte a GIF e SVG: capacidade de exibir imagens animadas e gráficos vetoriais. \n
- Transformações de imagem: métodos integrados para redimensionar, cortar, aplicar filtros e arredondar cantos. \n
- Integração com UIKit e AppKit: extensões para UIImageView, NSImageView, UIButton e outros elementos. \n
- Cancelamento de carregamento: cancelamento automático de requisições ao reutilizar células em UITableView/UICollectionView. \n
Kingfisher não é apenas um carregador de imagens, é um framework completo para gerenciamento de conteúdo de mídia que economiza horas de desenvolvimento e melhora o desempenho do aplicativo.
\n\nInstalação do Kingfisher
\n\nO Kingfisher pode ser instalado de várias maneiras. O método recomendado é através do Swift Package Manager (SPM), pois é uma ferramenta nativa para gerenciamento de dependências em Swift.
\n\n1. Swift Package Manager (SPM) — Método recomendado
\nAbra seu projeto no Xcode, vá em File → Add Packages... e cole a URL do repositório:
\nhttps://github.com/onevcat/Kingfisher.git\nSelecione a versão (recomenda-se "Up to Next Major Version" com a versão estável mais recente) e adicione o pacote ao seu target.
\n\n2. CocoaPods
\nAdicione ao seu Podfile:
\npod 'Kingfisher', '~> 7.0'\nEm seguida, execute no terminal:
\npod install\n\n3. Carthage
\nAdicione ao seu Cartfile:
\ngithub "onevcat/Kingfisher" ~> 7.0\nEm seguida, execute:
\ncarthage update\n\n4. Instalação manual
\nBaixe a versão mais recente do GitHub e adicione os arquivos da pasta Sources/Kingfisher ao seu projeto.
Após a instalação, não se esqueça de importar a biblioteca nos arquivos onde você planeja usá-la:
\nimport Kingfisher\n\nInício rápido: primeiro exemplo
\n\nVamos começar com o exemplo mais simples — carregar uma imagem de uma URL e exibi-la em um UIImageView. Esta é a operação básica com a qual se começa a trabalhar com o Kingfisher.
\n\nimport UIKit\nimport Kingfisher\n\nclass ViewController: UIViewController {\n @IBOutlet weak var imageView: UIImageView!\n \n override func viewDidLoad() {\n super.viewDidLoad()\n \n let url = URL(string: "https://example.com/image.jpg")!\n imageView.kf.setImage(with: url)\n }\n}\n\nNeste exemplo, chamamos o método setIm
Também na biblioteca
Gson para Java: guia completo com exemplos
Knex.js para JavaScript (Node.js): guia completo com exemplos práticos
Geração Swagger/OpenAPI para JavaScript (Node.js) — ferramentas e bibliotecas
Media3 / ExoPlayer para Kotlin: guia completo com exemplos práticos