-
Notifications
You must be signed in to change notification settings - Fork 212
Support ReactJS for frontend views #17
Description
Description
A lot of attendees are interested in learning to use Javascript frontend frameworks like React. This was not included in the first version of the starter kit because keeping a client-side app in-sync with a server is a bit complicated and we want to make this project friendly to beginners. However, I think we could come up with a way to support a client-side framework like React, be simple/clear for beginners, and save a lot of headaches for people trying to add it on their own.
Here are a few considerations for supporting React on this project.
- Handling secure requests - Looking into how to make secure API requests using JWTs and determining how to store that information on the client-side.
- Single launch point - Some example projects using two separate apps for a React + Express stack. It would be ideal to use a single launch point for attendees to run this project. It might be
- Flash of unstyled content - This is a common issue with React projects because components is frequently rendered before "hydrating" the app with information. Let's try to avoid this if possible.
A good model to follow might be how Next.js handles server-rendered apps with Express. If this became Next.js + Express app, I would be very happy.
Sidenote: A lot of people like to bundle React together with a state management tool like Redux or a query language like GraphQL. These technologies likely don't solve the needs for 90% of hackathon projects and introduce additional complexity and barriers of entry for beginners. Supporting these technologies should be a separate discussion from supporting React.