-
Notifications
You must be signed in to change notification settings - Fork 29
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
Consolidate frontend UI framework #714
Comments
Personally I actually don't think this is necessarily desirable a priori. Django's pretty good for rendering basic HTML templates and forms |
I think @asdfryan and others brought this up recently as a point of potential developer friction (i.e. frontend devs having to know/learn both React and Django templating). I agree that Django form handling seems a lot simpler compared to pure React-based options at the moment, though. |
Also, I don't think we need this for MITMH 2024, but leaving on the Milestone in case someone happens to want to move it forward. |
Thought about this some more: For a CRUD-y Django app like Cardboard, it might be simpler to maintain mostly HTML and avoid React as much as possible. Have we considered using something like HTMX (https://htmx.org) for the frontend instead? In other words, do we really need React and Redux at all? |
Maybe this should be a new issue? (the question's like the exact opposite of this issue :P) |
I'm not personally particularly attached to React but I also don't really see any particular reason to move off it. Since it's the most common frontend framework I do think that's a strong reason to keep it (makes it easier to contribute) Redux I don't particularly like & ditto react-table, I wouldn't mind moving off either these libraries if we find a good alternative and someone wants to sink time into it. |
Haha agreed that I brought up a completely opposite point. Since the question of "to React or not to React" is somewhat of a precondition to whether we go all in on React for the frontend UI, I think we should keep the conversation here instead of forking off a new issue. I also agree with @rgossiaux that React has a large developer mindshare, which can increase contributions. I'm fine keeping it around, though the HTMX example I gave earlier is arguably much simpler than React.
+1 Redux feels like overkill for this app - maybe we could try using Zustand instead? Or just use React Context? Filed #772 to remove react-table. |
imo, we should consider moving to a react-based routed SPA if we ever need another complex screen (e.g. a sidebar chat) — otherwise the non-react pages are barely touched and it doesn’t seem worth it to deal with yet. i don’t see a significant benefit to htmx for our app — to me there isn’t meaningful complexity difference between rendering html clientside vs serverside. on the contrary, there seem like lots of obvious drawbacks — htmx doesn’t play nice with table filtering; react can intelligently rerender only what it needs to; sending huge gobs of html back and forth is inefficient; jsx is a clean, declarative way to specify how the table should look; none of us knows how to use htmx well. my intuition is it might introduce complexity, not eliminate it? |
Right now, it's a mix of React and Django templating.
The text was updated successfully, but these errors were encountered: