Задать вопрос
njnesterov
@njnesterov
CEO EventSide LLC

Какой фреймверк выбрать? Кто что юзает и почему?

Это, наверное, самый часто задаваемый вопрос )))
Еще несколько лет назад все было бы ясно - express.
Но дело в том, что TJ уже над ним не работает и как я понимаю, он стал очень медленно развиваться.
Hapi, например, уже перешли на ES6, а express еще нет. Есть только альфа 5й части и непонятно, когда будет адекватный релиз.

Посоветуйте какой фреймверк выбрать и почему именно такой. Или все как всегда - "для каждой задачи свои инструменты" ?
  • Вопрос задан
  • 694 просмотра
Подписаться 6 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 5
AirWorker
@AirWorker
Node.js full stack web dev
koajs.com

Вместо коллбеков используются генераторы, соответственно, нет ада коллбеков и обработки ошибок через каждые 3 строчки
Ответ написан
pomeo
@pomeo
Так express сейчас разбит на части и основная работа в других репозиториях. Плюс он 11 февраля перешёл от IBM в руки сообщества, так что всё нормально с ним будет.
А чего выбирать, там все те же фреймворки, как и были. Krakenjs посмотрите.
Ответ написан
@beduin01
vuejs.org для клиента

vibed.org для сервера
Ответ написан
HoHsi
@HoHsi
В последнее время активно использую связку Express + exa.

По сути дела первый - стандарт в Nodejs разработки (так или иначе ноги у многих фреймворков растут из него. Да и на текущий момент он самый популярный);

А Exa избавляет Express от callback hell за счет ES7 async/await или ES6 генераторов. При этом как я понял он не лезет в сам Express и не меняет его, а просто примешивает асинхронные методы для роутеров.

И получается что-то типо того:
'use strict';
const exa      = require('exa');
const express  = require('express');

const mongoose = require('mongoose');

const app = exa(express()); // Примешивание методов

const User = mongoose.model('User');
 
app.$get("/", function * (req, res) {
  const users = yield User.find({}).exec();
 
  res.send(users);
});
 
app.use(function (err, req, res, next) {
  // Все ошибки свалятся сюда
 
  res.statusStatus(500);
});
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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