Должен ли я использовать Rails или Ruby для этого веб-приложения? Как? - PullRequest
6 голосов
/ 21 января 2010

Я очень новичок в веб-программировании (или, на самом деле, очень стар для него, так как в прошлый раз, когда я связывался с Интернетом, был HTML 1.1), но теперь мне нужно быстро развернуть веб-приложение. Кажется, что каждый раз, когда я оборачиваюсь, появляются новые акронимы и технологии для изучения (JSON, XMLRPC, GWT, Javascript, Rails и т. Д.).

Вот что должно делать мое приложение:

  1. С учетом имени пользователя и пароля, авторизуйтесь (достаточно просто, очевидно, все это делает).
  2. Разрешить пользователю загружать большой объем данных для обработки.
  3. Обработка этих данных.
  4. Разрешить пользователю загружать свои обработанные данные.

У меня уже есть Java-скрипты и база данных для обработки данных. На одной машине я могу запустить серию программ командной строки, чтобы обработать входящий блок данных и поместить результаты обратно в базу данных mysql. Это уже присутствует и работает.

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

  1. Иметь две машины, машину базы данных и веб-сервер. Этот подход допускает дальнейшую масштабируемость, если это необходимо, но также требует, чтобы я не предполагал, что программы, которые я использую для доступа к данным и манипулирования ими, хранятся локально.
  2. Используйте приложение Ruby DRb для создания сервера и клиента. Клиент передает данные на сервер, который, в свою очередь, вызывает эти приложения.
  3. Используйте другой интерфейс Ruby для взаимодействия с DRb для веб-интерфейса.

Вот моя проблема: похоже, что большинство Ruby-приложений для Интернета автоматически пытаются создать какую-то локальную базу данных. Все Rails-уроки , которые я нашел, начинаются с создания своей собственной базы данных и взаимодействия с ней, а это именно то, чего я не хочу делать.

Является ли Rails подходящей технологией для меня или с использованием Ruby DRb? Есть ли какая-то другая технология, которую я должен изучить?

Если Rails или Ruby - правильная вещь, на что мне смотреть? У меня уже есть книга Programming Ruby , и я использовал ее для некоторых бэкэндов, а также для работы с базовыми DRb-компонентами.

Ответы [ 2 ]

16 голосов
/ 21 января 2010

Похоже, что Rails может быть немного тяжелым для вашей ситуации. Возможно, Синатра может быть лучше? Это сверхлегкий фреймворк: приложение hello world может выглядеть примерно так:

require 'sinatra'
get '/' do
  "Hello World!"
end
1 голос
/ 21 января 2010

Рельсы в порядке. У вас могут быть базы данных разработки и тестирования на локальном компьютере, а производственные базы данных - на удаленном компьютере. Это не обязательно должен быть веб-сервер. Получите копию Agile Web Development с Rails . Он научит вас всему, что вам нужно знать.

...