In helping someone choose technology for a web application, we’ve had a lot of discussions about various frameworks, languages, etc. AI tools will always push you toward NodeJS/JavaScript technologies. Yet, when you ask them for details, they will often admit that Rails is probably a better technology for workflow-heavy business apps.
The UI is the part you see – the part that is exciting, and React does pretty well at. The boring parts (authentication, migrations, modeling, security, etc.) are parts you don’t see, but are also important and may determine if you have a sustainable product or a mess down the road.
There are good reasons to use various frameworks (real-time requirements, etc.), but I think Rails is the standard for full-stack frameworks. You should at least discuss all the aspects in the graphic below and have a plan for how you are going to solve them if using something else.
Below is an AI-generated comparison, so it may not be completely accurate, but it is a good starting point when evaluating web-application technology.
| Feature | Rails | Meteor | Phoenix | AdonisJS | Next.js | NestJS |
|---|---|---|---|---|---|---|
| ORM/Data Modeling | ||||||
| Migrations | ||||||
| Authentication | ||||||
| Authorization | ||||||
| Transactions | Depends | |||||
| Background Jobs | ||||||
| Real-time Updates | ||||||
| WebSockets | ||||||
| Full Stack Framework | ||||||
| Convention over Configuration | ||||||
| Batteries Included |
