Swift protocols for building type-safe, cross-platform app themes (costumes) supporting UIKit and SwiftUI.
CostumeKit is a Swift library that provides base protocols and types for building app themes, called "costumes." It solves the problem of inconsistent and hard-to-maintain theming by offering a type-safe, unified system that works across both UIKit and SwiftUI on all Apple platforms.
iOS, macOS, tvOS, and watchOS developers who need a consistent, type-safe theming system for their apps, especially those supporting both UIKit and SwiftUI.
Developers choose CostumeKit for its protocol-oriented design, full cross-platform support, and seamless integration with SwiftUI's environment system, making it easier to build and maintain scalable themes.
Base types for theming an app.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enums conforming to ColorPalette provide compile-time safety for color definitions, reducing runtime errors and ensuring easy access to platform-specific colors via hex strings.
Fully supports UIKit and SwiftUI across iOS, macOS, tvOS, and watchOS, enabling consistent theming in mixed or multi-platform Apple apps.
Seamlessly injects costumes into SwiftUI's environment system, allowing deep theming support and easy access in child views without prop drilling.
Includes dynamic type support with custom fonts and a built-in SystemFont implementation, ensuring accessibility-aware typography that scales with user preferences.
Requires developers to define all themes from scratch using protocols, which can be time-consuming compared to libraries offering pre-built themes or components.
Only provides metadata for SVG assets; actual rendering requires third-party libraries like SwiftSVG, adding dependency overhead for full functionality.
The migration from version 1.x to 2.0 involved API updates, indicating a history of breaking changes that could affect long-term maintenance.