A Swift animation library for Apple platforms using physics-based springs and simulations for realistic motion.
Advance is a Swift animation library for iOS, tvOS, and macOS that uses physics-based simulations, including springs, to power realistic motion in user interfaces. It provides fine-grained control over animations through frame-based updates and supports both timed and simulated transitions. The library solves the problem of creating natural-feeling, interactive animations that respond dynamically to user input.
iOS, tvOS, and macOS developers building applications that require fluid, physics-driven animations for UI elements and interactions. It's particularly useful for those seeking more realistic motion than standard easing curves provide.
Developers choose Advance for its physics-based approach, which enables animations that feel more natural and responsive. Its flexibility in combining timed and simulated animations, along with support for custom types and simulation functions, offers greater control than many built-in animation systems.
Physics-based animations for iOS, tvOS, and macOS.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses configurable spring physics with tension and damping to create fluid, natural animations, as shown in the Spring class examples for realistic motion.
The Animator class allows seamless transitions between timed and simulated animations, preserving velocity for interactive effects, demonstrated in the decay function example.
Via the VectorConvertible protocol, developers can animate any equatable type, with built-in extensions for common types like CGPoint, extending beyond standard UIKit animations.
Updates on every frame via CADisplayLink enable real-time adjustment of animation parameters, providing fine-grained control over simulation states.
Limited to iOS, tvOS, and macOS, with no native support for SwiftUI or newer frameworks like visionOS, requiring additional bridging work for modern Apple development.
Requires understanding of physics concepts and a more verbose API compared to UIKit's UIView.animate or SwiftUI animations, which can slow down prototyping.
Frame-based animations can increase CPU usage, potentially affecting battery life on mobile devices when many animations run simultaneously, as noted in the reliance on CADisplayLink.