What's your "quick stack"?
After working at a large company for a while, I’m used to their internal stack. I’ve been experimenting with different outside app tools / stacks and trying to find something that I like.
If you had to quickly build a new app or site, what would you use?
My criteria
- popular - I love when people come up with novel frameworks, but I want to be able to search for issues.
- quick - Easy to get started.
- lightweight - Not too much hidden complexity. The large frameworks (e.g. Next.js) are really nice, and provide many useful features, and are certainly a good fit for many projects, small and large. However, if/when things go wrong, I’d prefer to be able to dive into the internals and understand what’s going on.
- migratable - If the pick turns out to be a bad fit (I need more features, etc.), it shouldn’t be too hard to switch to a comparable tool.
My picks thus far
Client (web): Preact
Lightweight, but written just like React, which has been popular for a long time and shows no signs of going anywhere. It’s easy to migrate to React later if you need a specific feature.
Why not Svelte? Two organizational issues for me:
- One component per file: I prefer to have a set of related components per file.
- Scripts-inside-HTML, vs. React’s HTML-inside-scripts: Something just feels more natural about the latter.
Cons: Not very popular when compared to React; less coverage of issues, and occasionally hard to search for, because search engines think you misspelled React. Because it’s so similar, though, your problems may be solveable the same way!
Client (web style): Tailwind
Popular for a while, but I think the typical reason given is wrong (“style directly in markup”) - what’s really nice is that it’s higher-level and compact. You can express so many common patterns that are complex and verbose in regular CSS. It also provides so many nice, opinionated defaults. It feels like programming in JavaScript vs C.
I’m actually using it in CSS files right now, not in the markup, because I’m applying it to generated HTML from a Markdown library.
Server (backend & frontend): Bun
Lightweight and batteries-included. I especially like the powerful Bun.serve() API.
Cons: It’s relatively new, and still has some rough edges and occasional bugs, but the development is incredibly quick and effective and things are addressed quickly.
Database: SQLite + Prisma
For a quick example, see the (Bun instructions).
Client (native): TBD
I’ve played with React Native a bit, but I want to see how easy it is to build for Preact + React Native.
Tips
Some tips I’ve accumulated as I’m building this site:
- Make sure you’re working mobile-first.
- Center a
div
:<div className="flex justify-center"> <div>Centered</div> </div>
Waffle stack 🧇 by Kobby Mendez on Unsplash