Вопрос

У меня есть приложение, которое я создаю, которое очень похоже на Craigslist, но с ограниченной функциональностью.Обычно я бы использовал Rails для такого рода приложений, но мне интересно изучить фреймворк nodejs/backbonejs, и кажется, что это хорошая возможность освоить его.

Я не уверен, как nodejs и/или backbonejs подходят для этого решения?Мне не обязательно использовать рельсы, я могу использовать nodejs и backbonejs, если это имеет смысл.

Спасибо

Это было полезно?

Решение

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

Замена Rails на Node
Node.js может легко заменить функциональность Rails, т.е.общение с базой данных, содержащей логику модели, обслуживание страниц и ресурсов и управление маршрутизацией.Есть тонны тонны модулей доступны для этого.Распространенным решением является использование Express (простая веб-инфраструктура типа Синатры) для обслуживания страниц и обработки шаблонов, а также ODM/ORM для обработки объектов базы данных.Существуют также более обширные рельсоподобные фреймворки, такие как Geddy.

Мой взгляд на Node как на прямую замену Rails
Если вам просто нужна функциональность Rails, используйте Rails.На мой взгляд, код Ruby/Rails выглядит чище, более управляемым и немного более зрелым (смело зажигайте...).Если вы обслуживаете множество разных страниц, Rails хорошо их организует.Однако если вы создаете одностраничное приложение, что является одним из основных вариантов использования Backbone, то большая часть пакета Rails не нужна — вам просто нужна логика модели и взаимодействие с базой данных.В этом случае будет достаточно чего-то вроде Express(Node) или Sinatra(Ruby) с ORM и RESTful маршрутизацией для связи между серверной и внешней частью.

Добавлена ​​функциональность с Node.
Наиболее привлекательные варианты использования Node — это сайты с режимом реального времени или многопользовательской игрой;Node отлично подходит для параллелизма и асинхронности.Используйте Node, если у вас есть клиенты, отправляющие данные друг другу без перезагрузки страниц или данные, передаваемые с сервера на клиент без загрузки другой страницы (отличный модуль для этого — Сокет.io).Опять же, это вариант использования, который хорошо работает с одностраничными интерфейсами или интерфейсами с высоким уровнем взаимодействия, которые поддерживает Backbone.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top