# icanzilb/easyanimation

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/icanzilb-easyanimation).**

2,943 stars · 200 forks · Swift · mit

## Links

- GitHub: https://github.com/icanzilb/EasyAnimation
- awesome-repositories: https://awesome-repositories.com/repository/icanzilb-easyanimation.md

## Description

EasyAnimation is a Swift library for defining and executing interface animations. It provides a system for modifying layer properties and creating visual transitions for UI components.

The library specializes in physics-based motion, utilizing spring constants and damping ratios to produce bouncy movement effects. It also enables complex animation sequencing, allowing multiple visual changes to be chained together with specific timing and delays.

Additional capabilities include the ability to cancel running animation sequences after the active step completes and the use of block-based property mutation to update visual attributes without manually managing native animation objects.

## Tags

### Part of an Awesome List

- [Spring Physics](https://awesome-repositories.com/f/awesome-lists/ai/physics-simulation/spring-physics.md) — Calculates movement using spring constants and damping ratios to create natural bounce effects.
- [UI Transition Animations](https://awesome-repositories.com/f/awesome-lists/media/animation-transitions/ui-transition-animations.md) — Creates smooth visual transitions for interface elements to improve user experience.
- [Animation Frameworks](https://awesome-repositories.com/f/awesome-lists/devtools/animation-frameworks.md) — Enhanced UIView animation capabilities.
- [Animation and UI](https://awesome-repositories.com/f/awesome-lists/media/animation-and-ui.md) — Enhanced wrapper for standard view animation methods.

### Programming Languages & Runtimes

- [Animation Sequence Promises](https://awesome-repositories.com/f/programming-languages-runtimes/promise-based-flow-control/animation-sequence-promises.md) — Wraps native animation cycles in promises to allow sequential execution and coordinated timing.

### User Interface & Experience

- [Native Rendering Bridges](https://awesome-repositories.com/f/user-interface-experience/native-rendering-bridges.md) — Maps high-level animation commands to platform-specific native classes for hardware-accelerated rendering.
- [Physics-Based Animation Libraries](https://awesome-repositories.com/f/user-interface-experience/physics-based-animation-libraries.md) — Implements spring animations to give interface elements a natural, bouncy feel.
- [Animation Sequencing](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/transition-effects/animation-sequencing.md) — Orders multiple visual changes to run sequentially in a chain with precise timing and delays.
- [Dynamic Property Updaters](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-configuration/animation-property-accessors/dynamic-property-updaters.md) — Changes visual attributes of UI layers over time without manually managing complex animation objects.
- [Animation Properties](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/configuration-utility-helpers/animation-properties.md) — Modifies layer attributes inside animation blocks to update visuals without creating native objects. ([source](https://github.com/icanzilb/EasyAnimation#readme))
- [Layer Transition Physics](https://awesome-repositories.com/f/user-interface-experience/animation-and-motion-systems/physics-motion-dynamics/animation-physics/spring-physics-configurations/layer-transition-physics.md) — Uses spring physics for layer transitions via native system classes or version-specific fallbacks. ([source](https://github.com/icanzilb/EasyAnimation/blob/master/README.md))
- [Sequence Cancellation](https://awesome-repositories.com/f/user-interface-experience/animation-frameworks/transition-sequencing-controls/sequence-cancellation.md) — Allows canceling running animation sequences after the active step completes.
- [Block-Based Mutations](https://awesome-repositories.com/f/user-interface-experience/component-utilities/animation-engines/property-mutation-engines/block-based-mutations.md) — Implements block-based property mutation to update visual attributes without manual animation object management.
- [Sequence Cancellation](https://awesome-repositories.com/f/user-interface-experience/presentation-frameworks/animation-transition-engines/transition-effects/animation-sequencing/sequence-cancellation.md) — Stops a running chain of animations once the current step finishes and executes cleanup. ([source](https://github.com/icanzilb/EasyAnimation#readme))

### Graphics & Multimedia

- [Layer-Based Animations](https://awesome-repositories.com/f/graphics-multimedia/layer-based-animations.md) — Defines complex animations for interface elements to change their visual state using graphical layers. ([source](https://github.com/icanzilb/EasyAnimation/search))
