Какой Web-фреймворк для Node.js выбрать?

Добрый день!
Меня изрядно поддостал Express, из-за того что там нужно почти все делать руками (это несомненно и мощь, но не в текущем случае).

Сейчас я разрабатываю сервис, который по AMQP крутит довольно долгие задачи, и мне нужно ко всему этому прикрутить Web-морду.

Знаю и всем сердцем люблю Express (особенно в связке с Exa), но сейчас он мне кажется избыточным и долгим в разработке.
Появилась в потребности, в пусть и менее гибком, но быстром с точки зрения разработки фреймворке.

Критериями служат:
* ES6/ES7 синтаксис, с async/await (ну или хотя-бы CO, которые спокойно заменяются ES7 async/await).
* Возможность выбрать базу данных. MongoDB знаю и люблю, но возможно от нее придется отказаться в угоду SQL.
* Не привязанный к ванильному JS. Со временем есть желание перевести проект на TS (я понимаю, что это и так можно сделать, но хотелось бы иметь уже заранее подготовленные тайпинги).
* Наличие хотя-бы какой-никакой админки.
* Возможность разбивать пользователей по ролям.
* Возможность генерировать REST API карты, для удобства и наглядности.
* Уже встроенные решения для пользовательских сессий, XSS (и смежных) защит, авторизации.
* Открытость для расширений и пользовательских плагинов.

P.s. смотрел на Sails, но он еще не зарелизен, да и вообще довольно специфичен. Слышал о Meteor, но там нужно слишком много учить заново, а для текущего прототипа в нерабочее время, это слишком.
  • Вопрос задан
  • 8575 просмотров
Пригласить эксперта
Ответы на вопрос 7
Pinsky
@Pinsky
Кофеиноникотиновая смесь в backend-код
Koa.js и Total.js посмотрите. Думаю Koa вам подойдет больше даже
Ответ написан
Комментировать
@watsonstudio
Попробуйте Total.js, уже достаточно долгое время работаю с этим фреймворком. Очень многое уже есть в коробке и покрывает на 100% необходимые задачи. Автор достаточно оперативно решает проблемы, если такие находятся. Единственный минус перед express, это примерно процентов на 30-40% меньше производительность в сравнении с тем же express (проводил нагрузочное тестирование Яндекс.Танком на версии 1.9), с другой стороны если на express реализовать весь тот же функционал, то думаю они сравняются.

p.s. На этом фреймворке уже год несколько проектов в продакшене, полет стабильный.
Ответ написан
Посмотрите в сторону loopback. https://github.com/strongloop/loopback
Вот уж кто позволит вам на лету менять базки.
И админка у него есть.
Обна беда - он все-таки больше позицианирует себя как REST.
Ответ написан
@Elizavetta
Matroid: gamedev/js-разработка
Возможность выбрать базу данных. MongoDB знаю и люблю, но возможно от нее придется отказаться в угоду SQL.
* Наличие хотя-бы какой-никакой админки.
* Возможность разбивать пользователей по ролям.
* Возможность генерировать REST API карты, для удобства и наглядности.
* Уже встроенные решения для пользовательских сессий, XSS (и смежных) защит, авторизации.
* Открытость для расширений и пользовательских плагинов.

Похоже, вам нужен django. В node-фреймворках очень плохо с админками, структурированными пользователями и прочими коробочными решениями (остальное можно достичь разными модулями)
Ответ написан
Комментировать
@g00dv1n
Судя по описанию это KOA, 100 % ) КАк выйдет в node es7, то выйдет из альфы вторая весрия коа, и как раз async/await
Ответ написан
pogranecua
@pogranecua
Yii 1/2, Node.js, Angularjs
Попробуй Sails https://github.com/balderdashy/sails
Ответ написан
Комментировать
@antonsr98
Системный Администратор
посмотрите hapi.js
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы