30 open-source projects similar to soysaucelab/collectionkit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best CollectionKit alternative.
CHTCollectionViewWaterfallLayout is a custom layout for iOS collection views designed to organize items of varying heights into a masonry-style grid. It enables the display of dynamic content in multiple columns to optimize screen space and visual flow. The layout allows for specific configuration of column counts and item population directions, including left-to-right, right-to-left, and shortest-column-first rendering patterns. This approach minimizes vertical gaps by placing items into the column with the lowest current height. The system also manages section-level accessories, integratin
This project is a suite of visual components and interface models designed to create animated transitions between condensed grid previews and expanded detail views. It provides a card transition library and SwiftUI animated UI components that enable a peek-and-pop interface where small preview cards expand into full-screen content. The system implements an animated grid layout that allows collections of cards to expand and contract to reveal more information. These interactions are supported by animations that transform small content cells into full-screen interfaces to maintain visual contin
This repository is a collection of reference implementations and galleries demonstrating best practices for the Android View system. It provides a set of practical examples for building user interfaces, including a component gallery and implementation guides for layouts, list performance, and motion design. The project distinguishes itself through detailed samples for coordinating layout animations and transition effects. It includes specialized demonstrations for complex motion animations using keyframes and interpolation, as well as a visualization tool for animation interpolation curves to
CSStickyHeaderFlowLayout is a custom layout subclass for iOS collection views designed to implement sticky section headers and parallax effects. It manages the positioning of headers to ensure they remain pinned to the top of the viewport as the user scrolls through a list. The layout utilizes push-based displacement to remove a pinned header once the subsequent section header reaches the top of the screen. It also incorporates linear interpolation to move header imagery at a different rate than the scroll offset, creating a visual sense of depth. These capabilities are achieved through dyna
AnimatedCollectionViewLayout is a layout engine and animation framework for UIKit collection views. It provides a system for managing item positioning and fluid visual transitions within the iOS user interface. The project focuses on custom layout transition tools and a scroll animator capable of applying real-time parallax and zooming effects. These capabilities allow for the definition of unique animation paths and attribute transitions through a protocol-based implementation. The framework covers a broad range of visual effects, including scroll-based transitions and layout attribute inte
Snabbdom is a virtual DOM library and DOM diffing engine used to create and update user interfaces by synchronizing a virtual tree with the browser. It functions as a modular UI framework that provides a system for generating virtual nodes and transforming them into actual browser elements. The project features a modular architecture that separates core rendering logic from optional components. It includes a dedicated SVG rendering engine for managing scalable vector graphics within a virtualized document object model. The library covers a broad range of capabilities, including lifecycle hoo
bricks.js is a masonry layout engine and responsive grid layout tool used for arranging fixed-width elements into a packed grid system. It functions as a dynamic element packer that calculates the absolute positions of items based on specific size parameters. The library distinguishes itself through incremental layout integration, utilizing a system that identifies and merges newly added elements into an existing layout without recalculating every item on the page. It also includes a mechanism for tracking browser window dimensions to trigger layout repacks when screen sizes match predefined
Recyclerlistview is a cross-platform virtualized list component for React Native and web. It functions as a cell-recycling UI library that reuses a small set of off-screen components by updating their data rather than creating new views for every item. The framework includes a dynamic grid layout engine that supports staggered grids and variable item heights, allowing for instant switching between list and grid view modes. The library provides capabilities for virtual scrolling management, including viewability tracking, sticky headers, and scroll position restoration. It also supports infin
Westore is a mini program MVVM framework and cross-platform logic layer designed to isolate application behavior from platform-specific rendering environments. It functions as a decoupled state manager and data binding engine that separates business logic from the user interface. The framework utilizes a model-view-viewModel architecture to maintain a portable model layer, allowing business logic to be tested using mock objects without a running user interface. It employs a diffing process to calculate the shortest data path and automatically update the user interface. The system covers head
This project is a reference guide and technical resource for building user interfaces with the SwiftUI framework. It provides a comprehensive collection of code examples, documentation, and a component library of reusable view implementations and layout patterns. The resource includes a compatibility map that links modern declarative views to their equivalent imperative counterparts in the UIKit framework. This documentation assists with the migration from UIKit to SwiftUI by providing guidance on wrapping legacy view controllers and view subclasses within a declarative hierarchy. The guide
Packery is a JavaScript bin-packing grid layout engine and DOM element positioning library. It arranges elements of varying sizes into a gapless, compact grid by calculating and applying absolute coordinates to HTML elements to prevent overlapping. The library enables the creation of draggable grid interfaces, allowing users to rearrange elements via drag-and-drop while the system automatically reflows the remaining items. It maintains stable, responsive layouts across different screen dimensions by using a percentage-based positioning system and responding to window resize events. The tool
IGListKit is a data-driven list manager and framework for iOS that decouples data models from cell logic. It serves as a wrapper for collection views, using a system of section controllers to map specific data model types to independent objects that manage the logic and sizing for list sections. The project features a diffing algorithm library that calculates the minimal set of changes between two data collections. By using unique identifiers and equality tracking, it identifies inserts, deletes, and moves to trigger animated updates instead of full interface reloads. The framework covers a
This project is a collection of reference implementations and code samples for building cross-platform user interfaces using the Xamarin.Forms framework. It provides practical examples for developing mobile and desktop applications from a single codebase targeting multiple operating systems. The repository focuses on architectural patterns and integration strategies, specifically demonstrating the use of MVVM to synchronize data between models and views. It includes samples for native platform integration, such as invoking platform-specific APIs and creating custom renderers to override defau
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
re-frame is a functional framework for building single-page applications in ClojureScript. It provides a centralized, immutable database that serves as the single source of truth for the entire application state, enforcing a strict unidirectional data flow where events trigger state transitions and subsequent view updates. The framework distinguishes itself through a reactive signal graph and an interceptor-based middleware pipeline. By treating application logic as a sequence of data-driven events and declarative side effects, it decouples business logic from the view layer. This architectur
MyLinearLayout is an Objective-C UI layout framework and responsive layout engine for iOS. It serves as a multi-pattern view orchestrator that organizes interface elements using a combination of linear, relative, and grid layout patterns. The library brings CSS flexbox and floating element behavior to iOS views for dynamic space distribution. It includes a dedicated system for right-to-left language orientations, providing automatic mirroring of interface elements to support localized layouts. The framework covers a broad range of arrangement strategies, including flow-based element wrapping
InstantSearch is a JavaScript search framework and UI library designed for building instant search and discovery interfaces using the Algolia API. It provides a toolkit for implementing search logic, state synchronization, and result rendering across various environments, including dedicated component libraries for React and Vue.js. The framework decouples search data processing from the UI layer through a connector-based logic abstraction and a provider pattern for state distribution. This allows developers to build custom search behaviors by transforming connectors into hooks and assembling
This project is an advanced CSS learning curriculum consisting of starter files and final projects. It provides a collection of real-world implementations and a project gallery designed for mastering modern layout and styling techniques. The curriculum focuses on a modular approach to stylesheets using Sass variables and architecture. It emphasizes the block-element-modifier naming convention to create maintainable and reusable CSS. The material covers several core capability areas, including responsive web design using CSS Grid, Flexbox, and media queries. It also includes the development o
Searchkit is a search UI framework designed for building search interfaces with React and Vue that connect to Elasticsearch and OpenSearch backends. It provides a search query translation layer to convert frontend search states into engine-specific query languages and a result rendering engine to display hits, facet menus, and pagination. The framework includes a semantic search interface that enables vector-based nearest neighbor searches and natural language processing. It differentiates itself through an adapter-based translation system and a component-based UI mapping that connects search
django-grappelli is a visual and functional framework for the administration interface, providing a grid-based theme, UI kit, and a customizable landing page dashboard. It replaces the default administration interface with a structured layout designed to organize model forms and changelists. The project distinguishes itself through specific interface enhancements, such as autocomplete lookups for relational fields, rich text editor integration, and the ability to drag-and-drop reorder inline model rows. It also includes a context-switching mechanism that allows administrators to impersonate o
json-editor is a schema-driven UI generator and web-based editor that automatically creates interactive HTML forms from JSON Schema definitions. It functions as a tool for collecting, modifying, and validating structured data by mapping schema specifications to corresponding input components. The project distinguishes itself through a plug-in input architecture and resolver-based component mapping, which allow for the injection of third-party editors and custom input interfaces for specialized data types such as markdown, colors, and syntax-highlighted code. It also supports external schema r
AndroidSwipeLayout is an Android UI library and custom view framework that enables the creation of layouts that reveal hidden action buttons when a user performs a swipe gesture. It functions as a gesture-based UI component that triggers callbacks based on the real-time position of the swipe. The framework is designed to support complex interaction patterns, specifically allowing for the nesting of multiple swipeable components within one another. The library covers mobile gesture interaction and custom view orchestration, providing tools to track swipe states and synchronize UI changes duri
Material-Animations is a Java-based library for coordinating activity transitions, property animations, and reveal effects within Android mobile user interfaces. It provides a framework for automating visual updates whenever view properties or layout configurations are modified. The project implements high-level patterns for shared element transitions, linking independent views across different sections to simulate a single moving element. It also includes circular reveal masking to unveil content from a specific focal point and coordinate-based view mapping to execute translation and scaling
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
Ganache-UI is a visual interface and dashboard for managing a local Ethereum blockchain environment. It functions as a local blockchain simulator and node dashboard, providing a graphical way to develop and test smart contracts without connecting to a public network. The project provides tools for monitoring blockchain state, inspecting transaction logs, and visualizing blocks and account balances. It serves as a debugger for Ethereum applications, allowing for the simulation of transactions and verification of contract behavior during the development workflow. The interface handles client-s
SimplifyReader is a multi-purpose Android client and multimedia content browser. It serves as a centralized hub for consuming news articles, audio files, video streams, and image galleries, while also providing QR code scanning functionality. The application is built using the Model-View-Presenter architecture to separate data logic from the user interface and implements Google Material Design principles for its visual components. It utilizes a hybrid scanning engine to decode QR codes into text strings. The project covers several core capability areas, including news article consumption via
FlycoTabLayout is a Java-based library for building tabbed navigation interfaces in Android applications. It functions as a custom view component and navigation tool that allows developers to organize content into switchable categories using customizable indicators and animations. The library distinguishes itself through integrated notification badge components that display unread message tips and status indicators directly on individual tabs. It also provides specialized navigation synchronization, allowing the tab layout to function as a standalone component or as a linked navigation bar ti
lxmusic- is a cross-platform audio player and music streaming client designed to aggregate audio tracks from various third-party providers into a single unified playback interface. It functions as a music aggregator that translates disparate responses from multiple music service endpoints into a standardized format for centralized search and playback. The application utilizes a plugin-based architecture to integrate new music content providers through dynamic loading without requiring modifications to the core logic. This allows the player to wrap multiple third-party APIs and route diverse a
TwinklingRefreshLayout is a pull-to-refresh layout for Android that provides a scrollable container for implementing refresh and load-more functionality. It acts as a view wrapper for components such as RecyclerView, ScrollView, and WebView to ensure consistent refreshing and loading behaviors across different scrollable views. The project distinguishes itself through an overscroll rebound component that creates an elastic bouncing animation when users scroll past layout boundaries. It includes a system for custom refresh indicators, allowing header and footer views to animate their visual st
This project is a CSS layout framework that functions as a responsive UI geometry solver. It replaces traditional static box model calculations with a constraint-based engine that determines element positions and dimensions by evaluating relational rules. The engine distinguishes itself by using a system of linear equations to resolve geometric conflicts, ensuring that all spatial constraints are satisfied simultaneously. It utilizes a shorthand visual syntax to define these relationships, allowing developers to describe complex alignment and spacing requirements through a declarative languag