Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. iOS
  3. Advance

Advance

BSD-2-ClauseSwift3.1.0

A Swift animation library for Apple platforms using physics-based springs and simulations for realistic motion.

Visit WebsiteGitHubGitHub
4.5k stars204 forks0 contributors

What is Advance?

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.

Target Audience

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.

Value Proposition

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.

Overview

Physics-based animations for iOS, tvOS, and macOS.

Use Cases

Best For

  • Creating spring-based animations for UI elements like buttons or views
  • Building interactive interfaces with realistic physics responses
  • Animating custom value types beyond CGPoint or CGRect
  • Smoothly transitioning between different animation types (e.g., timed to spring)
  • Implementing gesture-driven animations with velocity preservation
  • Developing macOS or tvOS apps with advanced animation needs

Not Ideal For

  • Projects targeting iOS 9 or earlier, as Advance requires iOS 10+ and Swift 5.0.
  • Teams wanting simple, declarative animations like SwiftUI's .animation() modifier without physics complexity.
  • Cross-platform applications needing animations on Android or web, since Advance is exclusive to Apple ecosystems.
  • Apps with strict performance budgets on low-end devices, where frame-based updates might cause unnecessary CPU overhead for basic transitions.

Pros & Cons

Pros

Physics-Based Realism

Uses configurable spring physics with tension and damping to create fluid, natural animations, as shown in the Spring class examples for realistic motion.

Flexible Animation Coordination

The Animator class allows seamless transitions between timed and simulated animations, preserving velocity for interactive effects, demonstrated in the decay function example.

Custom Type Support

Via the VectorConvertible protocol, developers can animate any equatable type, with built-in extensions for common types like CGPoint, extending beyond standard UIKit animations.

Frame-Precise Control

Updates on every frame via CADisplayLink enable real-time adjustment of animation parameters, providing fine-grained control over simulation states.

Cons

Apple-Platform Only

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.

Steep Learning Curve

Requires understanding of physics concepts and a more verbose API compared to UIKit's UIView.animate or SwiftUI animations, which can slow down prototyping.

Performance Overhead

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.

Frequently Asked Questions

Quick Stats

Stars4,466
Forks204
Contributors0
Open Issues2
Last commit4 years ago
CreatedSince 2016

Tags

#spring-animation#ios#simulation#physics#animation#tvos#ui#physics-based#interaction#gestures#swift-package#motion#swift#macos#ui-interaction

Built With

S
Swift

Links & Resources

Website

Included in

iOS51.7kSwift26.0k
Auto-fetched 16 hours ago

Related Projects

LottieLottie

An iOS library to natively render After Effects vector animations

Stars26,802
Forks3,833
Last commit16 days ago
SpringSpring

A library to simplify iOS animations in Swift.

Stars14,034
Forks1,803
Last commit3 years ago
IBAnimatableIBAnimatable

Design and prototype customized UI, interaction, navigation, transition and animation for App Store ready Apps in Interface Builder with IBAnimatable.

Stars8,645
Forks772
Last commit3 years ago
ViewAnimatorViewAnimator

ViewAnimator brings your UI to life with just one line

Stars7,311
Forks486
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub