Nodejs + Express vs Django: Выбор наиболее подходящего бэкенд-компонента для заданных требований

Я пытаюсь построить архитектуру программного обеспечения для своей веб-разработки. Основные требования к сайту следующие:

  • визуализировать данные в реальном времени
  • проводить анализ машинного обучения
  • отправлять информацию о визуализации по электронной почте или SMS

Концепция такого веб-приложения состоит из базы данных, бэкенда и компонента фронтенда. Я уже выбрал базу данных временных рядов.

Несмотря на мои исследования, я не могу определить, какой компонент бэкенда лучше всего соответствует требованиям: Nodejs + Expressjs или Django. Мои знания программирования на Javascript и Python находятся на одном уровне.

Почему узел:

  • его модель однопоточного цикла событий для веб-приложений реального времени
  • тот же язык программирования для выбора javascript-фреймворка на frontend-стороне (но python для анализа машинного обучения)
  • большая гибкость, чем у Django, благодаря паттерну MTV
  • .
  • (обычно) меньшее время выполнения, чем python-код

Почему Django:

  • Django Channels для веб-приложений реального времени
  • язык python в бэкенде, фронтенде и для анализа данных
  • более быстрый процесс разработки благодаря простоте языка
  • более безопасный благодаря встроенным средствам безопасности

Вопрос: Есть ли другие технические аргументы, почему я должен рассмотреть возможность выбора Nodejs или Django или аргументы за то, чтобы не выбирать один из них?

  1. Ну, Django также очень гибкий и мощный в том смысле, что вам нужно писать меньше шаблонного кода и дает вам много решений из коробки, таких как панель администратора, аутентификация и многое другое...
  2. .
  3. Да, nodejs действительно быстрее по сравнению с django, но скажите мне, насколько быстрее? Это действительно имеет значение?
  4. Django также имеет концепцию, такую как celery, которая используется для фоновых задач, таких как отправка почты. Возможная альтернатива потоковой обработке в nodejs.
  5. .
  6. В nodejs у вас есть вебсокеты, а в django - каналы
  7. .
  8. Вы можете делать машинное обучение в обоих, nodejs также имеет поддержку tenserflow и многие другие библиотеки.

Заключение: По моему мнению, вам следует выбрать Django, laravel или Rails или что-то более зрелое, чем они, Причина в том, что веб-фреймворки nodejs довольно молоды на рынке, в то время как django существует уже более 20 лет, я думаю, и то же самое для laravel и т.д.. Express - это много кодового кода, а что касается nestjs, то он также довольно молод.

Надеюсь, мое предложение поможет вам. Лично я тоже начинал с nodejs, а теперь перешел на Django. Я не говорю, что nodejs плох, он потрясающий, но время имеет значение, если вы хотите разрабатывать материал быстро, то nodejs не лучшее решение.

Вернуться на верх