DEV Community

Cover image for Introducing The Next Open Sourced Game Changer - Motion Provider.
Burak Bilen
Burak Bilen

Posted on

Introducing The Next Open Sourced Game Changer - Motion Provider.

I’m really excited to introduce Motion Provider—an advanced animation library built for React!!

What is Motion Provider?

Motion Provider is an animationed component stack API library providing comprehensive animation
utilities under the hood. Since I built the engines and all the utilities of Motion Provider, my clients appriciates more because I am saving up to ~3 hours of work per day, they receives their project lightning-fast!!

Links:

It comes with powerful 2 engines:

  • Motion Provider Component Engine, create your own animation in couple of clicks, configure it in 3 seconds, copy the code in 1 second use in project. Your animation is ready in total ~15 sec.
  • Motion Provider Image Engine, paste your image link, configure your animation in couple of click, test it via engine and use it in your own project. Your animation is ready in total ~30-45 sec.

Built at the top of:

  • Typescript (For Type-safe API's)
  • Next.js
  • React 19
  • TailwindCSS V4
  • Motion(formerly framer-motion)

What you will be able to do with Motion Provider?

Here is the list of capabilites.

  • ✅ Animation combinations and sequencing
  • ✅ 20+ transition easings including custom cubic bezier
  • ✅ Viewport-triggered/controlled animations
  • ✅ Animation reversal and pausing controls
  • ✅ Type-safe animation mode declarations
  • ✅ Supports centralized animation system(CAS)
  • ✅ Dynamic image fragmentation (1-900+ pieces)
  • ✅ Interactive hover/click animations
  • ✅ 15+ Recursive animation pattern algorithms
  • ✅ 21,840 built-in animation combination variations
  • ✅ Sequenced animation timelines
  • ✅ Nested animation support
  • ✅ Seamless image transitions using customizable enter and exit animations.
  • ✅ Optimized rendering through memoization and dynamic imports.
  • ✅ Deep merges animation properties
  • ✅ Emergency stop functionality
  • ✅ Debounced state updates

Motion Provider vs Motion(formerly Framer Motion)

Animating simple viewport triggered div element

  • In Motion(Framer Motion)
<motion.div
  initial={{ scale: 1, opacity: 0, x: 30, filter: "blur(10px)" }}
  animate={{ scale: [1, 1.2, 1], opacity: 1, x: 0, filter: "blur(0px)" }}
  transition={{ type: "spring", duration: 1, ease: "easeInOut" }}
>
    Hello World
</motion.div>
Enter fullscreen mode Exit fullscreen mode
  • In Motion Provider
<MotionContainer
  mode={["filterBlurIn", "fadeRight", "burakHeartbeat"]}
  elementType="div"
  duration={1}
  transition="smooth"
  children="Hello World"
>
Enter fullscreen mode Exit fullscreen mode

IMPORTANT NOTE

I do not reccomend using unknown code even if it's looking good... Nowadays you may see animationed component libraries like react-bits, accernity etc. I am not saying do not use, but even if you'll use, consider that react is a dynamic framework. You have to be smart when you creating your animationed components, it has to be on client side, it has to use will-change css property, it has to export dynamically it has to memoize everything. Whenever you use external libraries component code, you ignoring this things and you writing in forums Why my h1 element is LCP(LARGE CONTENT PAINT)? Because you are using a code snippet that not follows the react's design patterns. That's why I built Motion Provider. To make the web easier and better.

Top comments (0)