This is in response to Why Meteor will kill Ruby on Rails. A pretty big claim, for sure. Now, Meteor is worth checking out, but Josh didn’t name any of the reasons why I and a whole lot of others choose Rails. So here we go.
It was its built-in support for these got me interested:
- CRUD (Create / Retrieve / Update / Delete) database web apps. This is its sweet spot.
- XML & JSON web access.
- Object-oriented, unified access to all databases, relational or not. No more SQL necessary.
- Seemingly all the best software engineering practices:
- Based on an OO language (Ruby) created through experience with the strengths & weaknesses of Perl, Python, PHP, & Smalltalk.
- A well run system of add-in modules and dependencies (bundler & gems) that provide all the extras a web app usually needs: paging over results, backgrounded queues, authentication, HTML parsing, payment gateways, etc.
- Unicode support.
- A huge amount of documentation and community.
…and then its convention-over-configuration kept me hooked.
It’s like Rails has taken the best practices we’ve learned about building good software, and made them the default. And Django is on the same path. Josh credits Rails’ popularity on convention-over-configuration. That’s definitely helped. Meteor looks very interesting, but until it supports more of the above, we’re talking apples and oranges.