После поста о derby.js и перевода сравнения meteor.js и derby.js, главный вопрос, который был в комментариях, звучал примерно так: «Что всё таки лучше derby.js или meteor.js? И зачем вообще всё это нужно, когда можно писать на angular.js + express.js?». Конечно не совсем корректно сравнивать эти фреймворки, так как derby.js и meteor.js — это так называемые full-stack, а angular.js — mvc на клиенте.
angular.js (+ express.js) | meteor.js | derby.js | |
---|---|---|---|
Full-stack framework | Нет, только MVC на клиенте. | Да | Да |
Бэкенд | Любой | node.js | node.js |
Консольная утилита | Нет | Есть | Есть |
Динамическая связка html с данными на клиенте | Да | Да | Да |
Рендеринг html на сервере | Нет, обещают не нативный | Да, не нативный | Да, нативный |
express.js app | Да | Нет | Да |
npm пакеты | можно подключить browserify | через пакет собственного пакетного менеджера о_О | browserify встроен |
Повторное использование кода между клиентом и сервером | Низкое | Высокое | Высокое |
REST API | Нет, но легко добавить | Есть пакет | Есть, встроенный |
База данных | Любая | Любая, но на клиенте синтаксис Mongo Queries | Любая + обязательно Redis (для pub-sub и кэша операций OT) |
Синхронизация данных между клиентами | Нет, добавить сложно | Optimistic (кто успел, тот пострел) | OT (подобно Google Waves) |
Канал синхронизации данных | Нет | DDP протокол (web-sockets) | browserchanel (как в Gmail, потому что web-sockets не гарантируют порядка передачи сообщений) |
Обновление приложения без перезагрузки (удобство разработки) | Нет | Да — html, css, js | Да — html, css |
Готовность к продакшен | Готов | Готов | Готов |
Примеры продакшен | Тысячи их | Достаточно | lever.co, unroll.me |
Текущая версия | 1.2.0 | 0.6.5.1 | 0.5.9 |
Порог входа | Средний | Низкий | Высокий |
Коммунити | Очень большое | Большое | Маленькое |
Если назвать одним словом | Модный | Сладкий | Превосходный |
Сайт | angularjs.org | meteor.com | derbyjs.com |
Если что-то не правильно/добавить/убрать, пишите в комметариях.
Материалы по Derby.js