3 ms·
I do and I absolutely plan to use it for any startups I run in the future. It's the ultimate batteries included framework. It provides high-quality, sane funct
by SkyPuncher 3y ago
I do and I absolutely plan to use it for any startups I run in the future.
It's the ultimate batteries included framework. It provides high-quality, sane functionality for nearly everything. There are lots of high-quality plugins that drop in without much functionality. And, many companies write Ruby libraries for integrating with their APIs.
I enjoy trying things out on side projects, but almost always find myself spending way too much time trying to figure out how to do something Rails provides out of the box.
Great Functionality:
* Basic REST framework. This part isn't unique, but it works just fine.
* Data modeling with all of the lifecycle and validation stuff you need.
* Database migrations. I'm always amazed by how many modern tools just ignore this part
* Queues and Jobs
* Tests that work out of the box.
* Dev/Test/Production as a 1st class mindset
* Binary/Blob Storage out of the box.
* Email support (though I don't see most people use the built in)
* Pretty darn good security defaults
* View engine (though, I mostly rip it out to write a SPA)
* Caching
Amazing 3rd Party Functionality:
* Drop in Admin panels that mostly just work (ActiveAdmin)
* Devise for authentication. Includes all of the lifecycle basics (forgot password, reset password, email confirmation, etc, etc)
* Several authorization options. Not strictly necessary, but helpful.
* Scheduled/Cron jobs
Complaints:
* Convention over configuration can make it _extremely_ hard to understand or debug things when you don't understand the convention.
* Some people complain about computational speed. It's valid. In my opinion, though if you're at the scale where it matters, you have a really good problem to solve.
* Incompatibilities between gems can be annoying and challenging to resolve.