rnosov / react-reveal

Easily add reveal on scroll animations to your React app
https://www.react-reveal.com/
MIT License
2.73k stars 180 forks source link

Rewrite library #72

Open MorganDbs opened 5 years ago

MorganDbs commented 5 years ago

Are you interested if I rewrite your library on latest version of react ? Or you have other plan for your work ?

rnosov commented 5 years ago

To tell you the truth, I haven't had any offers of substantial help so far. As I said said in the other issue, I'm a bit bogged down at the moment with some projects at my day job. I haven't used any holidays this year, so I was thinking to take a week off to do a rewrite perhaps next month. If you have some free time to kick start a rewrite you're more than welcome. I do have to warn you that it's a more complicated project than it might seem in the beginning. I had to rewrite this library 3 or 4 times as many totally unexpected issues crop up. The biggest challenge I would say is testing ( especially on mobile ) as animation is one the first things browsers to tend to "optimise" ( or randomly break ) under load. There is also no way to automatically test for it other than obsessively click around on different devices ( Chrome mobile mode won't cut it ). I've been banned from more than one local phone shop during the testing phase! On the hand, there is an opportunity to do clean rewrite using latest React 16, hooks, new lifecycle methods and IntersectionObservers. Now that every major modern browser ( Safari at last ) supports IntersectionObservers ( >90% ) there is a potential for much cleaner architecture on top IntersectionObserver API. I would estimate that size can be cut in half as a result not to mention much greater simplicity. The downside is that native IE 11 support will be gone. If you're still interested let me know. Perhaps, we can have chat as to how to progress further and synchronise our efforts.

MorganDbs commented 5 years ago

I'm really interested to help you on this works but you seems really more experimented than me. I'm not afraid to learn new things, but I need to warn you. The part of rewriting with latest release seems to be ok for me, the part of optimising the animation and testing are the part where I'm not really confident. I know how to functional testing using jest + enzyme, but I don't think you are using these kind of tests. So if you are interested for some help, don't hesitate to contact me, but consider that I'm a Junior. I have 1 year of pro exp as react dev (learned it by myself), but I started 3 years ago with angularJS, then angular2-4-6 and VueJs at school and at home.

ps: Good luck with your day job, don't forget to take holidays if possible, resting is important :pray:

morellodev commented 5 years ago

Hi @rnosov and @MorganDbs, I am writing a similar library that uses a more modern approach, you can find it here: React Awesome Reveal.

It does not have all the feature that react-reveal has since it is young (I am currently focusing on performances to be honest), but it works quite well and it is written in TypeScript. Let me know what do you think 😄