Comment by davzie
3 years ago
I have to say, the notion you can only build webpages with Rails and not webapps did make me chuckle.
If Rails can take a company such as GitHub this far then it, along with other traditional server side rendered frameworks like Django and Laravel, should more seriously be considered when starting new projects and apps.
If you've already mastered a system, then the n+1 case is going to be much more timely and cost-effective. So if you know RoR and you've got a similar team then go for it. But for greenfield projects I'm not sure one should go with Ruby on Rails, and this is coming from someone who used Ruby before Rails.
If I'm not mistaken, even 37 Signals made a new framework for their new Hey app.
https://hotwired.dev
Hotwired is a ruby gem that sits on top of Rails' existing Turbo approach: start with a regular server-rendered ERB page, layer on Turbo to allow for page updates without page refreshes (via XHR-fetched html fragments) and layer on Hotwire to sync state with websockets.
I absolutely love Django and used it for many many years for all my new projects. Nowadays I only use it in a very limited set of use cases. Having an instant admin UI is a huge advantage for some business cases, flexible auth is great, very fast prototyping is still amazing, etc. Wouldn’t choose it for any front end heavy app.
Have you looked into Django Ninja?
I use FastAPI exactly because of the reasons you point out... but damn do I miss the Django ORM and admin. Django-Ninja is an acknowledgement of the realities of that.
Having heard of Django-Ninja before. Looks really good! If I understand correctly it would allow me to keep the best parts of Django (ORM, Admin UI) and build a FastAPI-inspired API? That’s an awesome combo! Curious to see benchmarks how it compares to ExpressJS.