Развертывание Rails в качестве настольного приложения - PullRequest
4 голосов
/ 28 ноября 2011

Я только начинаю разработку RoR в течение двух недель. Пока это довольно удивительный язык программирования.Это меня так впечатляет, что я начинаю думать об изменении языка программирования проекта моего клиента с PHP на RoR.Но я хочу знать, можно ли сделать веб-приложение RoR похожим на родное приложение при использовании его на локальном компьютере.Под термином Собственное приложение Я имею в виду ..

  1. Пользователю не нужно запускать скрипт / сервер или сервер rails каждый раз, когда они запускают свою машину
  2. Либо обращайтесь к ней через веб-браузер, либо что-то еще подойдет.
  3. Может работать с Window 7 или Window XP

OtherРекомендации приветствуются.(Включая причину не использовать RoR для разработки локального приложения)

Ответы [ 6 ]

5 голосов
/ 28 ноября 2011

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

  • скомпилированный распространяемый интерпретатор ruby ​​
  • распространяемая база данных
  • скрипт для полной загрузки (желательно запускаемый по нажатию иконки или при запуске системы)
  • установщик

опционально:

  • написать простую оболочку в qt или java (возможно, даже с привязками ruby), которая обрабатывает запуск и остановку приложения rails и предоставляет вашему клиенту веб-фрейм вместо стандартного веб-браузера.

Вот учебник по развертыванию приложения rails как настольного приложения, хотя и для Debian, который должен направить вас в правильном направлении. Но ваш лучший выбор для быстрого графического приложения в ruby ​​- shoes .

3 голосов
/ 28 ноября 2011

, поскольку rails - это фреймворк для веб-разработки, нет способа избежать запуска rails server, чтобы показать что-то на локальной машине.Вы можете скрыть тот факт, что сервер запускается, запустив его как службу, не сообщая об этом пользователю, но это только насколько вы можете получить.

, так что да, можно объединить ваше приложение в«родное приложение», но я боюсь, что оно будет чрезвычайно хрупким, так как слишком много кусочков, которые должны быть соединены вместе: сам рубин, база данных для использования, рельсы и все другие драгоценные камни.велика вероятность того, что у вас будет гем, который нужно скомпилировать, и тогда у вас возникнут проблемы.

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

2 голосов
/ 28 ноября 2011

Если вы хотите веб-приложение, создайте веб-приложение.Если вы хотите создать настольное приложение, попробуйте Monkeybars или Appcelerator .

2 голосов
/ 28 ноября 2011

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

По крайней мере, вы можете рассмотреть возможность использования бесплатных хостов, таких как heroku. http://your -project-name.heroku.com предоставит вам 5 МБ базы данных и 1 работника. Это бесплатно, избавит вас от множества неприятностей и упростит развертывание новой версии для ваших клиентов.

Просто сделайте так, чтобы они добавили закладку на свой рабочий стол, если хотят дважды щелкнуть, чтобы открыть приложение.

2 голосов
/ 28 ноября 2011

Может быть, я ошибаюсь, но вы, кажется, упускаете тот факт, что RoR не является языком программирования.Ruby - это язык программирования, а RoR - фреймворк для веб-разработки.В любом случае, если вы хотите разрабатывать настольные приложения, вы можете использовать Ruby с такой средой, как Bowline (чтобы сохранить дух MVC).

1 голос
/ 27 января 2013

Довольно поздно для моего ответа, но в любом случае у меня возникла та же проблема, и я использовал gem ocra для создания exe для windows. Также возможно создать настройку для установки программы в реестре.

Все еще необходимо запустить сервер, но пользователь должен просто щелкнуть по программе exe; Консоль открывается и дает некоторые инструкции, такие как «после запуска сервера, откройте браузер и перейдите к localhost: 3000; Ctrl + C, чтобы выйти, когда вы закончите.

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

ocra не очень легко установить, но в итоге он работает нормально.

...