3 ms·
We just started from scratch a new project in February, pulling out lots of experience between to fairly veteran developers and trying to put together a “reason
by nwienert 6y ago
We just started from scratch a new project in February, pulling out lots of experience between to fairly veteran developers and trying to put together a “reasonable best practice modern stack”, so to speak.
I fundamentally couldn’t agree more that it’s a shitshow right now. Everything could be better. Namely:
- Typescript + monorepos is a total pain in the ass
- react-native-web is the way to write apps if you want to go cross platform, but there’s a ton of sharp edges and no great UI library to write components more cleanly
- Still no great, obvious state management system for frontend
- We’ve been gluing together a setup for Kubernetes, docker compose (locally), and CI/CD on GitHub. It’s a ton of code even while keeping it simple. Too much to list here. We’re using Rio for some of it, which starts to get some of the DX better
- Hasura and graphql and then on the frontend the biggest upgrade I’ve had in years is gqless (https://gqless.dev https://gqless.dev). It’s a bit early, needs a lot of work, but fully typed queries are just incredible
- Just endless amounts of cross browser issues, polyfills necessary for various browsers
- Obviously tons of time spent getting webpack to play along.
- Getting your tests to work just like they would in the browser took us quite a lot of iteration, we use a wide variety of testing tools that took time to figure out
Honestly, it’s all bad. The bright spots are Chrome dev tools, React Refresh, gqless, Hasura, and our UI kit which is building on react native but adds components ala SwiftUI (VStack, HStack, etc) that then statically extract to css at compile time.
I do like the thinking behind “Rome” which basically wants to pull everything together and vertically integrate. I’d almost go further and just white label a whole stack just like ours. Including CI/CD, monorepo, etc. If we could pause in 6 months or so and just extract everything we’ve built into that, it’d be a great template.
- Kinrany 6y agoI wonder if such a project could be funded by companies that use similar stacks. Like Kickstarter, with stretch goals to add tooling that is less important like CI/CD.