0001 - Using Remix as the UI server
A list of needs for the website:
- We want full control over how the website behaves.
- We want to program as little as as possible, and for custom code to be as simple as possible, yet we also want to do whatever we want.
- We want the website to be a good web citizen, so it should be fast and progressively enhanced.
- We want client side scripting.
- Obviously, we want the website to be fast and correct.
Using a full-stack framework like Remix Remix gives us all that. It has server rendering with client hydration, giving us the best of both worlds. Also, we are already familiar with Typescript and React.
It is built on web standards, so the knowledge that we build up here will transfer to other applications that make use of these standards as well.
We like that we can have client and server code that is closely related in the same file.
We like that the Remix team tries to ensure seemless upgrades by introducing breaking changes seamlessy with feature flags.
We like that Remix is Open Source, yet has big corporate backing with its owner Shopify, ensuring sustainable support of the project. We need to keep an eye out too see if corporate influences will corrupt the decision making. So far, Shopify seems to have users best interests in mind.
The Indie Stack gives us a good starting point for our application. We remove the parts that we don't need.
The most direct competitor Next.js seems to be more complex without giving us anything extra.