Использование Node.js с Django и Backbone.js - программирование
Подтвердить что ты не робот

Использование Node.js с Django и Backbone.js

Некоторые предпосылки:. Я планирую создать приложение с Django как backend и использовать Backbone.js в качестве фреймворка Javascript. Это одностраничное приложение (SPA), и именно по этой причине я решил использовать Backbone.js. Приложение похоже на механизм ведения блога; пользователи публикуют записи, содержащие текст и изображения, и могут просматривать их с помощью "тега". Они могут выполнять поиск через свои записи с помощью "тега" или определенного слова.

В последнее время, услышав всю суету о Node.js, мне интересно, как это может помочь моему приложению? Но я не хочу, чтобы приложение выполнялось исключительно на Node.js на бэкэнд, т.е. Я все еще хочу использовать Django для бэкэнд. Можно ли использовать Node для "среднего конца", как упомянуто здесь?

Как оптимизировать мое приложение с помощью Node.js?

4b9b3361

Ответ 1

Похоже, ваше приложение не обязательно нужно Node.js. Основные причины, по которым вы, возможно, захотите использовать Node в дополнение к более традиционной структуре, такой как Django или Rails, - это если в вашем приложении есть реальный или многопользовательский аспект.

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

Архитектура высокого уровня вашего приложения может выглядеть примерно так:

Django

  • Обслуживание одной страницы
  • Служебные активы (css, js, images и т.д.)
  • Обработка соединения с БД - лучше всего настроить маршруты RESTful для каждой модели данных
  • Обработка данных и т.д.

Магистральные

  • Обработка взаимодействия с пользователем
  • Сделать http-запросы для чтения и записи данных

Node (необязательно)

  • Используйте что-то вроде Socket.io, чтобы уведомлять клиентов об обновлениях (вместо полирования).
  • Вы можете заменить функциональность Django на одну или комбинацию Node модулей

Ответ 2

Если вы чувствуете себя комфортно с python и Django в целом, я бы рекомендовал использовать веб-сервер, например Tornado. Он очень прост в использовании и имеет крутую кривую обучения, если вы знакомы с Django. В общем, вы увидите улучшения производительности, и у вас будет возможность реализовать иначе "неясную" функциональность, например, кометное программирование.

Что касается интерфейса, да, Backbone - отличный выбор, но следите за Coffeescript тоже...