30 open-source projects similar to instagram/iglistkit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best IGListKit alternative.
lazysizes is a JavaScript lazy loading library and DOM visibility observer that defers the loading of images and iframes until they enter the browser viewport. It functions as a responsive image optimizer and SEO friendly asset loader designed to reduce initial page load times while maintaining search engine visibility. The project calculates optimal image sizes and handles srcset and picture elements to deliver the most appropriate asset based on device resolution and layout. It includes a mechanism for low-quality image placeholders and applies CSS classes during the loading process to trig
CSStickyHeaderFlowLayout is a specialized layout wrapper for UICollectionView on iOS. It provides a sticky header list component where section headers remain pinned to the top of the screen during scrolling. The project implements parallax header effects, allowing background images to move at a different speed than foreground content to create depth. It also includes animated header images that expand or collapse based on the user's scroll position. The layout manages coordinate-based view repositioning and dynamic frame calculations to handle visual transitions. It utilizes offset-based scr
SWTableViewCell is a UIKit component and library for adding interactive swipe-to-reveal action buttons to table view cells in iOS applications. It functions as a swipe action manager and a specialized interface element designed to handle touch gestures and sliding animations for list items. The library features a layout mechanism that automatically scales the size of action buttons to fit available screen space based on the number of buttons added. It uses a system to detect touch events that trigger specific actions or slide cells back to their original positions. The system manages the spa
iCarousel is a data-driven UI library for macOS and iOS used to build interactive three-dimensional scrolling experiences. It functions as a customizable view controller that renders paged content using cylindrical or cover-flow 3D effects. The component is distinguished by its programmable perspective and visual transformation hooks, which allow for the definition of custom 3D styles and bespoke animation effects. Users can adjust viewpoint distance, alpha fading, and foreshortening to control how the vanishing point and depth appear during navigation. The library manages high-performance v
This project is a cross-framework media player and component wrapper that integrates the Video.js engine into Vue 3 and React environments. It provides a unified playback implementation that allows developers to embed a customizable video player into web applications using a declarative API. The library acts as a reactive interface, synchronizing the internal playback state and events of the media engine with the reactive state management of the host framework. This ensures consistent player behavior and logic across different frontend libraries through a shared component abstraction. It cov
This project provides a high-performance key-value storage solution for mobile applications, utilizing memory-mapped files to enable rapid read and write operations. It functions as a persistent data layer that integrates directly with the JavaScript runtime to minimize overhead, while supporting reactive state synchronization to ensure interface components update automatically when stored data changes. The storage system distinguishes itself through its ability to manage multiple independent database instances, which organizes data by module and prevents collisions between application compon
Ember.js is a structured JavaScript web framework designed for building scalable web applications. It utilizes a Model-View-Controller architectural pattern and incorporates a component-based UI library, a dependency injection framework, and a client-side routing engine. The framework distinguishes itself through a centralized registry for passing shared services across components and routes, alongside a routing system that maps URLs directly to templates and data models to manage navigation. Its broader capabilities include reactive state synchronization and computation memoization for UI p
This project is an AI-powered visual canvas and collaborative whiteboard framework. It functions as a customizable vector drawing engine and a tool for converting hand-drawn interface sketches and wireframes into functional code using artificial intelligence. The system distinguishes itself through the integration of AI agents that can read, modify, and generate visual diagrams directly on the canvas. It also provides a node-based workflow editor for building automation pipelines and data processing flows by connecting multimodal components. The platform covers a broad range of capabilities,
Litho is an Android declarative UI framework and component library used to build user interfaces through a declarative API and immutable state. It functions as an asynchronous layout engine that maps components to a structured view hierarchy to automate view updates. The framework optimizes rendering performance by computing element positions on background threads to prevent blocking the main UI thread. It further improves efficiency by flattening nested view hierarchies and caching layout results. The system includes capabilities for state reconciliation, component recycling, and the render
CollectionKit is a framework for building high-performance scrollable grids and lists on Apple platforms. It provides engines for declarative state synchronization, dynamic grid rendering, and multi-section data composition within collection views. The framework features a declarative synchronizer that calculates data differences to update interface elements without reloading the entire view. It includes a dynamic grid layout engine for rendering data in flow or waterfall patterns, and a data composer that combines different data sources into a single view with independent section providers.
tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab
Omi is a web components framework, reactive UI library, and client-side routing engine. It provides a system for building modular and reusable interface elements based on standard browser web components, using signals to synchronize data changes and update the user interface automatically. The project functions as a cross-framework component tool, exporting standard web elements that operate consistently across different third-party JavaScript libraries. Its capabilities include single-page application navigation and view routing. It also covers reactive state management, component style man
Vuefire is a Firebase integration library for Vue.js that synchronizes backend state and real-time data with reactive frontend components. It functions as a backend-as-a-service client and synchronization tool, bridging remote Firebase documents, collections, and authentication status with local application state. The library provides specialized wrappers for managing user authentication workflows and real-time database synchronization. It automates the process of linking remote data sources to reactive objects and arrays, ensuring the user interface updates instantly as backend data changes.
Vuex is a centralized state management library for Vue.js applications. It provides a single source of truth for application data, ensuring consistent state across a component tree through a reactive data store. The system organizes the global state tree into independent, namespaced modules to prevent naming collisions and maintain code organization. It distinguishes between synchronous mutations for predictable state transitions and asynchronous actions for handling complex operations. The library includes cached getters for derived state, store lifecycle hooks for mutation interception, an
MPX is a cross-platform framework designed to build applications for multiple mini-program ecosystems and the web from a single codebase. It utilizes a static transpilation pipeline to transform source code into platform-specific bundles, employing a single-file component system that encapsulates templates, logic, and styles. The framework provides a reactive state management system that automatically synchronizes application data with the user interface through computed properties and watchers. The project distinguishes itself through a robust build-time toolchain that supports sub-package p
Vue is a progressive, component-based JavaScript framework designed for building reactive user interfaces and single-page applications. It centers on a declarative template system that transforms HTML into efficient render functions, allowing developers to organize complex interfaces into isolated, reusable units that synchronize automatically with application state. The framework distinguishes itself through a dependency-tracking reactivity system that monitors data access during rendering to trigger precise updates. It provides a flexible architecture that supports both incremental adoption
TanStack Table is a headless, framework-agnostic engine designed for building complex data grids and managing tabular state. By decoupling data processing logic from the visual rendering layer, it allows developers to implement custom user interfaces while offloading sophisticated operations like sorting, filtering, grouping, and pagination to a unified, performant core. The library distinguishes itself through its commitment to type safety and environment flexibility. It leverages strict type definitions to ensure data integrity across the entire application and utilizes an adapter pattern t
Vue is a progressive JavaScript framework designed for building modular, reactive user interfaces. It utilizes a component-based architecture that allows developers to encapsulate logic, templates, and styles into reusable units. At its core, the framework employs a virtual DOM renderer and a proxy-based reactivity system to synchronize application state with the document object model efficiently. What distinguishes this framework is its focus on developer experience and flexibility. It supports a single-file component format that colocalizes related concerns, alongside a powerful composition
vue-multiselect is a suite of selection components for Vue.js that provides a searchable dropdown interface for single or multiple selections. It functions as a select input and tagging component capable of handling datasets from local sources or remote APIs. The project is distinguished by its support for asynchronous selection, enabling the retrieval of options from a remote source based on real-time search queries. It also features a dynamic tagging interface that allows users to create new custom tags when a required value is missing from the existing list. The component covers a broad r
Convex Chef is a tool that generates complete full-stack web applications from a single natural language prompt, automatically creating the database, authentication, file uploads, real-time user interface, and background workflows. It also serves as a backend orchestrator for the Convex platform, automating project creation, configuration, and deployment through API tokens. The project provides an OAuth 2.0 authorization gateway that enables cross-account access, allowing users to grant permission for managing their own Convex teams and projects. It supports prompt-to-schema compilation, wher
Multiplatform Settings is a configuration management library that provides a unified interface for key-value data persistence across Kotlin Multiplatform projects. It abstracts native storage mechanisms, allowing developers to manage application settings and user preferences consistently across Android, iOS, and desktop environments. The library distinguishes itself by supporting the serialization of complex objects, enabling the storage of non-primitive data structures directly within the settings store. It incorporates reactive patterns to facilitate real-time data observation, ensuring tha
Reselect is a memoized selector framework and state selector library designed to optimize performance in Redux applications. It provides a system for computing derived data from a state store and caching the results to prevent unnecessary user interface re-renders. The library functions as a state transformation pipeline, allowing multiple selectors to be composed into chains. This enables the creation of complex data transformation pipelines where the output of one memoized selector serves as the input for another. The framework focuses on input-based memoization and referential equality ch
This project is a collection of official plugin packages and a native integration library designed to provide a consistent interface for accessing hardware and software functionality across different mobile and desktop platforms. It serves as a native platform bridge, enabling cross-platform applications to invoke native code and manage operating system dependencies. The project utilizes a federated plugin architecture, splitting plugins into common interfaces and separate platform implementations to allow for independent development and extension. It further supports native integration throu
This framework provides a structured implementation of the Model-View-Intent pattern for Android applications. It enforces a unidirectional data flow where user intents trigger state updates, which are then propagated through reactive streams to ensure consistent and predictable interface rendering. The architecture relies on immutable state objects to represent application data, ensuring that updates are handled as complete replacements rather than partial modifications. By leveraging Kotlin Coroutines and reactive stream primitives, the framework coordinates asynchronous background tasks an
XState is a statechart logic library and finite state machine framework used to model complex application behavior. It provides a system for defining states, events, and transitions to govern how a system responds to inputs through a formal schema. The project includes a visual state machine editor that allows for the design of state machine diagrams which automatically generate the corresponding logic and code. It implements an actor model to manage independent concurrent entities that communicate via asynchronous events to coordinate behavioral flows. The framework covers event-driven stat
Locomotive Scroll is a JavaScript library and toolkit for managing DOM scroll interactions, featuring a smooth scroll motion controller and a parallax scrolling engine. It provides a system for implementing fluid scrolling and tracking element visibility within the viewport. The library creates depth and motion by moving elements at different speeds relative to the scroll position. It includes a viewport visibility tracker used to initiate visual transitions and animations when specific elements enter the browser viewport. The toolkit covers programmatic scroll control, dynamic element regis
in-view is a DOM visibility detector and intersection observer wrapper. It serves as a viewport transition handler that triggers callbacks and events when specific screen elements enter or exit the browser window. The library provides a system for configuring visibility criteria using pixel offsets, percentages, or custom test functions. It includes utilities for observing visibility changes, performing manual visibility evaluations, and checking the current status of an element within the visible area. These capabilities support application patterns such as lazy loading, infinite scrolling,
react-waypoint is a React component and viewport tracking tool that executes functions based on the visibility of a DOM node within a scrollable area. It monitors when elements enter or leave the browser viewport or a specified scroll container to trigger callbacks. The project enables the implementation of infinite scrolling, asset lazy loading, and scroll-triggered animations. It allows for custom scroll container definitions and viewport boundary configurations using offsets to determine exactly when events fire. The tool provides element position tracking and visibility monitoring for bo
vue-lazyload is a Vue.js image lazy loading plugin and frontend asset optimizer. It serves as a viewport visibility observer that defers the loading of images and components until they enter the browser viewport to reduce initial page load times. The project functions as a progressive image loader by managing image placeholders and implementing dynamic source switching. It uses a browser API to monitor when elements enter the viewport, avoiding expensive scroll event listeners to maintain performance. The plugin provides capabilities for image loading state tracking, including custom placeho
WOW is a JavaScript library and animation engine designed to trigger CSS animations when elements enter the browser viewport during page scrolling. It serves as a tool for orchestrating visual transitions based on the user's scroll position and element visibility. The library functions as a dynamic content animation tool, capable of detecting and animating new elements added to the page after the initial load. This allows visual effects to be applied to dynamically injected content without requiring a page refresh. The system utilizes the Intersection Observer API to detect viewport entry an