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

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

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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
18
0
9 029
7

Ответы 7

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

Это похоже на то, что мне нужно, с потенциально двумя недостатками: 1) Неясно, действительно ли нажатие на получившийся исполняемый файл запускает веб-сервер, или, если нет, то что он делает 2) Не похоже, что вы можете упаковать приложение для кроссплатформенность. Так ли это?

Brent 12.09.2008 03:48

Вы можете включить 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

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

Это все еще доступно? Нигде не могу найти. Ссылки все тупиковые.

stellard 28.01.2010 11:58

Я могу подтвердить, что этого проекта, похоже, больше нет. Немалое количество сообщений в вики и блогах, похоже, осталось, но я подозреваю, что код больше не поддерживается.

Scott Swezey 29.06.2011 04:40

Вы всегда можете рассмотреть возможность компиляции вашего 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, обувь - отличное место для начала поиска.

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