Angular.js vs Meteor.js vs Derby.js

After a post about derby.js and a translation of the comparison of meteor.js and derby.js , the main question that was in the comments was something like this: “What's better than derby.js or meteor.js? And why do you need all this when you can write in angular.js + express.js? ” Of course, it is not entirely correct to compare these frameworks, since derby.js and meteor.js are the so-called full-stack, and angular.js is mvc on the client.
| angular.js (+ express.js) | meteor.js | derby.js | |
|---|---|---|---|
| Full-stack framework | No, only MVC on the client. | Yes | Yes |
| Backend | Any | node.js | node.js |
| Console Utility | Not | there is | there is |
| Dynamic linking of html with data on the client | Yes | Yes | Yes |
| Html rendering on server | No promise not native | Yes, not native | Yes native |
| express.js app | Yes | Not | Yes |
| npm packages | can connect browserify | through a package of own package manager o_O | browserify is built in |
| Code reuse between client and server | Low | High | High |
| REST API | No, but easy to add | There is a package | Yes, built-in |
| Database | Any | Any, but on the client syntax Mongo Queries | Any + required Redis (for pub-sub and OT operations cache) |
| Data Sync Between Clients | No, it's hard to add | Optimistic (who managed to shoot) | OT (like Google Waves) |
| Data sync channel | Not | DDP protocol (web-sockets) | browserchanel (as in Gmail, because web-sockets do not guarantee messaging order) |
| Updating the application without rebooting (ease of development) | Not | Yes - html, css, js | Yes - html, css |
| Ready for production | Ready | Ready | Ready |
| Production Examples | Thousands of them | Enough | lever.co , unroll.me |
| Current version | 1.2.0 | 0.6.5.1 | 0.5.9 |
| Entry threshold | Average | Low | Tall |
| Community | Very big | Big | Little |
| If you call in one word | Fashionable | Sweet | Excellent |
| Website | angularjs.org | meteor.com | derbyjs.com |
If something is wrong / add / remove, write in the comments.
Materials by Derby.js