2 ms·
That's a good question. So, we come from Rails. We actually built Avo (https://avohq.io https://avohq.io), an admin gem for Rails, so we can say we have tried i
by adrianthedev 5y ago
That's a good question. So, we come from Rails. We actually built Avo (https://avohq.io https://avohq.io), an admin gem for Rails, so we can say we have tried it that way.
Avo was first a Rails-backed SPA (Rails server and Vue front-end), and it didn't work out that well. Unfortunately, the Rails community didn't take that lightly, and for a good reason. I won't go into too much bike-shedding here, but the most important reason is that you have to maintain two codebases (ruby & JS).
In January, we re-wrote Avo with Hotwire (the JS front-end suite created for Rails), and it went very well. It's a joy to write apps using Rails and Hotwire.
But the fact of the matter is that we need an app that's a bit more dynamic on the front-end than Hotwire can deliver. I mean, yes, we could weave together Hotwire and a few other JS libraries to get what we need, but we'd get the same two codebases and the same two sets of skills you need to run your app.
The reason we chose to go with React is the ecosystem, mostly (*fun fact; I'm sitting here writing this wearing a VueJS hoodie).
We're running Next.JS because, honestly, it's a beast when you're talking about React apps. TailwindCSS because of its popularity, and it vibes with us, and we move fast using it. Prisma because it really is a breath of fresh air when you consider the alternatives in the JS world.
I left TS at the end because it's the most "well-known development secret" out there. It keeps your codebase in check and your team on the same page.