Pose: A declarative motion system for HTML, SVG and React
popmotion.io
popmotion.io
Thanks to react-native-web project by @necolas you can use Animated on web too. That opens lot of opportunities to share animations between react-native and web. You can even use react-native animation libraries on web.
Last time I did that with react-native-motion, which required me to change one single line to make it work on web.
However what I'm personally missing, is some react component for orchestration complex animations. There are yubaba and react-native-conductor, but still feel we can do better here. Actually I was wishfully thinking that Pose can help here.
Anyway hats off to anyone who is working on stuff like this. Doing it right, is actually pretty hard job.
1) Complexity: While this is more for dynamic UIs than full timelined animations, it has full compatibility with every Popmotion animation like Keyframes https://popmotion.io/api/keyframes, so you can do pretty involved stuff
2) DOM-only: My biggest lesson writing Popmotion is people just want easy stuff. So for this initial release I just wanted to concentrate on the DOM. It allows me to offer things like FLIP and leverage my other libraries (Stylefire/Popmotion) which I know are small and fast. That isn't to say there'll never be native support, just that I didn't have time to do that in a month of my spare time.
Keyframes looks promising for complex animation of single component. But what about multiple components? Like start animation of component only after some other finished its animation...
<Parent><Child/></Parent>
You can currently use props like `delayChildren` to orchestrate between them: https://popmotion.io/pose/learn/animating-children/#animatin...
Maybe `waitForChildren` and `waitForParent` booleans would be helpful too
There's an advanced way of establishing this relationship for non-heirarchal components but I haven't got to writing the docs for that yet. A CodePen example here https://codepen.io/popmotion/pen/xWrbNm?editors=0010
That would be great start :)
https://github.com/Monadical-SAS/redux-time
We built it to develop pure functional, declarative animations for poker (https://oddslingers.com), but it works well for any other games, including 3d ones using ThreeJS.
So if I understand the core concept correctly, there is no React component. You only dispatch animation you want to perform as store action, and get back in timely fashion state updates which you apply as style props to any React component. Is that correct?
EDIT: Has been that thing already promoted on HN? Because I see it for the first time.
There is no react element to the library, it simply changes redux store data, the props passed to the components change via mapStateToProps and thus your components are re-rendered whenever React decides to re-render them.
Why is this a "game-changer" for React specifically, and not Javascript in general?
But declarative animation libraries are severely lacking. React's paradigm is amazing whenever you can write stateless functional components. But animation doesn't fit neatly in this abstraction since you always need to track animation progress state. So if an item is change/removed from the state, you still need to hold on to the stale value long enough for the transition, track the progress, and then cleanup on animation completion. This gets messy really quickly!
I don't think there's a consensus on how to cleanly abstract this part out yet so people get excited when there's a new attempt.
What I dont understand is why the coder community often writes things like "coded with burritos and beer", or "love bacon and burguers", "code and pizza", "fueled with coffee" and so on...
it gives the impresion that coders eats only junk food and are alcoholics.........
Being long in the tooth, few bugs surprise me anymore, but after a bit of googling around, the simplest workaround to this is placing a file on your desktop with a unicode filename [1]. Amazing!
[1] https://bugs.chromium.org/p/chromium/issues/detail?id=42984
Is trying to work outside the virtual dom a constraint to creating motion on jsx elements?
I dont like the idea of jsx , reminds me of php with logic and templates tied together... does jsx make it tough to create an animation lib?
- bug with SVG scale - needs weakmap/map/set support or polyfill. Aimed for ie11+
With those in mind it is good to go
Only people programming ads will like this. Everybody else will pretty much hate its guts.