离线 Ruby on Rails 应用程序的分发选项

发布于 2024-07-04 16:10:41 字数 289 浏览 8 评论 0原文

我正在使用 Ruby on Rails 开发一个应用程序,主要是作为学习该语言的借口。

这并不是一个基于 Web 的应用程序 - 也许我选择了错误的语言,但是......

我的理解是,为了在其他人的计算机上运行此应用程序的实例,他们需要安装 ruby在 Rails 上,还有一个网络服务器(或者可能是 webrick),以及我的应用程序代码。

我只是好奇是否还有其他选项可以将我的应用程序作为独立应用程序分发,或者只是一种将 Web 浏览器和 ROR 与我的应用程序打包在一起以进行简单的一步安装的简单方法?

I am developing an application in using Ruby on Rails, mostly as an excuse to learn the language.

This is not intended to be a web-based application - and perhaps I have chosen the wrong language, but...

My understanding is, that in order to run an instance of this application on somebody else's computer, they would need to install ruby on rails, and a webserver (or webrick, perhaps), as well as my application code.

I am just curious if there are any other options for distributing my application as a standalone app, or perhaps just a simple way to package up a web browser and ROR together with my app for a simple, one-step install?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

ペ泪落弦音 2024-07-11 16:10:41

您没有具体说明它是否应该是一个 GUI 应用程序。 从其他答案来看,我猜是这样的。

因此,你需要明确你的目标是什么。 RoR 是一个专门用于 Web 应用程序的框架。 如果您的目标是学习 RoR,我建议您为自己找一些便宜的网络托管并制作一个应用程序。 如果您的目标是学习 Ruby,而不一定是 Rails,那么 Shoes、IronRuby、JRuby、MacRuby 等可能是不错的选择。

You do not specifically say whether it is supposed to be a GUI application or not. From the other answers, I would guess so.

Therefore, you need to clarify what your goals are. RoR is a specialized framework for web applications. If your goal is to learn RoR, I'd say to get yourself some inexpensive web hosting and make yourself an app. If your goal is to learn Ruby, not necessarily Rails, then Shoes, IronRuby, JRuby, MacRuby and others may be good options to look at.

面如桃花 2024-07-11 16:10:41

大多数人将 ruby​​ 程序(包括 Rails webapps)作为独立 exe 发布的方式是通过 ruby​​script2exe。 他们描述了如何打包 Rails 应用程序,网址为 http://www.erikveen.dds.nl /distributingrubyapplications/rails.html。 Ruby、Rails 和所有关联的库都将包含在 EXE 文件中。

正如其他人提到的,Ruby 不一定是 Rails,如果您确实想要一种简单的方法来用 Ruby 编写可分发的 GUI 应用程序,鞋子是一个很好的开始寻找的地方。

The way most people ship ruby programs, including Rails webapps, as a standalone exe is via rubyscript2exe. They describe how to package a Rails application at http://www.erikveen.dds.nl/distributingrubyapplications/rails.html. Ruby, Rails, and all the associated libraries will be included in the EXE file.

As others mentioned, Ruby is not necessarily Rails and if you really want an easy way to write a distributable GUI application in Ruby, Shoes is an excellent place to start looking.

美羊羊 2024-07-11 16:10:41

您始终可以考虑将 Ruby 编译为 JVM 字节码(通过 JRuby)或 .NET 字节码(通过 IronRuby)分发给拥有这些虚拟机但不想安装 Ruby 运行时的用户。

您可能想查看 Shoes 以使用 Ruby 构建桌面应用程序。 Rails 确实适合构建网站。

You could always consider compiling your Ruby to JVM byte-code (via JRuby) or .NET byte-code (via IronRuby) to distribute to people who have those virtual machines and don't want to install a Ruby runtime.

You might want to check out Shoes for building desktop applications in Ruby. Rails really is tuned for building websites.

厌倦 2024-07-11 16:10:41

您可以通过将 Ruby on Rails 冻结到您想要在项目中使用的 Rails 版本来包含 Ruby on Rails。 他们称之为冻结。 用户无需安装 Rails 即可使用您的应用程序。 您可以使用项目中使用的任何库来执行此操作。 如果项目使用库,只需将其放在项目中的 Vendor 文件夹下即可。 然后使用类似于 @Josh< /a> 回答打包它。

不过,您将需要一个网络服务器来运行该项目。 这是没有办法解决的。 在这方面,Ruby on Rails 就像 ASP.NET 一样,它是一个服务器端框架。 服务器运行代码并使用Rails框架将HTML输出到浏览器。

不幸的是,您可能选择了错误的框架来执行您想要的操作。 除了 Ruby on Rails,您可能还想查看 Shoes,它是一个使用 Ruby 开发 GUI 应用程序的框架。

You can include Ruby on Rails by freezing it to the version of Rails you want to use in your project. They call this Freezing. The user will not have to install Rails to use your application. You can do this with any library you use in your project. If the project uses a library, just place it under the Vendor folder in your project. Then use a tool similar to what @Josh answered with to package it.

You will need a web server to run the project though. There is no way around this. Ruby on Rails is just like ASP.NET in this regard, in that it is a server side framework. The server runs the code and outputs the HTML to the browser by using the Rails framework.

Unfortunately, you may have picked the wrong framework to do what you want. Instead of Ruby on Rails, you may want to check out Shoes, which is a framework for developing GUI applications using Ruby.

请你别敷衍 2024-07-11 16:10:41

请注意,Slingshot 似乎是一个死项目(请参阅评论)。 出于历史目的,我将把这个答案留在这里,并且它很可能会回来

Joyent 的 < strong>Slingshot 可能是一个不错的选择。

Joyent Slingshot 允许开发人员像标准桌面应用程序一样部署 Rails 应用程序,这些应用程序可以在线和离线工作(同步)、具有拖放功能,并与所有其他桌面应用程序交互。

使用 Joyent Slingshot:

  • 创建混合网络/桌面应用程序
  • 同步线上线下数据
  • 在线和离线申请使用相同的代码
  • 轻松部署和更新您的应用
  • 拖入和拖出应用程序

这里有一些进一步的链接可以提供帮助进行评估和/或帮助您开始使用:

Note, Slingshot appears to be a dead project (see comments). I'll leave this answer here for historical purposes and the off-chance that it comes back

Joyent's Slingshot might be a good bet.

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

Here are some further links to help with your evaluation and/or to help you get started:

雨夜星沙 2024-07-11 16:10:41

我个人从来不需要这样做。 但是,我已经阅读过本教程 http://www.erikveen.dds.nl/distributingrubyapplications /rails.html 我认为会有帮助。 本教程介绍了如何将 Rails 应用程序实际转换为独立的 exe 文件。

I have personally never needed to do this. But, I have ran across this tutorial http://www.erikveen.dds.nl/distributingrubyapplications/rails.html that I think will be helpful. The tutorial covers how to actually convert a rails app into a standalone exe file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文