Repolode
Instagram

Instagram/IGListKit

Framework de UICollectionView orientado a dados, criado pelo Instagram para desenvolver listas iOS rápidas e flexíveis com diffing automático.

Estrelas
13,080
Forks
1,539
Issues abertas
65
Último commit
há 3 dias

O que é?

IGListKit é um framework Objective-C para criar listas usando UICollectionView. Em vez de chamar manualmente performBatchUpdates ou reloadData, os desenvolvedores descrevem os dados, e o framework calcula as diferenças entre os estados antigo e novo e aplica as atualizações à collection view.

O framework separa os modelos de dados da lógica de visualização por meio de section controllers, que permitem que uma única collection reúna vários tipos de dados e células ou componentes reutilizáveis. Um algoritmo de diffing desacoplado compara os itens, e os desenvolvedores podem personalizar como os modelos são comparados. Os componentes de diffing são compatíveis com iOS, tvOS e macOS, e o framework oferece interoperabilidade completa com Swift.

O IGListKit é mantido pela equipe de engenharia do Instagram e usado no app do Instagram. Pode ser instalado pelo CocoaPods, Carthage e Swift Package Manager, e inclui apps de exemplo no diretório Examples.

Recursos principais

  • 01Calcula diferenças automaticamente e aplica atualizações em lote à UICollectionView
  • 02Dá suporte a collections com vários tipos de dados usando section controllers
  • 03Comportamento de diffing personalizável para seus modelos
  • 04Algoritmo de diffing desacoplado, que pode ser usado de forma independente
  • 05Interoperabilidade completa com Swift

Casos de uso

  • Criar listas no estilo feed ou com conteúdo variado em um app iOS com dados que mudam com frequência
  • Substituir a lógica manual de performBatchUpdates e reloadData em collection views existentes
  • Migrar telas baseadas em tabelas para layouts baseados em collections

Início rápido

  1. 1

    Adicione o pod IGListKit ao seu Podfile

    pod 'IGListKit', '~> 5.2.0'
  2. 2

    Adicione o Swift Package pelo Xcode usando a URL do pacote

  3. 3

    Abra um app de exemplo do diretório Examples para testá-lo

Antes de usar

  • É compatível apenas com iOS, tvOS e macOS; no macOS, somente com os componentes de diffing.
  • Requer iOS 11.0 ou posterior e Swift 5.1 ou posterior.
  • Foi escrito em Objective-C, então quem usa Swift depende da interoperabilidade.

Tópicos

Perguntas frequentes

O que é IGListKit?
Framework de UICollectionView orientado a dados, criado pelo Instagram para desenvolver listas iOS rápidas e flexíveis com diffing automático. IGListKit é um framework Objective-C para criar listas usando UICollectionView. Em vez de chamar manualmente performBatchUpdates ou reloadData, os desenvolvedores descrevem os dados, e o framework calcula as diferenças entre os estados antigo e novo e aplica as atualizações à collection view.
IGListKit é gratuito? Qual é a licença?
IGListKit é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
IGListKit ainda é mantido?
Manutenção ativa. O último commit de IGListKit foi em 3 de nov. de 2026.
Para que posso usar IGListKit?
Criar listas no estilo feed ou com conteúdo variado em um app iOS com dados que mudam com frequência Substituir a lógica manual de performBatchUpdates e reloadData em collection views existentes Migrar telas baseadas em tabelas para layouts baseados em collections
Como instalar IGListKit?
Adicione o pod IGListKit ao seu Podfile: pod 'IGListKit', '~> 5.2.0' Adicione o Swift Package pelo Xcode usando a URL do pacote Abra um app de exemplo do diretório Examples para testá-lo
Onde consigo IGListKit?
O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Instagram/IGListKit

Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.

Projetos relacionados