30 open-source projects similar to snapkit/snapkit, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best SnapKit alternative.
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
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
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
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
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
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
iOS9AdaptationTips is a collection of technical strategies and guides for adapting mobile applications to the iOS 9 operating system. It serves as a development resource for implementing system integration, UI layout adaptations, and push notification configurations. The project provides specific guidance on flexible interface implementation, including support for split-screen modes, dynamic text scaling, and status bar configurations. It also covers the use of secure certificates and heartbeat signals to maintain persistent connection stability for push notifications. The material covers br
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
MisterFusion is Swift DSL for AutoLayout. It is the extremely clear, but concise syntax, in addition, can be used in both Swift and Objective-C. Support Safe Area and Size Class.
An easy way to create and layout UI components for iOS (Swift version).
Auto Layout made easy
UIView category which makes it easy to create layout constraints in code
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
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
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
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
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
Compose Samples is a collection of reference implementations for the Jetpack Compose UI library, serving as a practical guide for building native Android user interfaces. It demonstrates the use of a declarative framework where Kotlin functions describe layout structures and data dependencies, enabling developers to construct modern, reactive interfaces. The repository highlights architectural patterns that prioritize maintainability and testability, such as layered organization and unidirectional data flow. It showcases how to implement adaptive layouts that automatically adjust to various s
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
React is a JavaScript library for building user interfaces based on a component-driven architecture and unidirectional data flow.
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
Twenty is a headless customer relationship management framework that enables developers to build, version, and deploy custom business applications using code. By utilizing a declarative approach to data modeling, the platform allows for the definition of custom objects, fields, and complex relationships directly within the source code. This schema-driven architecture automatically generates corresponding REST and GraphQL APIs, ensuring that data structures and interface components remain synchronized across development and production environments. The platform distinguishes itself through a m
Terminal.Gui is a cross-platform .NET toolkit for building interactive text-based user interfaces. It provides a component-based architecture, a terminal rendering engine, and a declarative layout system to create console applications that run consistently across Windows, macOS, and Linux. The framework distinguishes itself with a comprehensive set of interactive console widgets, including data grids, hex editors, and hierarchical tree components. It supports advanced visual capabilities such as 24-bit True Color, Sixel image support, and a relative-coordinate layout system that adapts to ter
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
This is a layout library for Android applications that implements the CSS Flexible Box layout model. It provides a view container and engine that arrange child views by distributing space and aligning content according to a flexible box model. The framework enables the creation of responsive user interfaces that automatically adjust element positioning, wrapping, and growth based on available screen dimensions and orientations. The system includes capabilities for adaptive layout workflows, dynamic element alignment, and a virtualized rendering system for recycling views to display large dat
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
Preact is a declarative UI library and a lightweight alternative to React for building user interfaces. It utilizes a component-based architecture and a virtual DOM to sync application state to the browser interface efficiently. The framework implements a modern React API and provides a compatibility layer to ensure existing component libraries and patterns can run within its environment. It also functions as a server-side rendering engine, generating HTML on the server and hydrating it on the client to optimize page load speeds. Additional capabilities include virtual DOM state management t