Подтвердить что ты не робот

Варианты распространения автономного приложения Ruby on Rails

Я разрабатываю приложение с использованием Ruby on Rails, в основном в качестве предлога для изучения языка.

Это не предназначено для веб-приложения - и, возможно, я выбрал неправильный язык, но...

Я понимаю, что для запуска экземпляра этого приложения на другом компьютере им нужно будет установить ruby ​​на rails и, возможно, веб-сервер (или webrick), а также код моего приложения.

Мне просто интересно, есть ли другие варианты распространения моего приложения как отдельного приложения или, может быть, просто простой способ упаковать веб-браузер и ROR вместе с моим приложением для простой одноэтапной установки?

4b9b3361

Ответ 1

Мне лично никогда не нужно было этого делать. Но я столкнулся с этим учебником http://www.erikveen.dds.nl/distributingrubyapplications/rails.html, который, я думаю, будет полезен. В учебнике рассказывается, как фактически преобразовать приложение rails в автономный exe файл.

Ответ 2

Примечание. Slingshot кажется мертвым проектом (см. комментарии). Я оставлю этот ответ здесь для исторических целей и непредвиденного, что он вернется

Joyent Slingshot может быть хорошей ставкой.

Joyent Slingshot позволяет разработчикам развертывать приложения Rails, такие как стандартное настольное приложение, которые работают онлайн и офлайн (с синхронизацией), перетаскивают и взаимодействуют со всеми другими настольными приложениями.

С Joyent Slingshot:

  • Создание гибридного веб-приложения/рабочего стола
  • Синхронизация онлайн-и офлайн-данных
  • Использовать тот же код для онлайн-приложений и офлайн-приложений.
  • Разверните и обновите приложение легко.
  • Включение и выключение приложения

Ниже приведены некоторые дополнительные ссылки, которые помогут вам оценить и/или помочь вам начать работу.

Ответ 3

Как большинство людей отправляют рубиновые программы, в том числе Rails webapps, в качестве автономного exe через rubyscript2exe. Они описывают, как упаковать приложение Rails в http://www.erikveen.dds.nl/distributingrubyapplications/rails.html. Ruby, Rails и все связанные библиотеки будут включены в EXE файл.

Как уже упоминалось, Ruby не обязательно Rails, и если вам действительно нужен простой способ записи дистрибутивного GUI-приложения в Ruby, Shoes - отличное место для начала поиска.

Ответ 5

Вы можете включить Ruby on Rails, заморозив его до версии Rails, которую вы хотите использовать в своем проекте. Они называют это замораживанием. Пользователю не нужно будет устанавливать Rails для использования вашего приложения. Вы можете сделать это с помощью любой библиотеки, которую вы используете в своем проекте. Если проект использует библиотеку, просто поместите ее в папку "Поставщик" в вашем проекте. Затем используйте инструмент, подобный тому, что ответил @Josh, чтобы упаковать его.

Для запуска проекта вам понадобится веб-сервер. Об этом нет. Ruby on Rails похожа на ASP.NET в этом отношении, так как это серверная структура. Сервер запускает код и выводит HTML в браузер, используя фреймворк Rails.

К сожалению, вы, возможно, выбрали неправильную структуру, чтобы делать то, что хотите. Вместо Ruby on Rails вы можете проверить Shoes, который является основой для разработки приложений GUI с использованием Ruby.

Ответ 6

Вы всегда можете рассмотреть возможность компиляции вашего байт-кода Ruby в JVM (через JRuby) или байт-код .NET(через IronRuby), чтобы распространять людей, которые имеют эти виртуальные машины, и не хотят устанавливать среду выполнения Ruby.

Возможно, вы захотите проверить Shoes для создания настольных приложений в Ruby. Rails действительно настроен для создания веб-сайтов.

Ответ 7

Вы не говорите конкретно, должно ли оно быть графическим приложением или нет. По другим ответам, я бы догадался.

Поэтому вам нужно уточнить, каковы ваши цели. RoR - это специализированная платформа для веб-приложений. Если ваша цель - изучить RoR, я бы сказал, чтобы получить некий недорогой веб-хостинг и сделать себе приложение. Если ваша цель - изучить Ruby, не обязательно Rails, тогда могут быть хорошие варианты для просмотра, Shoes, IronRuby, JRuby, MacRuby и других.