I think other than Rails, it is also worth considering the other full-stack frameworks: Laravel, Django, and Phoenix.
I've spent the past year or so on and off building things in Phoenix. Elixir is an amazing programming language, and LiveView is pretty cool. If you are building something complex, I think Elixir and Phoenix solve a bunch of tough
things for you out of the box, thanks to the BEAM. However, I find that the sort of websites I like to make are not complex and pretty much are content-based with a tiny bit of CRUD.
Because of this, I've lately been exploring Laravel. PHP is pretty much _the_ language for content-oriented sites, and it isn't going away anytime soon. I've been looking into CMSes like Statamic and CraftCMS and of course Wordpress. Laravel seems to have as big of a community around it as Rails. I've also noticed that many of the things I've used in the past couple years have come out of the Laravel community, in a sense, such as Tailwinds and Alpine.
IMO, most of the frameworks are somewhat interchangeable. The reason why Laravel interests me is because I no longer want to chase new and shiny things. PHP will always be around, and I always tend to like content-oriented sort of business models more. I figure that I might as well embrace the ugliness of PHP and stop thinking about programming languages and frameworks and instead spend my time thinking about what I can make.
We differ greatly in enthusiasm regarding PHP. I'd not come near to it, and I know it has gotten a lot better. The language you pick is the hardest choice to come back to later on. PHP is just not very well made.
Django is nice, Rails is much better architected and Ruby is just a nicer language than Python (cleaner to read, more functional-goodness built in, better APIs both in std libs and gems).
You can, but Celery has pretty tight integration with Django so it's easy to write a Django app that includes a bunch of Celery tasks if you're going that route. Also, it's not entirely straightforward to run a web app written in another language which runs some of its async tasks via Celery. If you know you want access to the data science ecosystem of libraries Django is a solid choice.
I mean that for dev shops that specialize in python, it would make sense to create web apps using Django/Flask to enable easier hiring and transfer of skillsets between projects.
I think Python has a really nice integration story with C with cffi, cytpes, or Cython. That makes it nice to write the high level stuff in Python, and have it call into the faster language.
I've spent the past year or so on and off building things in Phoenix. Elixir is an amazing programming language, and LiveView is pretty cool. If you are building something complex, I think Elixir and Phoenix solve a bunch of tough things for you out of the box, thanks to the BEAM. However, I find that the sort of websites I like to make are not complex and pretty much are content-based with a tiny bit of CRUD.
Because of this, I've lately been exploring Laravel. PHP is pretty much _the_ language for content-oriented sites, and it isn't going away anytime soon. I've been looking into CMSes like Statamic and CraftCMS and of course Wordpress. Laravel seems to have as big of a community around it as Rails. I've also noticed that many of the things I've used in the past couple years have come out of the Laravel community, in a sense, such as Tailwinds and Alpine.
IMO, most of the frameworks are somewhat interchangeable. The reason why Laravel interests me is because I no longer want to chase new and shiny things. PHP will always be around, and I always tend to like content-oriented sort of business models more. I figure that I might as well embrace the ugliness of PHP and stop thinking about programming languages and frameworks and instead spend my time thinking about what I can make.