Ответ 1
Надеюсь, этот ответ поможет вам. Я попытался сделать что-то подобное в эти выходные. Будучи давним сторонником Rails
(и после того, как я стал очень хорош в Rails 3.2.1
, я решил перепрыгнуть корабль в эти выходные и переключиться на Nodejs
. Будучи средним кодовым кодом JavaScript, я думал, что это будет весело и сложно.
Я даже купил Nodejs screencast из Peepcode. Итак, я сажусь, запускаю Textmate, получаю простой проект nodejs, а затем настраиваю его с помощью Twitter Bootcamp, и приложение начинает выглядеть потрясающе, ИМХО.
Затем я получаю поддержку базы данных. Затем БАМ. Вещи быстро ударили меня. Я должен найти неблокирующий драйвер Postgresql. Хорошо. Найден один. Какие? Мне нужно вручную создавать SQL-запросы? Но я настолько испорчен ActiveRecord? ОК, похоже, существуют рамки типа AR для node. Но учебник, который я использовал, был для Express. Но подождите, Нодеджицу рекомендовал Утюг. Хорошо, Flatiron выглядит многообещающим. Но подождите, я начинаю смотреть на пример использования Flatiron для управления данными. Они называют это "изобретательным"? Я нашел один пример управления данными о том, что волк ест белку? Где примеры has and belongs to many
? Как сказать Flatiron, что моя модель Notes
является полиморфной и относится к Trips
и Expenses
?
Я уверен, что они там, но я не мог найти его.
Но все становится лучше. Стрелять. Я думал, что ненавижу миграцию, пока мне не пришлось запускать pgAdmin и/или Navicat, чтобы вручную создавать мои базы данных. Затем мне пришлось вручную создавать таблицы... о, дерьмо. Я испортил столбец в pgAdmin. Но это не позволило мне изменить его! Поэтому мне пришлось перезапустить все создание таблицы снова. Тьфу. Человек, я не вижу генераторов и rake db:migrate
на этом этапе!
Затем я понял, что провел весь уик-энд (ну, какое небольшое время у меня есть для кодирования), и все, что я должен показать, это потрясающая статическая HTML-страница, которая не работает.
Точка, если вы хороши в Rails, тогда Nodejs будет основным сдвигом. Может, тебе это нравится? Возможно, нет.
В конце выходных я понял кое-что. Мое новое приложение будет сильно нагружено пользовательским интерфейсом и будет отправлять JSON обратно на сервер бэкэнд. Rails - отличный инструмент для этого. Rails совершенно счастлив говорить JSON. На самом деле, мое приложение будет статическим HTML-страницами, обслуживаемыми через nginx, а Rails будет управлять уровнем данных с помощью контроллеров.
Мое предложение - изучать Express/Nodejs, если вы хотите начать с нуля каждую часть процесса разработки. Если вы хотите создать свои собственные строки запросов. Если вы хотите сделать все вручную. Может, тебе это нравится. Может быть, у вас есть идеи по облегчению мира. Возможно, вы хотите использовать Tower.js или Flatiron.js или какую-либо другую инфраструктуру Nodejs.
Или, может быть, вы похожи на меня, и у вас есть чертвое приложение, которое вы хотите закончить. Затем используйте Rails.