Я разрабатываю приложение с использованием Ruby on Rails, в основном как предлог для изучения языка.
Это не предназначено для веб-приложений - и, возможно, я выбрал не тот язык, но ...
Насколько я понимаю, для запуска экземпляра этого приложения на чужом компьютере им потребуется установить ruby на рельсы и веб-сервер (или, возможно, веб-приложение), а также код моего приложения.
Мне просто любопытно, есть ли какие-либо другие варианты распространения моего приложения как отдельного приложения или, возможно, просто простой способ упаковать веб-браузер и ROR вместе с моим приложением для простой, одноэтапной установки?





Шестерни на рельсах может быть?
Мне лично никогда не приходилось этого делать. Но я наткнулся на этот учебник http://www.erikveen.dds.nl/distributingrubyapplications/rails.html, который, я думаю, будет полезен. В руководстве рассказывается, как на самом деле преобразовать приложение rails в автономный exe-файл.
Вы можете включить Ruby on Rails, заморозив его до той версии Rails, которую хотите использовать в своем проекте. Они называют это замораживанием. Пользователю не нужно устанавливать Rails, чтобы использовать ваше приложение. Вы можете сделать это с любой библиотекой, которую используете в своем проекте. Если в проекте используется библиотека, просто поместите ее в папку Vendor в своем проекте. Затем используйте инструмент, аналогичный тому, которым ответил @ Джош, чтобы упаковать его.
Однако для запуска проекта вам понадобится веб-сервер. Нет никакого способа обойти это. Ruby on Rails в этом отношении похож на ASP.NET в том смысле, что это серверная структура. Сервер запускает код и выводит HTML-код в браузер с помощью инфраструктуры Rails.
К сожалению, вы могли неправильно выбрать фреймворк, чтобы делать то, что хотите. Вместо Ruby on Rails вы можете попробовать обувь, который представляет собой основу для разработки приложений с графическим интерфейсом пользователя с использованием Ruby.
Обратите внимание, Slingshot выглядит мертвым проектом (см. Комментарии). Я оставлю этот ответ здесь для исторических целей и на случай, если он вернется
Рогатка Джойента может быть хорошей ставкой.
Joyent Slingshot allows developers to deploy Rails applications like a standard desktop application, which work online and offline (with synchronization), have drag and drop, and interact with all the other desktop applications.
With Joyent Slingshot:
- Create a hybrid Web/desktop application
- Synchronize online and offline data
- Use the same code for online and offline application(s)
- Deploy and update your application easily
- Drag into and out of application
Вот еще несколько ссылок, которые помогут с вашей оценкой и / или помогут вам начать работу:
Это все еще доступно? Нигде не могу найти. Ссылки все тупиковые.
Я могу подтвердить, что этого проекта, похоже, больше нет. Немалое количество сообщений в вики и блогах, похоже, осталось, но я подозреваю, что код больше не поддерживается.
Вы всегда можете рассмотреть возможность компиляции вашего Ruby в байт-код JVM (через JRuby) или байт-код .NET (через IronRuby) для распространения среди людей, у которых есть эти виртуальные машины, и которые не хотят устанавливать среду выполнения Ruby.
Возможно, вы захотите проверить обувь для создания настольных приложений на Ruby. Rails действительно настроен для создания веб-сайтов.
Вы конкретно не говорите, должно ли это быть приложение с графическим интерфейсом пользователя или нет. Судя по другим ответам, я так думаю.
Следовательно, вам необходимо уточнить, каковы ваши цели. RoR - это специализированный фреймворк для веб-приложений. Если ваша цель - изучить RoR, я бы сказал, чтобы получить недорогой веб-хостинг и сделать себе приложение. Если ваша цель - изучить Ruby, не обязательно Rails, тогда вам могут подойти Shoes, IronRuby, JRuby, MacRuby и другие.
Большинство людей отправляют программы на Ruby, в том числе веб-приложения Rails, в качестве автономного исполняемого файла через rubyscript2exe. Они описывают, как упаковать приложение Rails в http://www.erikveen.dds.nl/distributingrubyapplications/rails.html. Ruby, Rails и все связанные библиотеки будут включены в EXE-файл.
Как уже упоминалось, Ruby не обязательно является Rails, и если вам действительно нужен простой способ написать распространяемое приложение с графическим интерфейсом на Ruby, обувь - отличное место для начала поиска.
Это похоже на то, что мне нужно, с потенциально двумя недостатками: 1) Неясно, действительно ли нажатие на получившийся исполняемый файл запускает веб-сервер, или, если нет, то что он делает 2) Не похоже, что вы можете упаковать приложение для кроссплатформенность. Так ли это?