@ShadowIdentity
Web Developer

Какой выбрать node.js фреймворк под небольшой проект?

Привет, коллеги,
для среднего web и PWA проекта нужен бэкенд. Я front end разработчик и по старой памяти делаю иногда что-то в back end, но вообще ушёл с back end (django/flask) 5 лет назад, поэтому решил делать проект на nodejs (всё равно начинать с нуля по сути).

Основная логика будет реализвоана в React + иногда swelte на клиенте. BE нужен для сохранения и представления данных (и изображений) пользователей и поиска с фильтрацией по БД пользователей.

Если фреймворк чего-то не умеет, но это легко реализуется с помощью надёжных сторонних библиотек -- то это тоже подходит.

Требования к фреймворку
  • простая реализации аутентификации и что с ней связано -- регистрация, сброс паролей, аутентификация через соцсети
  • безопасность данных пользователей, и ещё нужно, чтобы framework не давал выстрелить себе в ногу или имел подробный гайд по безопасности
  • web socket для простого чатика
  • Push уведомления
  • отсутствие проблем с typescript


Пожелания
  • ORM
  • GDPR инструменты в +
  • чтоб с PWA не было особых сложностей
  • поддержка React


Буду рад получить рекомендации фреймворков,
всем заранее спасибо :)
  • Вопрос задан
  • 708 просмотров
Решения вопроса 1
YuriyVorobyov1333
@YuriyVorobyov1333
Software Developer
Используйте Express.js это самый простой в освоении фремфорк, под который написано куча библиотек:
  1. авторизация - Passport.js
  2. работа с файлами - multer
  3. ORM - sequelize
  4. сокеты - socket.io
  5. настройка typescript - тут статья
  6. безопасность - helmet


Плюс у фреймворка есть генератор, который поможет очень быстро поднять приложение без лишних проблем
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
peterpro
@peterpro
Eсли приложение больше чем один эндпоинт на одну табличку в БД, и жить ему больше чем квартал - надо брать нормальный корпоративный фреймворк, с нормальной ORM, в вашем стеке это Nest + TypeORM.

PS: Я вообще не понимаю людей, которые в 2020 году что-то пишут на голом express/fastify (или называют эти либы - фреймворками). Такое ощущение, что у них после старта очередного проекта всплывает табличка "поздравляю, вы сэкономили 15 минут на развёртывании, вы - восхитительны!"
Ответ написан
Комментировать
exeto
@exeto
front-end developer
Для работы с базой посмотрите https://www.prisma.io/
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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