Code-based components and JSX over templates. Modules and a true front end dependency graph. Different CSS approaches. Different client bootstrapping

bensmithett / coexist Template

submited by
Style Pass
2021-09-03 23:00:06

Code-based components and JSX over templates. Modules and a true front end dependency graph. Different CSS approaches. Different client bootstrapping approaches. Integration with design tools. Storybook. ESLint. Types.

All together, this stuff has enabled new and productive UI development processes that are still largely missing when building UI in non-JS frameworks.

Build a non-JS app like you normally would. Talk to your database. Make API calls. Run async background jobs. Gather and transform data. Respond to requests with pages.

Just don't bother rendering HTML. Instead, render JSON and transform it to HTML on the way through an edge worker or a Node.js reverse proxy.

Everything else about your original response — cookies, headers, HTTP status, redirects, caching — remains exactly as you sent it.

It's a short, but very consequential leap from server-rendered React to a JS app responsible for routing, auth, data fetching and transformation, async job processing, isomorphic everything, and more.

Leave a Comment
Related Posts