Code Monkey home page Code Monkey logo

Comments (6)

chrfalch avatar chrfalch commented on May 29, 2024 5

@MrLoh This library uses native animations for moving and scaling elements using a technique similar to FLIP like you are describing. The discussion here is about finding a way to open up for animating properties not supported by the native driver. There are several issues I'm working on to get this to work properly.

First of all we have the problem of not being able to use stateless components for animating (with Animated.createAnimatedComponent). This can be solved by creating a wrapper for the stateless component and transferring shared element/transition properties.

Next we have the issue with native vs. non-native animations. I'm close to solving this by creating another set of wrappers that basically creates two outer elements, one for native animations and one for non-native animations.

With these solutions I'm pretty confident that we can create a good-enough solution to the problems with animations, with the limitation in performance that @narendrashetty has pointed out for some of the animations, but with full native support where applicable.

from fluidtransitions.

chrfalch avatar chrfalch commented on May 29, 2024 1

Thanks for your feedback! It is really appreciated.

What I'm trying to do with combining native/non-native animations is to run native animations like transforms and opacity using the native driver while running other animations with the non-native driven animated value. This is not a trivial task to implement so we'll see what the results will be.

from fluidtransitions.

narendrashetty avatar narendrashetty commented on May 29, 2024

Totally makes sense. Will follow your development :)

from fluidtransitions.

chrfalch avatar chrfalch commented on May 29, 2024

The trick is that to be able to animate every component (also function-based stateless components which normally does not play well with animated) I'm wrapping my component and thought I could wrap in to components - one used for native animations and one for non-native animations. It's a little tricky to transfer the correct style props and build the component.

from fluidtransitions.

narendrashetty avatar narendrashetty commented on May 29, 2024

I was also thinking, since it's not possible for layout properties with native driver, how about we work on an addon which works with layout properties too. I know this is beyond the scope of this library, just thinking out loud. Don't know if it's even possible

from fluidtransitions.

MrLoh avatar MrLoh commented on May 29, 2024

I’m no expert on the matter but from my understanding the only performant approach to layout animations is using the FLIP technique. No matter what Plattform layout animations are just not performant because of how rendering works on native and web platforms. So animating layout properties should just be discouraged probably.

from fluidtransitions.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.