npm install --save shifty
- Speed: Shifty is engineered for maximum animation performance and minimal memory usage.
- Flexibility and extensibility: Shifty can easily be built upon and extended via its unopinionated API.
- Renderer-agnostic: Shifty does not perform any rendering, but it can be easily integrated into whatever rendering mechanism is most appropriate for your project such as DOM or
Promisesupport: Shifty's tweens are
await-able thenables. (Learn about the benefits of
await-based animations here).
Load from CDN
||Contains full library|
Please use, fork, and contribute to Shifty! It is distributed under the MIT License, and experimentation is encouraged. If you find a bug or have a question about Shifty, please submit it via the GitHub issue tracker.
Shifty is a labor of love that will always be free and open source. If you've gotten value out of Shifty, please consider supporting the developer with a small donation!
Comparison with other animation libraries
Shifty is meant to be a lightweight alternative to rich tools like the excellent GreenSock Animation Platform. It is intentionally minimalistic so that you can easily embed it into your projects. This works well with its MIT license, as you can redistribute it worry-free without bloating your app or concerning yourself with royalties or licensing restrictions.
Expand to see how Shifty compares to GreenSock's performance
Shifty's tiny footprint compares very favorably against other popular animation libraries:
This next example demonstrates how
catch blocks, as well as infinite
while loops. Typically you'd want to avoid intentionally infinite loops, but it's common to need animations to loop indefinitely. A
while (true) loop is a simple way to achieve this. The ball in this demo pulsates repeatedly, but the animation loop is gracefully interrupted when the user clicks anywhere else within the demo. Response to the user's input is handled in
catch blocks, wherein the ball swings over to where the user clicked. From there it continues to pulsate. With