Consider replacing react for something lighter #696
Replies: 4 comments
-
A few comments:
As a next step, I'd fork Reagent and come up with a version which used your favorite virtual DOM library. If I were doing it, I wouldn't worry too much about keeping the same API as React, to quote Emerson ...
If you get a better version of Reagent happening, then re-frame will be easily adapted I'm sure. |
Beta Was this translation helpful? Give feedback.
-
I agree with all the above points. I'd also like to mention that any alternative, despite being "better" (however you qualify that; faster, fewer bytes, simpler api) must also contend with the huge offering of react-native. A very large amount of work has been poured into that project, and it introduces a whole new paradigm for multi-platform development. Addons and extensions keep cropping up, too: just last week react native for osx as an alternative to something like electron, but with even smoother web->native passage. This might very well be another case of first-to-market / widest-adopted takes the cake. |
Beta Was this translation helpful? Give feedback.
-
Edit: I am wrong. its more complicated than my initial reaction. |
Beta Was this translation helpful? Give feedback.
-
I'm going close this due (1) reservations about the concept (2) a lack of apparent recent progress. But I'm always open to the new, so it can be reopened if there is compelling new information. |
Beta Was this translation helpful? Give feedback.
-
In an effort to trim some fat on the front-end I evaluated and removed as many dependencies from my cljs as I could. I noticed through this process that react is fairly large and began searching for other options. Of the wide variety of reactive JS appearing lately inferno seems like one of the most promising. It appears to be lighter and faster than react. https://github.com/trueadm/inferno
I was curious how feasible it would be to transition from react + reagent to inferno. I think the biggest challenges would be writing a layer to translate hiccup into inferno, and replacing the ratom. The first item should not be too difficult as inferno's components look similar to react's. The second issue may require more time.
I could see this being done in one of two ways. 1 re-frame brings necessary functionality into its core. This would break backwards compatibility and not be beneficial for all users. 2 re-frame could offer the choice of reagent or another similar library written around inferno. Depending on the time commitment involved I may be willing to work on the inferno cljs abstraction provided there is any interest in this initiative.
Beta Was this translation helpful? Give feedback.
All reactions