2009-07-25 2 views
7

Я хотел бы распространять приложение rails в качестве приложения с двойным кликом. Когда кто-то дважды щелкает на приложении, я думаю, что mongrel должен быть запущен, а затем браузер пользователя должен быть запущен и открыт для чего-то вроде localhost: 3000 Я пытаюсь работать через то, что мне нужно будет сделать, я думаю, м понадобится включить в проект копию рельсов и копию драгоценных камней. Нужно ли распространять рубин? Первоначально я ищу, чтобы настроить mac и linux для распространения. Есть ли у кого-нибудь опыт применения упаковочных рельсов?Распространение приложений Rails как родных приложений

Приложение, которое я хотел бы развернуть, является сервером медиацентра для пользовательских носителей. К сожалению, это означает, что у меня не может быть общедоступного сервера, обслуживающего средства массовой информации. Я создал сервер, используя ruby ​​on rails и rake tasks для импорта и управления носителями. Есть ли хороший способ сделать это легким для пользователей для установки? Идея заключалась в использовании приложения с двойным кликом, которое было бы легко для пользователей поднимать и опускать сервер.

+0

Что делать, если один из ваших пользователей является разработчиком рельсов и порт 3000 уже используется? – nilamo

+0

Я думал об этом, я думал, что буду использовать порт 8001, поскольку он кажется довольно далеко от диапазона портов обычного использования. Есть ли у вас какие-либо предложения? – nixterrimus

ответ

3

Я решил использовать jruby и посмотреть на упаковку приложения как приложение java.

+0

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

+0

Спасибо, railsninja, я думаю, что это самый стабильный способ его распространения. Я очень ценю вашу помощь и подстрекаю. – nixterrimus

1

Жестокая Joyent Slingshot сделала именно это, это позволило вам встроить ваше приложение Rails в качестве автономного исполняемого файла под Windows и Mac. Он даже обеспечил простой, но простой метод, позволяющий синхронизировать данные с онлайн-версией. Увы, он не видел никакой активности в течение длительного времени.

https://dev.joyent.com/projects/slingshot/wiki/Slingshot

+0

Это похоже на то, что я ищу, но он не обновлялся более года. :(Вы слышали о какой-либо замене?Интересно, как трудно было бы поменять местами новые версии рельсов и другие активы, которые он содержит. Это с открытым исходным кодом ... – nixterrimus

+0

Теоретически это не должно быть так сложно, по крайней мере, на OSX - встроен собственный интерпретатор Ruby и собственный репозиторий Gem. – pantulis

+0

Я видел это, pantulis, мне любопытно, если они внесли изменения в интерпретатор рубинов. Похоже, что с некоторых из своих сообщений о совершении было сделано несколько интересных изменений, чтобы создать свою «виртуальную машину». – nixterrimus

1

Spiceworks является настольной развернутые Rails приложение, или, по крайней мере, это было пару лет назад. Это бесплатная (с поддержкой рекламы) загрузка.

+0

Похоже, интересное приложение, в котором у них больше информации о том, как они выполняют локальную настройку приложения. – nixterrimus

-1

Если вы хотите писать настольные приложения, пишите приложения для ПК, если вы хотите писать веб-приложения, пишите веб-приложения.

+0

Я думаю, что в большинстве случаев вы абсолютно правы, но я думаю, что мой случай может быть уникальным, и я бы хотел его лететь. Я создаю приложение, которое обслуживает средства массовой информации через локальную сеть пользователя через веб-сервер. Таким образом, пользователь может прислушиваться к своей музыке прямо в своем браузере. Я хочу сделать его максимально простым в установке и использовании, поэтому идея заключалась в том, чтобы иметь приложение с двойным щелчком, которое запускает свой медиа-сервер для своей сети. Имеет ли смысл иметь запуск веб-приложения в качестве настольного приложения? Можете ли вы придумать для этого лучший подход? – nixterrimus

+0

@nixterrimus: Прохладная идея, и я вижу, где вы собираетесь с ней, но мне придется согласиться с @railsninja здесь: я не думаю, что попытка превратить приложение Rails в настольное приложение - это способ пойти с этим. Я бы лично пошел с ориентированной на настольные среды программирования, такой как C#, но вы все равно можете написать свое приложение с Ruby и скомпилировать его в исполняемый файл (я знаю, что есть компиляторы Python, подобные этому, но я не знаю о Ruby , поэтому вы сами по себе). Просто напишите небольшую обертку вокруг Mongrell или любого другого сервера, который вы хотите использовать. –

+3

Я не говорю, что я не использую Ruby, вы, конечно, можете использовать его для настольного приложения, но Rails в качестве настольного приложения - это действительно квадратная ситуация с круглыми отверстиями. – nitecoder

0

Эй, взгляните на shopify и их приложение для дизайнера. http://vision.shopify.com/ В значительной степени именно то, о чем вы говорите. Все, что они сделали, написано как заглушка для обеих платформ, запускающих проект рельсов. Вы можете взглянуть на код, который проверяет просмотр проекта рельсов через содержимое пакета приложений видения.

+1

Этот вид действительно написан для разработчиков. Можете ли вы представить, как пытаться прогуливать пользователей через установку Apache/nginx + или хуже помогать им контролировать их экземпляр mongrel? Нет, спасибо. – nitecoder

0

Я согласен с предыдущими плакатами в отношении настольных приложений, но я нахожу, что пишу веб-приложения для рабочего стола (в основном виджеты с использованием Fluid), поэтому я понимаю эту проблему. Кто-нибудь посмотрел на Titanium Desktop от Appcelerator (http://www.appcelerator.com/)? Я попробовал это на начальном этапе, и потребовалось небольшое упражнение, но конечным результатом было более или менее настольное приложение.

+0

Выглядит интересно, но это другое направление, чем я собираюсь. Приложение, над которым я работаю, позволяет пользователям использовать средства массовой информации в своей сети, поэтому приложение должно запускаться локально и иметь доступ к локальным (но очень ограниченным) ресурсам. Спасибо за внимание к этому, хотя, возможно, я буду нуждаться в будущем. – nixterrimus

0

В будущем я думаю, что MacRuby предоставит отличный способ запуска веб-приложений на рабочем столе (ну, я имею в виду OS X desktop) - вы могли бы теоретически развернуть приложение Rails, а затем иметь точку WebView приложение Rails. В настоящее время они все еще сосредоточены на том, чтобы сделать MacRuby первоклассным гражданином экосистемы OS X, но поддержка Rails находится в дорожной карте.

MacRuby также интересен из-за работы на AOT compiler, с помощью которой вы можете скомпилировать код Ruby для машинного кода.

+0

Я с нетерпением жду того дня, когда macruby может завернуть приложение rails. Я бы хотел настроить таргетинг только на mac для моих выпусков, но я уверен, что это разумно сейчас. – nixterrimus

1

Appcelerator Titanium изначально поддерживает создание клиентских/настольных приложений с использованием Ruby.

Смежные вопросы