Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rewrite library #72

Open
MorganDbs opened this issue Sep 9, 2019 · 3 comments
Open

Rewrite library #72

MorganDbs opened this issue Sep 9, 2019 · 3 comments

Comments

@MorganDbs
Copy link

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

@rnosov
Copy link
Owner

rnosov commented Sep 9, 2019

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
Copy link
Author

MorganDbs commented Sep 10, 2019

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 🙏

@morellodev
Copy link

morellodev commented Nov 25, 2019

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 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants