30 open-source projects similar to snapkit/masonry, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Masonry alternative.
SnapKit is a declarative layout library and domain-specific language for managing user interface constraints and view relationships in Swift. It serves as a programmatic framework for positioning and sizing interface elements on iOS and macOS by wrapping native Auto Layout calls in a concise syntax. The library provides a fluent interface that translates high-level descriptive language into imperative layout rules. It differentiates itself through automatic constraint tracking and lifecycle management, allowing for the bulk removal and replacement of positioning rules without manual tracking
Cartography is a declarative layout engine and constraint management framework for Swift. It provides a domain-specific language to define, group, and prioritize user interface layout rules, abstracting the process of positioning and aligning visual components. The framework distinguishes itself through a fluent API and the use of overloaded operators to define relationships between view attributes. It enables the bundling of multiple layout rules into single units, allowing for the dynamic swapping of constraint groups at runtime to transition views between different positional states. The
PureLayout is a declarative layout framework and Auto Layout wrapper library used for positioning views and managing constraints in iOS and macOS applications. It provides a programmatic engine for building user interfaces through constrained-based positioning and priority levels. The framework utilizes a fluent-interface API design and wrapper-based abstractions to simplify the definition of layout constraints. It features deferred and batch constraint activation to group multiple rules together for simultaneous application to the view hierarchy. The project covers general Auto Layout manag
SDAutoLayout is an iOS UI layout framework and programmatic wrapper library. It provides an auto layout constraint engine and tools for managing view dimensions and positions within the Apple iOS user interface ecosystem. The project features a dynamic content height calculator and a simplified syntax for defining layout constraints to reduce boilerplate code. It includes specialized utilities for automatically determining and caching the height of table cells and labels based on their internal text content. The framework covers a range of layout capabilities, including automatic content siz
TinyConstraints is a declarative UI layout engine and constraint-based positioning framework designed to simplify the definition of view constraints, spatial relationships, and element dimensions. It functions as an auto layout wrapper library that allows for the positioning of elements through relational anchors and priority-based sizing rules. The system enables adaptive interface design by supporting custom view stacking in horizontal or vertical sequences and the use of offsets for precise edge alignment and centering. It further supports dynamic interface animations by updating layout co
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
SwifterSwift is a collection of Swift extensions designed to reduce boilerplate code during the development of iOS and macOS applications. It provides a library of pre-made utilities that extend the standard library and system frameworks to streamline data manipulation, system integration, and user interface optimization. The project provides specialized tools for a wide range of development tasks. This includes image processing and binary translation, text string manipulation, and complex data management for arrays, strings, and dictionaries. It also offers utilities for network request mana
AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of performant alternatives to standard views, allowing developers to build responsive interfaces by offloading layout and rendering tasks to background threads. The framework is centered around a declarative layout engine based on a flexbox model, which calculates element positions and sizes asynchronously. It utilizes a node-based abstraction to wrap native views, enabling the instantiation and configuration of UI hierarchies on background threads to prevent main thread blocking. The sy
Neon is a Swift programmatic UI layout framework that orchestrates interface elements through a relative positioning engine. It calculates view sizes and positions at runtime to create responsive user interfaces without using constraints, springs, struts, or visual format language. The system organizes elements into stacks and groups using a coordinate-based orchestrator that resolves alignment rules between sibling and parent components. It utilizes a rule-based coordinate mapping approach to translate high-level alignment descriptors into absolute screen coordinates. The framework provides
Rich is a comprehensive library for building sophisticated command-line interfaces and terminal applications. It provides a robust console formatting engine and a layout framework that enables developers to render rich text, syntax-highlighted code, and complex data structures directly in the terminal. By utilizing a recursive constraint-based layout engine, the library allows for the creation of hierarchical grids, panels, and trees that maintain their structure even as terminal dimensions change. What distinguishes the library is its ability to manage persistent, real-time terminal interfac
QuestPDF is a C# PDF generation library and layout engine used to create structured documents, reports, and invoices. It utilizes a fluent API and a component-based layout approach to convert code into high-fidelity PDF and XPS files. The library distinguishes itself with a dedicated layout debugger that provides real-time previews, hot-reload capabilities, and visual boundary tools to map rendered elements back to source code. It also functions as an accessibility tool, providing semantic tagging and navigational aids to ensure documents comply with international accessibility and archival s
UIView category which makes it easy to create layout constraints in code
PanModal is an iOS UI library used to create draggable bottom sheet modals that slide up from the bottom of the screen. It provides a programmatic interface for managing the layout, height, and state of these overlay panels, allowing content to be presented over a main view without navigating away from the current screen. The library includes a pan gesture coordinator that synchronizes touch movements between the draggable container and internal scrollable content. This ensures that sliding the modal and scrolling within its content do not conflict. The framework covers custom presentation l
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
IQKeyboardManager is an iOS keyboard management library and UI layout utility. It automatically adjusts screen layouts to prevent the software keyboard from covering text input fields. The project provides a customizable keyboard toolbar component with navigation buttons and action triggers. It enables focus management, allowing users to move between text fields via the return key or toolbar controls. The library covers keyboard layout coordination, including touch-based dismissal and offset configuration. It also includes a system for managing keyboard behaviors and appearance on a per-clas
Superagent is an isomorphic JavaScript HTTP client for sending network requests and processing responses across both Node.js and web browser environments. It provides a fluent request builder that uses a chainable interface to construct complex network requests with custom headers, query strings, and bodies. The library functions as a runtime-agnostic request adapter, allowing a single codebase to work consistently across different environments. It includes specialized capabilities such as an HTTP/2 client for forcing the HTTP/2 protocol and a Node.js agent for managing Unix socket connection
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
FluentValidation is a strongly-typed data validation library for .NET. It functions as a rule engine and input validation framework used to define and execute complex business rules and constraints for data objects. The library utilizes a fluent interface API, allowing the construction of readable and declarative validation constraints through method chaining. It leverages generics and lambda expressions to enforce data integrity and business logic at compile time. The project covers the enforcement of business rules, strongly-typed data validation, and input sanitization workflows to verify
Valdi is a cross-platform native UI framework that compiles declarative TypeScript code into native platform views. It functions as a declarative UI engine and multi-platform frontend toolchain designed to achieve high performance by avoiding web views. The framework features a native bridge binding tool that generates type-safe bindings between TypeScript and native languages, allowing direct access to platform APIs. It supports a hot-reload development workflow, enabling real-time updates to the user interface across platforms without requiring full project recompilation. The system includ
FluentValidation is a .NET validation library used to define strongly-typed validation rules for objects. It utilizes a fluent interface API and lambda expressions to ensure data integrity for classes and properties within the .NET type system. The library separates validation logic from business entities to keep domain models focused on core functionality. This approach enables the enforcement of business logic and the sanitization of input data or API payloads through a sequence of logic checks. The system supports complex validation surface areas, including the ability to nest validators
Eureka is a framework for building structured data-entry interfaces and forms in Swift for iOS applications. It provides a declarative UI layout engine and a dynamic input interface to define fields, sections, and row layouts through a configuration layer. The system distinguishes itself through dynamic interface management, including conditional visibility and interaction control that reacts to real-time user changes. It supports complex input behaviors such as expandable row rendering, multivalued field management for inserting or deleting similar rows, and custom keyboard navigation that s
Walk is a comprehensive framework for building native Windows desktop applications. It functions as a GUI library and Windows API wrapper, providing a toolkit of native widgets and a declarative layout system for developing high-performance user interfaces. The project is distinguished by its data-binding framework, which uses reflection and string-based property paths to synchronize data sources with interface widgets. It also provides specialized support for high-DPI interface scaling and an optimized native message loop to reduce runtime overhead. The toolkit covers a wide range of capabi
Yoga is a cross-platform layout engine and embeddable core that determines the dimensions and offsets of hierarchical element trees. It provides a C++ implementation of the Flexbox layout model to calculate element positions and sizes based on web standards, ensuring a uniform appearance across diverse devices and operating systems. The engine is designed for portability via a C API, allowing the layout logic to be integrated into various host languages and platforms. It utilizes an incremental layout system that identifies modified subtrees and recalculates positions only for changed nodes a
This project is a PHP filesystem search component and file filtering library. It provides an object-oriented filesystem iterator designed to locate files and directories based on specific criteria. The library includes a project ignore file parser that allows the search process to respect version control exclusion patterns and metadata to skip unnecessary files. It covers a wide range of filtering capabilities, including the ability to isolate entries by name, path, size, and modification date. The tool also supports content-based filtering, type-based restrictions, and custom logic function
Then is a syntactic sugar library for Swift that provides closure-based extensions for configuring objects and value types. It enables the assignment of multiple properties within a single block to reduce repetitive variable naming during initialization and modification. The library functions as both an object configuration tool and a value type modifier. It allows for the creation of modified copies of structs and enums by applying specific changes inside a scoped closure. These utilities support declarative workflows for defining user interface component properties and managing complex vie
This project is a modular image manipulation framework and processing pipeline library designed for Ruby applications. It provides a programmable interface for executing complex image transformations, including resizing, cropping, rotating, and compositing, while managing file input and output parameters. The library distinguishes itself through a fluent, chainable interface that allows developers to construct sophisticated processing workflows by linking modular operations together. It functions as an image transformation engine that delegates heavy lifting to external native binary tools, e
Clap is a command-line argument parser for Rust that enables developers to define complex interfaces through strongly-typed data structures. It functions as a comprehensive framework for building terminal applications, automating the transformation of raw string inputs into validated, type-safe code representations while simultaneously generating help documentation and usage statements. The library distinguishes itself by offering both a declarative, attribute-based approach and a fluent builder-pattern API, allowing for flexible interface construction. It includes a sophisticated validation
Motia is a cross-platform frontend framework designed for building and maintaining scalable user interfaces. It functions as a component-based library that enables developers to assemble complex application layouts using a standardized set of modular building blocks. The framework utilizes a declarative layout engine to define interface structures, ensuring consistent behavior across different operating systems and screen sizes. By employing a state-driven reconciliation process, the system automatically synchronizes visual elements with the underlying data model, while a dependency injection
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