Elegant iOS form builder library in Swift for declaratively creating dynamic and complex forms.
Eureka is an iOS form builder library written in Swift that enables developers to create complex, dynamic, and validated forms using a declarative domain-specific language (DSL). It provides a rich set of built-in row types and extensible architecture to simplify form construction and management. The library handles dynamic behavior, validation, and custom UI components, reducing boilerplate code.
iOS developers building apps that require complex forms, such as settings screens, data entry interfaces, or dynamic surveys. It's particularly useful for those who prefer a declarative approach and need robust validation and customization.
Developers choose Eureka for its elegant DSL, extensive built-in functionality, and flexibility. It eliminates the need for repetitive UITableView boilerplate, offers out-of-the-box validation and dynamic behavior, and supports custom row creation, making form development faster and more maintainable.
Elegant iOS form builder in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables rapid form construction with chainable operators (+++, <<<) and result builders, reducing UITableView boilerplate as shown in the 'How to create a form' examples.
Includes dynamic row hiding, built-in validation rules, multivalued sections, and swipe actions, covering common form needs without additional libraries.
Supports custom row creation, inline rows, and presenter rows, allowing deep UI customization as detailed in the 'Custom rows' section.
Offers a wide range of pre-built row types like dates, pickers, and segmented controls, speeding up development for standard form elements.
Built entirely on UIKit, making it incompatible with pure SwiftUI projects and limiting adoption in modern iOS codebases that prioritize SwiftUI.
The custom DSL operators, extensive callback system, and condition-based logic require significant time to master, especially for developers new to declarative patterns.
Creating custom rows involves subclassing Row and Cell, managing nib files, and handling callbacks, which can be more cumbersome than standard UIKit approaches.