3 ms·
I have used both Ruby on Rails and Django in large production web applications over 2+ years. Speaking strictly about the web framework, RoR is the slightly bet
by sparkling 8y ago
I have used both Ruby on Rails and Django in large production web applications over 2+ years. Speaking strictly about the web framework, RoR is the slightly better framework IMHO. This includes but is not limited to:
- cleaner internal APIs, models, methods
- a lot more stuff that "just works" out of the box where you would need a third-party package in Django (e.g. RoR gives you different settings for development/staging/production out of the box)
- better static file handling
- third-party packages tend to be a bit more mature and stable in the RoR world
However, using Django gives you easy access to the rest of the Python ecosystem, including all the data science and ML tooling. And that trade is worth it. So if you are starting from scratch today, i'd go with Django.
- Godel_unicode 8y ago> better static file handling Don't you just let nginx/CDN handle these?
- Nextgrid 8y agoI think he’s referring to the app being aware of static files so it can resolve their URLs, etc (without having to hardcode paths). You develop by just assuming all your static files would be served by Django itself (and they will - using the dev server) and then change the project’s configuration to use a CDN or S3 (using a library - which will automatically collect & upload your files too) with no change to the underlying code.
- true_religion 8y agoAsset Pipelining is a dingo plug-in, but a built in for Rails.
- ethagnawl 8y agoI think they meant the Sprockets/Asset Pipeline or whatever the new Webpack-based solution is.
- agiamas 8y agoBeing in a similar position, I wanted to post but your post is spot on. ML and DS have basically lifted Python and by association Django quite a lot...
- jamestimmins 8y agoHave you found a decent Rails counterpart to Django Rest Framework? As an aside, I love seeing how different frameworks implement the same features.