| I really have to disagree. My perspective is somebody that did some Rails work >10 years ago, followed the hype/money into Node.js and eventually Go, then ended up working in Rails again ~4 years ago. In my experience a bog-standard vanilla Rails + Postgres setup provides all of the things you mentioned (except presence awareness, which is pretty tricky). * Server push. Websockets. Push notifications. => ActionCable * Scheduled jobs. Long running background jobs. => ActiveJob * Calls into other services. => Pick your preferred HTTP library (or just use Net::HTTP) All of the above have been part of Rails for years. The only additional Gem I would add is good_job to be the ActiveJob backend. Now, if you start to bump up against what vertically scaling Postgres can handle, or you want some of the _additional features_ of a 3rd party dependencies (Redis, Sidekiq, Webpack, etc. etc.) you can easily add them, but it's realllly unnecessary for 99% of apps out there. |