Ответ 1
Если вы создаете полное веб-приложение, вам, вероятно, следует использовать Rails, поскольку он предоставляет наиболее полные сервисы. Вы также можете использовать огромный объем работы, созданной сообществом.
Sinatra отлично подходит для создания действительно тонких, без излишеств приложений. У вас мало работать, но это очень быстро. Если вам нужно подключение к базе данных, вам нужно будет добавить его, и подобные вещи могут сделать задачу создания приложений среднего размера. В принципе, если вам нужно что-то очень простое и не нужно Rails, вам, вероятно, понадобится Sinatra.
node.js - отличная новая структура для создания гибких, масштабируемых приложений, но у нее почти нет библиотеки надстроек, которую создает зрелая платформа, такая как Rails. node.js действительно превосходит приложения, основанные на потоковой передаче и преобразовании данных по требованию. Некоторые из примеров, приведенных в Node Knockout, очень интересны, но они были созданы некоторыми исключительными командами.
В то время как записи Node Knockout очень хорошо сделаны по сравнению с типами приложений, выпущенных в 2009 году Rails Rumble, они кажется, сталкиваются как игрушки, не имеющие глубины и сложности. Это не значит дискредитировать работу, выполняемую командами новичков Node, но это показывает, что сильные стороны node.js в основном связаны с событиями в реальном времени и меньше с обычными более обычными приложениями на базе БД.