awesome-repositories.comCategoriesBlog
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
·
robb avatar

robb/Cartography

0
View on GitHub↗
7,328 stars·527 forks·Swift·9 views

Cartography

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 toolset covers broad UI layout capabilities including the alignment of element edges and center points, as well as the distribution of sequences of elements with consistent gaps. It manages relative priority mapping to resolve positioning conflicts and automate component resizing across different device sizes.

Features

  • iOS UI Layout - Provides a framework for defining the positioning and sizing of user interface elements on iOS.
  • Swift Autolayout Development - Simplifies the implementation of Apple's Auto Layout system through a declarative Swift interface.
  • Swift UI Constraints Wrappers - Offers a streamlined wrapper interface for managing native UI layout constraints in Swift.
  • Swift Auto Layout DSL - Provides a domain-specific language for defining UI constraints directly within Swift code.
  • Constraint Layout Engines - Acts as a layout system that calculates component geometry based on dynamic hierarchical constraints.
  • Constraint Grouping - Collects multiple layout constraints into single units to swap or update them simultaneously during runtime.
  • Constraint Set Swapping - Enables dynamic transitioning of views between different positional states by swapping active constraint groups.
  • Declarative Layout Engines - Implements a system for positioning and aligning UI elements through rule-based declarative descriptions.
  • Element Positioning - Allows for the programmatic updating of visual component locations at runtime.
  • Adaptive Element Distribution - Creates evenly spaced sequences of interface elements with consistent gaps and relative priorities.
  • Constraint Priority Assignment - Maps high-level priority definitions to system priorities to resolve layout conflicts.
  • Operator-Based Definitions - Uses overloaded Swift operators to define relationships between view attributes with a concise syntax.
  • Fluent Constraint APIs - Implements a chainable API to simplify the verbose process of defining geometric constraints.
  • Declarative Layout Frameworks - Uses a declarative syntax to specify relationships between element attributes for automated resizing.
  • Flexible Layout Constraints - Establishes automatic sizing and anchoring relationships to place components accurately on screen.
  • Layout Alignment Utilities - Provides utilities for aligning the edges and center points of multiple UI elements.
  • Linear Element Distribution - Spaces sequences of elements horizontally or vertically using a consistent gap between each item.
  • Declarative Auto Layout - Provides a declarative syntax for defining auto-layout constraints.
  • Example Applications - A declarative DSL for managing layout constraints.
  • Layout Frameworks - Declarative DSL for managing Auto Layout constraints.
  • UI Layout Tools - Declarative Auto Layout DSL for Swift.

Star history

Star history chart for robb/cartographyStar history chart for robb/cartography

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

Frequently asked questions

What does robb/cartography do?

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.

What are the main features of robb/cartography?

The main features of robb/cartography are: iOS UI Layout, Swift Autolayout Development, Swift UI Constraints Wrappers, Swift Auto Layout DSL, Constraint Layout Engines, Constraint Grouping, Constraint Set Swapping, Declarative Layout Engines.

What are some open-source alternatives to robb/cartography?

Open-source alternatives to robb/cartography include: snapkit/snapkit — SnapKit is a declarative layout library and domain-specific language for managing user interface constraints and view… snapkit/masonry — Masonry is a declarative UI layout engine and domain-specific language for defining layout constraints on iOS and… 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… gsdios/sdautolayout — SDAutoLayout is an iOS UI layout framework and programmatic wrapper library. It provides an auto layout constraint… gui-cs/terminal.gui — Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a…

Open-source alternatives to Cartography

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

    SnapKit/SnapKit

    20,336View on GitHub↗

    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

    Swift
    View on GitHub↗20,336
  • 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
  • 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 Cartography→