awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
SnapKit avatar

SnapKit/SnapKit

0
View on GitHub↗
20,336 stars·2,048 forks·Swift·MIT·10 viewssnapkit.github.io/SnapKit↗

SnapKit

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 of native constraint objects.

The toolset covers relative positioning, priority assignment, and the dynamic modification of constraint constants. It also includes diagnostic capabilities through human-readable debugging labels to identify layout conflicts.

Features

  • Declarative Layout Engines - Provides a declarative layout framework for defining spatial relationships between user interface elements.
  • Dynamic Constraint Constants - Allows modification of constant values in existing layout rules without rebuilding the entire interface.
  • iOS UI Layout - Provides a concise syntax for defining how views are positioned and sized within iOS applications.
  • macOS App Layout - Enables the creation of responsive layouts for macOS applications using relative positioning and sizing rules.
  • Swift Autolayout Development - Reduces boilerplate code required to implement and manage view constraints using Swift's Autolayout.
  • Swift Auto Layout DSL - Offers a domain-specific language for defining iOS and macOS interface constraints via concise Swift syntax.
  • Fluent Interfaces - Implements a fluent interface using method chaining to simplify complex Auto Layout API calls.
  • Constraint Layout Engines - Manages the lifecycle and priority of dynamic hierarchical constraints to prevent layout conflicts.
  • Constraint Lifecycle Management - Features an automatic tracking system for installed layout rules to simplify their removal and update.
  • Dynamic Constraint Modification - Allows updating specific constant values of layout rules without needing to destroy and rebuild constraint objects.
  • Declarative UI Libraries - Provides a declarative library for describing view relationships and constraints in a readable format.
  • Relative Layout Rules - Provides a declarative syntax for defining view positions and sizes relative to other UI components or fixed values.
  • Constraint Definition Syntax - Implements a concise syntax for specifying relationships between interface elements to control sizing and positioning.
  • Automatic Constraint Tracking - Provides automatic internal tracking of constraints to allow bulk removal and replacement of positioning rules.
  • Swift UI Constraints Wrappers - Provides a streamlined interface for managing the lifecycle and priorities of layout constraints in Swift.
  • Layout Priority Assignment - Maps high-level priority definitions to the native layout engine's internal weighting system to resolve conflicts.
  • Constraint Priority Assignment - Implements a system for assigning priority levels to layout rules to determine precedence during conflicts.
  • Constraint Wrapper Objects - Encapsulates native layout constraints in custom objects for easier lifecycle management and identification.
  • Layout Frameworks - Implements a programmatic approach to positioning and sizing UI elements using a declarative layout framework.
  • Constraint Replacement Utilities - Provides a utility to remove all current positioning rules for a specific view before applying new instructions.
  • Declarative Auto Layout - Offers a popular, expressive DSL for auto-layout.
  • Layout Frameworks - Swift-native DSL for Auto Layout.
  • UI Layout Tools - Swift DSL for Auto Layout.

Star history

Star history chart for snapkit/snapkitStar history chart for snapkit/snapkit

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to SnapKit

Similar open-source projects, ranked by how many features they share with SnapKit.
  • snapkit/masonrySnapKit avatar

    SnapKit/Masonry

    18,157View on GitHub↗

    Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and macOS. It serves as a wrapper for native Apple layout constraints, providing a system for positioning views on a screen by declaring rules and priorities. The library implements a fluent interface that uses chainable method calls to define complex screen layouts. This approach replaces native configuration calls with an expressive syntax for generating layout rules. The engine includes capabilities for managing constraint priorities to resolve layout conflicts and tools for updat

    Objective-C
    View on GitHub↗18,157
  • robb/cartographyrobb avatar

    robb/Cartography

    7,328View on GitHub↗

    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

    Swift
    View on GitHub↗7,328
  • purelayout/purelayoutPureLayout avatar

    PureLayout/PureLayout

    7,599View on GitHub↗

    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

    Objective-C
    View on GitHub↗7,599
  • roberthein/tinyconstraintsroberthein avatar

    roberthein/TinyConstraints

    4,091View on GitHub↗

    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

    Swift
    View on GitHub↗4,091
See all 30 alternatives to SnapKit→

Frequently asked questions

What does snapkit/snapkit do?

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.

What are the main features of snapkit/snapkit?

The main features of snapkit/snapkit are: Declarative Layout Engines, Dynamic Constraint Constants, iOS UI Layout, macOS App Layout, Swift Autolayout Development, Swift Auto Layout DSL, Fluent Interfaces, Constraint Layout Engines.

What are some open-source alternatives to snapkit/snapkit?

Open-source alternatives to snapkit/snapkit include: snapkit/masonry — Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and… robb/cartography — Cartography is a declarative layout engine and constraint management framework for Swift. It provides a… purelayout/purelayout — PureLayout is a declarative layout framework and Auto Layout wrapper library used for positioning views and managing… roberthein/tinyconstraints — TinyConstraints is a declarative UI layout engine and constraint-based positioning framework designed to simplify the… mamaral/neon — Neon is a Swift programmatic UI layout framework that orchestrates interface elements through a relative positioning… gsdios/sdautolayout — SDAutoLayout is an iOS UI layout framework and programmatic wrapper library. It provides an auto layout constraint…