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

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

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

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

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

7 ответов

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

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

Рогатка Джойента может быть хорошей ставкой.

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

С Джойентом Рогаткой:

  • Создать гибридное веб / настольное приложение
  • Синхронизировать онлайн и офлайн данные
  • Используйте один и тот же код для онлайн и оффлайн приложений
  • Разверните и обновите приложение легко
  • Перетащите в и из приложения

Вот некоторые дополнительные ссылки, которые помогут вам с вашей оценкой и / или помогут вам начать:

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

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

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

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

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

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

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

Gears on Rails может быть?

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

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

Другие вопросы по тегам