clayrisser / react-gtk

react Native bridge for gtk desktop applications
https://clayrisser.com
MIT License
303 stars 19 forks source link

Consider using preact or inferno #2

Closed nuxlli closed 6 years ago

nuxlli commented 6 years ago

I recently tested this project: https://github.com/vadimdemedes/ink.

The first question that came to my mind was: "Why rewrite React in place of a new render on the original React?" Luckily someone came first https://github.com/vadimdemedes/ink/issues/16.

And in fact analyzing the code of the renders (including the new: fibers) you can see that the extensibility and documentation is not strong from the React project.

I think this project could benefit from starting with something less painful than a render for React.

clayrisser commented 6 years ago

Hmm, interesting. It's definitely worth looking at for educational reasons, but I think we should stick with React.

React has a much larger community. This means a lot more people will be comfortable using react-gtk, and I don't have to answer all of their questions.

Also, related to the large community, React has really good support and is backed by a large company. I do not want people coming to me to fix diffing bugs and everything else I'd have to rebuild.

A well-supported rendering engine will have much better and much more efficient algorithms than something we build, due to the sheer amount of brains behind the project.

nuxlli commented 6 years ago

I understand your point and therefore touched on this earlier. Certainly they are exclusionary ways.

But I guess I did not make myself clear (my english is really bad, sorry about that): the proposal would be to go for something like https://github.com/developit/preact, writing one from scratch would be a expensive job.

The preact offers a large and active community, a good compatibility with the React and a friendlier API for extension.

Anyway, a custom render is needed, be it React or Preact. This guy scares me: https://github.com/facebook/react/tree/master/src/renderers/native

clayrisser commented 6 years ago

I'm familiar with Preact. Maybe support for it could be added later on. However, React still has a large community, and is backed by a lot of money. Preact is also a little behind. It's missing several important features, like PropTypes for example.